具体情况是这样的:同样的程序,在我自己的电脑上跑出来是正确的结果,而提交到CF的评测机后对于相同的输入数据,结果居然不一样了!反复检查后未发现任何问题。目前怀疑可能与memset有关,因为在一步步修改AC代码以接近我自己写的程序的时候改到这里时标程也出现了同样的状况(我的程序与标程思路完全一样,代码也几乎完全相同)。

  我的程序与标程的对比:

  我的程序:

#include<stdio.h>
#include<string.h>
double p[],ans[],dp[<<+];
int main()
{
//freopen("input.txt","r",stdin);
int N,K;
scanf("%d%d",&N,&K);
memset(ans,,sizeof(ans));
memset(dp,,sizeof(dp));
for (int i=;i<N;i++) scanf("%lf",&p[i]);
dp[]=;
for (int i=;i<(<<N);i++)
{
double sp=;
int cnt=;
for (int j=;j<N;j++)
if ((i&(<<j))==)
{
cnt++;
sp+=p[j];
}
if (N-cnt>K) continue;
for (int j=;j<N;j++)
{
if(p[j]<0.000000001)continue;
if(((<<j)&i)!=)
{
dp[i]+=dp[i-(<<j)]*p[j]/(sp+p[j]);
ans[j]+=dp[i-(<<j)]*p[j]/(sp+p[j]);
}
}
}
for (int i=;i<N;i++) printf("%.9lf ",ans[i]);
//fclose(stdin);
return ;
}

  标程:

#include<stdio.h>
int N, K;
double p[];
double ans[];
double dp[ << + ];
int main()
{
int k;
double sp;
scanf ( "%d%d", &N, &K );
for ( int i = ; i < N; i++ )
{
scanf ( "%lf", &p[i] );
}
dp[] = ;
for ( int i = ; i < ( << N ); i++ )
{
sp = ;
k = ;
for ( int j = ; j < N; j++ )
{
if ( ( ( << j ) &i ) == )
{
sp += p[j];
k++;
}
}
if ( N - k > K ) continue;
for ( int j = ; j < N; j++ )
{
if ( p[j] < 0.000000001 ) continue;
if ( ( ( << j ) &i ) != )
{
dp[i] += dp[i - ( << j )] * p[j] / ( sp + p[j] );
ans[j] += dp[i - ( << j )] * p[j] / ( sp + p[j] );
}
}
}
for ( int i = ; i < N; i++ )
{
printf ( "%.10lf ", ans[i] );
}
return ;
}

  提交记录:

  

  错误结果:

  

  我发誓,在我自己的电脑上运行,无论是我自己的程序还是标程,输出的都是正确结果,偏偏一提交,结果就错了。

#来自codeforces round 363的更多相关文章

  1. Codeforces Round 363 Div. 1 (A,B,C,D,E,F)

    Codeforces Round 363 Div. 1 题目链接:## 点击打开链接 A. Vacations (1s, 256MB) 题目大意:给定连续 \(n\) 天,每天为如下四种状态之一: 不 ...

  2. Codeforces Round #363 (Div. 2)

    A题 http://codeforces.com/problemset/problem/699/A 非常的水,两个相向而行,且间距最小的点,搜一遍就是答案了. #include <cstdio& ...

  3. Codeforces Round #363

    http://codeforces.com/contest/699 ALaunch of Collider 题意:n个球,每个球向左或右,速度都为1米每秒,问第一次碰撞的时间,否则输出-1 贪心最短时 ...

  4. Codeforces Round #363 (Div. 1) B. Fix a Tree 树的拆环

    题目链接:http://codeforces.com/problemset/problem/698/B题意:告诉你n个节点当前的父节点,修改最少的点的父节点使之变成一棵有根树.思路:拆环.题解:htt ...

  5. Codeforces Round #363 (Div. 2) D. Fix a Tree —— 并查集

    题目链接:http://codeforces.com/contest/699/problem/D D. Fix a Tree time limit per test 2 seconds memory ...

  6. Codeforces Round #363 (Div. 2) B. One Bomb —— 技巧

    题目链接:http://codeforces.com/contest/699/problem/B 题解: 首先统计每行每列出现'*'的次数,以及'*'出现的总次数,得到r[n]和c[m]数组,以及su ...

  7. Codeforces Round #363 (Div. 2) C. Vacations —— DP

    题目链接:http://codeforces.com/contest/699/problem/C 题解: 1.可知每天有三个状态:1.contest ,2.gym,3.rest. 2.所以设dp[i] ...

  8. Codeforces Round #363 (Div. 2)A-D

    699A 题意:在一根数轴上有n个东西以相同的速率1m/s在运动,给出他们的坐标以及运动方向,问最快发生的碰撞在什么时候 思路:遍历一遍坐标,看那两个相邻的可能相撞,更新ans #include< ...

  9. Codeforces Round #363 LRU(概率 状压DP)

    状压DP: 先不考虑数量k, dp[i]表示状态为i的概率,状态转移方程为dp[i | (1 << j)] += dp[i],最后考虑k, 状态表示中1的数量为k的表示可行解. #incl ...

随机推荐

  1. ios框架

    iPhone OS(现在叫iOS)是iPhone, iPod touch 和 iPad 设备的操作系统.        1,Core OS: 是用FreeBSD和Mach所改写的Darwin, 是开源 ...

  2. yii2.0框架安装心得

    yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...

  3. ASP.NET的Cookie和Session

    HTTP属于应用层,HTTP协议一共有五大特点:1.支持客户/服务器模式;2.简单快速;3.灵活;4.无连接;5.无状态. 无状态HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就 ...

  4. 12.享元模式(Flyweight Pattern)

    using System; using System.Collections; namespace ConsoleApplication5 { class Program { /// <summ ...

  5. 重温WCF之WCF抛出异常的处理SOAP Fault(十二)

    1.(服务端)抛出和(客户端)捕获SOAP Fault 当我们需要客户端获取到WCF服务端的抛出的异常的时候,使用FaultException类 WCF类库在System.ServiceModel命名 ...

  6. poj 1006:Biorhythms(水题,经典题,中国剩余定理)

    Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 110991   Accepted: 34541 Des ...

  7. C#动态方法调用

    此篇将介绍C#如何在运行时动态调用方法.当某些类型是运行时动态确定时,编译时的静态编码是无法解决这些动态对象或类的方法调用的.此篇则给你一把利剑,让动态对象的方法调用成为可能. 1.动态调用dll里的 ...

  8. Golang Beego 分析(一)

    关于注解路由,实质上其实是comment route. 作者使用ast自动生成注册代码,实质上感觉是画蛇添足了. 有一定的使用价值,但是在代码管理上反而混乱了.所以本人建议不要使用此项特性.

  9. phpcms v9网站搬家更换域名的方法

    PHPCMS 是国内领先的网站管理系统,同时也是一个开源的PHP开发框架. 本文介绍phpcms v9网站搬家更换域名的方法. 1.在新的主机空间把phpcms安装好. 新安装的版本一定要和准备搬迁的 ...

  10. hdu 4041 2011北京赛区网络赛B 搜索 ***

    直接在字符串上搜索,注意逗号的处理 #include<cstdio> #include<iostream> #include<algorithm> #include ...