发新帖我要提问
12
返回列表
打印
[其他]

灵动集训第三天

[复制链接]
楼主: l63t89
手机看帖
扫描二维码
随时随地手机跟帖
21
l63t89|  楼主 | 2021-1-28 22:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
F题 What is the Probability ?

使用特权

评论回复
22
l63t89|  楼主 | 2021-1-28 22:55 | 只看该作者
思考过程
简单概率题,没有什么难点。

使用特权

评论回复
23
l63t89|  楼主 | 2021-1-28 22:56 | 只看该作者
源代码
#include<stdio.h>
#include<math.h>
int main()
{
        int t, n, i;
        double p;
        scanf("%d", &t);
        while (t--)
        {
                scanf("%d%lf%d", &n, &p, &i);
                printf("%.4f\n", p == 0 ? p : p * pow(1 - p, i - 1) / (1 - pow(1 - p, n)));
        }
        return 0;
}

使用特权

评论回复
24
l63t89|  楼主 | 2021-1-28 23:00 | 只看该作者
遇到问题
无。

使用特权

评论回复
25
l63t89|  楼主 | 2021-1-28 23:02 | 只看该作者
G题 Burger

使用特权

评论回复
26
l63t89|  楼主 | 2021-1-28 23:03 | 只看该作者
思考过程
概率题,需要一个反向思维,有点难想,但听了讲解后挺容易理解的。

使用特权

评论回复
27
l63t89|  楼主 | 2021-1-28 23:04 | 只看该作者
源代码
#include<stdio.h>
#include<string.h>
typedef long long LL;
double dp[100100];
void init()
{
    dp[2]=1.0;
    for(int i=4;i<100100;i+=2)
        dp[i]=dp[i-2]*(i-3)/(i-2);
}
int main()
{
    int n,x;
    scanf("%d",&n);
    init();
    while(n--)
    {
        scanf("%d",&x);
        printf("%.4f\n",1.0-dp[x]);
    }
}

使用特权

评论回复
28
l63t89|  楼主 | 2021-1-28 23:05 | 只看该作者
遇到问题
反向思考不一定能想到

使用特权

评论回复
29
l63t89|  楼主 | 2021-1-28 23:06 | 只看该作者
H题 Coin Toss

使用特权

评论回复
30
l63t89|  楼主 | 2021-1-28 23:07 | 只看该作者

使用特权

评论回复
31
l63t89|  楼主 | 2021-1-28 23:09 | 只看该作者

使用特权

评论回复
32
l63t89|  楼主 | 2021-1-28 23:12 | 只看该作者
思考过程
一开始没啥思路,但看了一个讲解,只要考虑全面,分号类,就没有那么难了。

使用特权

评论回复
33
l63t89|  楼主 | 2021-1-28 23:13 | 只看该作者
源代码
#include <stdio.h>
#include <math.h>
int main()
{
    const double PI=acos(-1.0);
    double area[5];
    double n,m,t,c;
    int cas,i,j;
    double d11,d12,d13,d21,d22;
    scanf("%d",&cas);
    for(i=1;i<=cas;i++)
    {
        scanf("%lf%lf%lf%lf",&n,&m,&t,&c);
        d11=(t-c/2)*(t-c/2)*4;
        d12=(t-c/2)*(t-c)*(n+m-4)*2;
        d13=(t-c)*(t-c)*(n*m-(2*(n+m)-4));
        d21=c*(t-c/2)*((m-1)*2+(n-1)*2);
        d22=c*(t-c)*((m-1)*n+(n-1)*m-(m-1)*2-(n-1)*2);
        area[0]=t*t*n*m;
        area[1]=d11+d12+d13;
        area[2]=d21+d22;
        area[3]=(c*c-PI*(c/2)*(c/2))*(n-1)*(m-1);
        area[4]=PI*c*c/4*(n-1)*(m-1);
        printf("Case %d:\n",i);
        for(j=1;j<=4;j++)
        {
            if(j==1)
                printf("Probability of covering %d tile  = %.4lf%%\n",j,area[j]/area[0]*100);
            else
                printf("Probability of covering %d tiles = %.4lf%%\n",j,area[j]/area[0]*100);
        }
        printf("\n");
    }
    return 0;
}

使用特权

评论回复
34
l63t89|  楼主 | 2021-1-28 23:14 | 只看该作者
遇到问题
此题属于高中的数学题,基本忘得差不多了。

使用特权

评论回复
35
l63t89|  楼主 | 2021-1-28 23:14 | 只看该作者
I题 498-bis

使用特权

评论回复
36
l63t89|  楼主 | 2021-1-28 23:15 | 只看该作者
思考过程
不会做。

使用特权

评论回复
37
l63t89|  楼主 | 2021-1-28 23:16 | 只看该作者
源代码
#include<cstdio>
#include<cmath>
using namespace std;
int main() {
int x, a;
char c;
while(~scanf("%d", &x)) {
int sum = 0;
int ans = 0;
while(~scanf("%d", &a)) {
ans = ans * x + sum;
sum = sum * x + a;
scanf("%c", &c);
if(c == '\n') break;
}
printf("%d\n", ans);
}
return 0;
}

使用特权

评论回复
38
l63t89|  楼主 | 2021-1-28 23:16 | 只看该作者
遇到问题
不会做(⊙﹏⊙)。

使用特权

评论回复
39
l63t89|  楼主 | 2021-1-28 23:17 | 只看该作者
收获:
1.C++到C的流畅转换
2.欧几里得算法及扩展
3.对高中知识进行了一定的回忆
4.知道了还有差分序列这个东西

使用特权

评论回复
40
单片小菜| | 2021-2-4 12:04 | 只看该作者
感觉很高深的样子,没有看明白。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则