做网站需要注意哪些,如何快速做企业网站包括商城,深圳市宽带哪个公司的好,竹妃怎么在公众号里做网站正题
P4308 题目大意
给一个图#xff0c;每个点有一个权值 axa_xax#xff0c;当你经过一条边时体力p\times pp#xff08;体力初始为1#xff09;#xff0c;每到一个点造成的贡献为体力ax\times a_xax#xff0c;问最大贡献#xff08;路径可能是无限长的…正题
P4308 题目大意
给一个图每个点有一个权值 axa_xax当你经过一条边时体力×p\times p×p体力初始为1每到一个点造成的贡献为体力×ax\times a_x×ax问最大贡献路径可能是无限长的保留一位小数 解题思路
设 fi,j,kf_{i,j,k}fi,j,k 为从 i 到 j 经过 2k2^k2k 条边的最大贡献然后跑传递闭包
当 k 到一定大小时继续走造成的贡献就会被省去了 code
#includecstdio
#includecstring
#includeiostream
#includealgorithm
#define ll long long
#define N 110
using namespace std;
int n,m,x,y,g;
double ans,p,s[N],f[N][N][60];
int main()
{scanf(%d%d,n,m);for(int i1;in;i)scanf(%lf,s[i]);scanf(%d,g);scanf(%lf,p);for(int i1;in;i)for(int j1;jn;j)for(int k0;k50;k)if(i!j)f[i][j][k]-1e9;for(int i1;im;i){scanf(%d%d,x,y);f[x][y][0]s[y]*p;}for(int c1;c50;c,pp*p)for(int i1;in;i)for(int j1;jn;j)for(int k1;kn;k)f[i][j][c]max(f[i][j][c],f[i][k][c-1]p*f[k][j][c-1]);for(int i1;in;i)ansmax(ans,f[g][i][50]);printf(%.1lf,anss[g]);return 0;
}