嘉兴哪里可以做淘宝网站wordpress jquery异步请求
news/
2025/10/8 14:38:55/
文章来源:
嘉兴哪里可以做淘宝网站,wordpress jquery异步请求,国家免费24小时律师咨询,WordPress无刷新登录题目#xff1a;洛谷P1850、UOJ#262、BZOJ4720、Vijos P2005。 题目大意#xff1a;有n个时间段#xff0c;第i个时间段只能在教室$c_i$上课#xff0c;另一个上这门课的教室在$d_i$。现在你最多可以进行m次申请#xff0c;对于第i个时间段的申请如果成功#xff0c;那么…题目洛谷P1850、UOJ#262、BZOJ4720、Vijos P2005。 题目大意有n个时间段第i个时间段只能在教室$c_i$上课另一个上这门课的教室在$d_i$。现在你最多可以进行m次申请对于第i个时间段的申请如果成功那么就能在$d_i$教室上课但成功率为$p_i$。且教室与教室之间用e条双向道路连接每条路有一个耗费体力的值。问申请哪几门课程可以使因在教室间移动耗费的体力值的总和的期望值最小。 解题思路这是一道期望dp问题。对于每一时间段第一时间段除外我们可以分为这么几种情况。 ①该时间段不申请 1.上时间段申请 成功/失败 2.上时间段不申请 ②该时间段申请 1.该时间段申请 成功/失败 and 上时间段申请 成功/失败 2.上时间段不申请 设f[i][j][0], f[i][j][1]表示当前在第i个时间段申请了j个教室0表示申请不通过1表示申请通过最小耗费体力的期望值。 dis[i][j]表示教室i到教室j的最短路。 综合以上几点情况可得以下状态转移方程 $f(i,j,0)min(f(i-1,j,0)dis(c_{i-1},c_i),f(i-1,j,1)dis(d_{i-1}c_i)*p_{i-1}dis(c_{i-1},c_i)*(1-p_{i-1}))$$f(i,j,1)min(f(i-1,j-1,0)dis(c_{i-1},d_i)*p_idis(c_{i-1},c_i)*(1-p_i),f(i-1,j-1,1)dis(d_{i-1},d_i)*p_{i-1}*p_idis(d_{i-1},c_i)*p_{i-1}*(1-p_i)dis(c_{i-1},d_i)*(1-p_{i-1})*p_idis(c_{i-1},c_i)*(1-p_{i-1})*(1-p_i))$ dis用floyd求出注意dis[i,i]0 那么时间复杂度为$O(v^3nm)$。空间复杂度为$O(v^2nm)$可以用滚动数组优化为$O(v^2m)$。 C Code #includecstdio
#includecstring
using namespace std;
int n,m,v,e,c[2002],d[2002],dis[302][302];
double p[2002],f[2][2002][2];
templatetypename T
inline T min(T a,T b){return(ab)?a:b;}
int main(){scanf(%d%d%d%d,n,m,v,e);memset(dis,0x3f,sizeof dis);for(int i1;in;i)scanf(%d,c[i]);for(int i1;in;i)scanf(%d,d[i]);for(int i1;in;i)scanf(%lf,p[i]);while(e--){int u,v,t;scanf(%d%d%d,u,v,t);dis[u][v]dis[v][u]min(dis[u][v],t);}for(int i1;iv;i)dis[i][i]0;for(int k1;kv;k)for(int i1;iv;i)if(i!k)for(int j1;jv;j)if(i!jj!k)dis[i][j]min(dis[i][j],dis[i][k]dis[k][j]);memset(f,0x7f,sizeof f);f[1][0][0]f[1][1][1]0;for(int i2;in;i){memset(f[i1],0x7f,sizeof f[i1]);f[i1][0][0]f[i1^1][0][0]dis[c[i-1]][c[i]];for(int j1;jijm;j){f[i1][j][0]min(f[i1^1][j][0]dis[c[i-1]][c[i]],f[i1^1][j][1]dis[d[i-1]][c[i]]*p[i-1]dis[c[i-1]][c[i]]*(1-p[i-1]));f[i1][j][1]min(f[i1^1][j-1][0]dis[c[i-1]][d[i]]*p[i]dis[c[i-1]][c[i]]*(1-p[i]),f[i1^1][j-1][1]dis[d[i-1]][d[i]]*p[i-1]*p[i]dis[d[i-1]][c[i]]*p[i-1]*(1-p[i])dis[c[i-1]][d[i]]*(1-p[i-1])*p[i]dis[c[i-1]][c[i]]*(1-p[i-1])*(1-p[i]));}}double ansf[n1][0][0];for(int i1;im;i){ansmin(ans,f[n1][i][0]);ansmin(ans,f[n1][i][1]);}printf(%.2f\n,ans);return 0;
}转载于:https://www.cnblogs.com/Mrsrz/p/7603447.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931611.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!