赛后总结(Codeforces Round #399 Div. 1)

来源:互联网 发布:淘宝九一一正品折扣店 编辑:程序博客网 时间:2024/06/06 07:30
  • C.没有什么好说的直接计数排序即可

  • D.好好复习一下概率DP(白学了)

    • 我们好好看看想想:对于每一天会随机等概率产生一个魔法球:我们可以想到什么
      概率Dp没错吧: e[i][j]=e[i][j1]i/n+e[i1][j1](ni+1)/n
dp[0] = 1;    for(int n = 1; d <= 1000; n++) {        for(int x = k; x > 0; --x)            dp[x] = (x * dp[x] + (k - x + 1) * dp[x - 1]) / k;        while(d <= 1000 && 2000 * dp[k] >= (d - eps)) {            ans[d] = n;            d++;        }        dp[0] = 0;    }
  • E.来,入门博弈。。。
    • 对于这种博弈题我们是很 容易看出来的
      对于该题恶心的限制我们可以通过把每堆的石头分成1,2,3,4,5......n个部分
      把每个部分当成一个石头即可
int main() {    int n,x,f=0;    cin>>n;    while(n--) {        scanf("%d",&x);        int i=1,k=1;        while(x>=i)x-=i,k=i++;        f^=k;    }    puts(f?"NO":"YES");}
2 0
原创粉丝点击