BZOJ 2306: [Ctsc2011]幸福路径
来源:互联网 发布:mac怎么截图怎么保存 编辑:程序博客网 时间:2024/05/16 07:11
虽说是无限长的路 可是随着p的减小 就不会影响到答案了
所以就跑倍增floyd (关于倍增floyd之前貌似具体说过 其实也挺好理解的吧?
精度还真是个玄学的东西QAQ
#include<bits/stdc++.h>using namespace std;const int N=101,inf=1e9;inline int read(){ char ch=getchar(); int x=0,f=1; while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();} while(ch>='0'&&ch<='9'){x=(x<<3)+(x<<1)+ch-'0'; ch=getchar();} return x*f;}double w[N],p,f[N][N][2];int main(){ int n=read(),m=read(),i,j,k,st,x,y; for(i=1;i<=n;i++) scanf("%lf",&w[i]); st=read(); scanf("%lf",&p); for(i=1;i<=n;i++)for(j=1;j<=n;j++)f[i][j][0]=i==j?0:-inf; for(i=1;i<=m;i++){ x=read(),y=read(); f[x][y][0]=w[y]*p; } int nw=0; for(double u=p;u>5*1e-8;u=u*u){ for(i=1;i<=n;i++)for(j=1;j<=n;j++) f[i][j][nw^1]=-inf; for(k=1;k<=n;k++)for(i=1;i<=n;i++)for(j=1;j<=n;j++) f[i][j][nw^1]=max(f[i][j][nw^1],f[i][k][nw]+f[k][j][nw]*u); nw^=1; } double ans=0; for(i=1;i<=n;i++)ans=max(ans,f[st][i][nw]); printf("%.1lf\n",ans+w[st]); return 0;}
2 0
- BZOJ 2306: [Ctsc2011]幸福路径
- [bzoj]2306: [Ctsc2011]幸福路径
- bzoj 2306: [Ctsc2011]幸福路径
- bzoj 2306: [Ctsc2011]幸福路径
- BZOJ 2306 Ctsc2011 幸福路径 倍增Floyd
- bzoj 2306: [Ctsc2011]幸福路径 倍增+floyed
- 2306: [Ctsc2011]幸福路径
- BZOJ 2306 [Ctsc2011] 幸福路径 [倍增+floyd做法]
- BZOJ 2306 [Ctsc2011] 幸福路径 [期望DP做法]
- BZOJ2306/Ctsc2011 幸福路径
- BZOJF2306 [Ctsc2011]幸福路径
- bzoj 2306 幸福路径 【floyd】【dp】
- 【bzoj2360】【cstc2011】【幸福路径】【倍增+floyd】
- 【重口味。。】CTSC2011杀菌计划
- 【BZOJ】【双倍的幸福】【双(三)倍的经验】
- BZOJ 2500 幸福的道路 树形DP+单调队列
- bzoj 2500: 幸福的道路 动态规划+单调栈
- bzoj 2500 幸福的道路 dfs 单调队列
- IDEA如何设置不区分代码的大小写
- eclipse项目报错怎么解决class path resource [beans.xml] cannot be opened because it does not exist
- update-rc.d---ubuntu中替代chkconfig
- iOS NSFileManager文件操作
- Linux文本处理三剑客(grep)
- BZOJ 2306: [Ctsc2011]幸福路径
- 第三章 PX4-Pixhawk-SPI底层驱动解析
- c++第四次作业报告
- leetcode题解-169. Majority Element && 189. Rotate Array
- GitHub环境配置
- android---从相册中选择图片
- java的动态代理机制详解
- 生成 .chm 格式帮助文档
- Action_H5