CodeForces 605E
来源:互联网 发布:武汉医院网络总监招聘 编辑:程序博客网 时间:2024/05/14 07:04
[http://blog.csdn.net/u013654696/article/details/51932347]
dp[i]从i到n 的最少时间
如果i可以到达j,但是dp[j]>dp[i]我们肯定宁愿等着,也不会去j,
#include<cstdio>#include<iostream>#include<cstring>#include<cmath>using namespace std;const int N=1100;const double INF=1e20;const double eps=1e-12;int sig(double a){ if(fabs(a)<eps)return 0; if(a<0)return -1; else return 1;}double A[N],B[N],dis[N];int vis[N];double p[N][N];int main(){ #ifdef DouBi freopen("in.cpp","r",stdin); #endif // DouBi int n; while(scanf("%d",&n)!=EOF){ for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ scanf("%lf",&p[i][j]); p[i][j]/=100; } } for(int i=0;i<n;i++){ A[i]=B[i]=1,dis[i]=INF; } memset(vis,0,sizeof(vis)); dis[n-1]=0; for(int i=0;i<n;i++){ double tmp=1e10;int id=-1; for(int j=0;j<n;j++)if(!vis[j]&&dis[j]<tmp){ tmp=dis[j],id=j; } if(id==-1)break; vis[id]=1; //printf("%d %lf\n",id,dis[id]); for(int j=0;j<n;j++)if(!vis[j]){ B[j]+=A[j]*p[j][id]*dis[id]; A[j]*=(1-p[j][id]); } for(int j=0;j<n;j++)if(!vis[j]){ //printf("%dj %lf\n",j,A[j]); if(sig(1-A[j])==0)continue; dis[j]=B[j]/(1-A[j]); } } printf("%.10lf\n",dis[0]); } return 0;}
0 0
- CodeForces 605E
- CodeForces 605E Intergalaxy Trips (概率)
- codeforces 163E e-Government
- 【Codeforces 163E】E-Government
- Codeforces 78E Evacuation
- 【dp】codeforces 83E
- Codeforces 124 E
- Codeforces 231E
- Codeforces 231E - Cactus
- Codeforces #163 Div2 E
- codeForces 35E
- Codeforces 35E
- Playlist codeforces 268E
- Codeforces 148E(Porcelain)
- codeforces round#177 E
- codeforces 203E Transportation
- CodeForces 254 E Dormitory
- codeforces日记371e
- android studio proguard-rule 混淆脚本
- Nginx 安装配置
- 七牛云存储之批量操作文件
- android Fragment onActivityResult回调
- WPF自定义Popup窗口随动非顶层不屏蔽输入法
- CodeForces 605E
- k-meas非监督聚类分析
- linux 查看文件夹下的文件个数(当前目录的文件数)//包含子目录
- Java并发编程:线程池的使用(ThreadPoolExecutor)
- Java中的文件编码方式
- 企业号、企业微信、企业邮箱三者融合,IBOS微信生态掘金之路
- happens-before俗解
- 防止HttpClient重复请求
- 四、大话设计模式 之 代理模式