当前位置: 首页 > wzjs >正文

php网站搬家教程重庆建一个网站

php网站搬家教程,重庆建一个网站,apmserv网站模板,网站实名认证在哪题目链接 https://www.luogu.com.cn/problem/P1850 思路 令 f [ i ] [ j ] [ 0 / 1 ] f[i][j][0/1] f[i][j][0/1]分别表示已经上完前 i i i节课,使用了 j j j次交换申请,且第 i i i节课不适用交换申请 o r or or第 i i i节课使用交换申请的移动耗费的…

题目链接

https://www.luogu.com.cn/problem/P1850

思路

f [ i ] [ j ] [ 0 / 1 ] f[i][j][0/1] f[i][j][0/1]分别表示已经上完前 i i i节课,使用了 j j j次交换申请,且第 i i i节课不适用交换申请 o r or or i i i节课使用交换申请的移动耗费的体力值的总和的期望值的最小值。

d i s t [ i ] [ j ] dist[i][j] dist[i][j]表示从第 i i i个教室到第 j j j个教室的最短路,因为数据范围较小,使用 f l o y d floyd floyd求解即可。

则状态转移方程为:

f [ i ] [ j ] [ 0 ] = m i n ( f [ i ] [ j ] [ 0 ] , f [ i − 1 ] [ j ] [ 0 ] + d i s t [ c [ i − 1 ] ] [ c [ i ] ] ) f[i][j][0] = min(f[i][j][0],f[i - 1][j][0] + dist[c[i - 1]][c[i]]) f[i][j][0]=min(f[i][j][0],f[i1][j][0]+dist[c[i1]][c[i]])

f [ i ] [ j ] [ 0 ] = m i n ( f [ i ] [ j ] [ 0 ] , f [ i − 1 ] [ j ] [ 1 ] + ( 1 − k [ i − 1 ] ) ∗ d i s t [ c [ i − 1 ] ] [ c [ i ] ] + k [ i − 1 ] ∗ d i s t [ d [ i − 1 ] ] [ c [ i ] ] ) f[i][j][0] = min(f[i][j][0],f[i - 1][j][1] + (1 - k[i - 1]) * dist[c[i - 1]][c[i]] + k[i - 1] * dist[d[i - 1]][c[i]]) f[i][j][0]=min(f[i][j][0],f[i1][j][1]+(1k[i1])dist[c[i1]][c[i]]+k[i1]dist[d[i1]][c[i]])

f [ i ] [ j ] [ 1 ] = m i n ( f [ i ] [ j ] [ 1 ] , f [ i − 1 ] [ j − 1 ] [ 0 ] + ( 1 − k [ i ] ) ∗ d i s t [ c [ i − 1 ] ] [ c [ i ] ] + k [ i ] ∗ d i s t [ c [ i − 1 ] ] [ d [ i ] ] ) f[i][j][1] = min(f[i][j][1],f[i - 1][j - 1][0] + (1 - k[i]) * dist[c[i - 1]][c[i]] + k[i] * dist[c[i - 1]][d[i]]) f[i][j][1]=min(f[i][j][1],f[i1][j1][0]+(1k[i])dist[c[i1]][c[i]]+k[i]dist[c[i1]][d[i]])

f [ i ] [ j ] [ 1 ] = m i n ( f [ i ] [ j ] [ 1 ] , f [ i − 1 ] [ j − 1 ] [ 1 ] + ( 1 − k [ i − 1 ] ) ∗ ( 1 − k [ i ] ) ∗ d i s t [ c [ i − 1 ] ] [ c [ i ] ] + k [ i − 1 ] ∗ ( 1 − k [ i ] ) ∗ d i s t [ d [ i − 1 ] ] [ c [ i ] ] + ( 1 − k [ i − 1 ] ) ∗ k [ i ] ∗ d i s t [ c [ i − 1 ] ] [ d [ i ] ] + k [ i − 1 ] ∗ k [ i ] ∗ d i s t [ d [ i − 1 ] ] [ d [ i ] ] ) f[i][j][1] = min(f[i][j][1],f[i - 1][j - 1][1]+(1 - k[i - 1]) * (1 - k[i]) * dist[c[i - 1]][c[i]]+k[i - 1] * (1 - k[i]) * dist[d[i - 1]][c[i]]+(1 - k[i - 1]) * k[i] * dist[c[i - 1]][d[i]]+k[i - 1] * k[i] * dist[d[i - 1]][d[i]]) f[i][j][1]=min(f[i][j][1],f[i1][j1][1]+(1k[i1])(1k[i])dist[c[i1]][c[i]]+k[i1](1k[i])dist[d[i1]][c[i]]+(1k[i1])k[i]dist[c[i1]][d[i]]+k[i1]k[i]dist[d[i1]][d[i]])

代码

#include <bits/stdc++.h>using namespace std;#define int long long
#define double long double
#define endl "\n"typedef long long i64;
typedef unsigned long long u64;
typedef pair<int, int> pii;const int N = 2e3 + 5, M = 3e2 + 5;
const int mod = 1e9 + 7;
const int inf = 1e9;
const double eps = 1e-6;std::mt19937 rnd(time(0));int n, m, v, e;
int c[N], d[N], dist[M][M];
double k[N];
double f[N][N][2];
void floyd(int maxx)
{for (int k = 1; k <= maxx; k++){for (int i = 1; i <= maxx; i++){for (int j = 1; j <= maxx; j++){dist[i][j] = min(dist[i][k] + dist[k][j], dist[i][j]);}}}
}
void solve(int test_case)
{cin >> n >> m >> v >> e;for (int i = 1; i <= n; i++){cin >> c[i];}for (int i = 1; i <= n; i++){cin >> d[i];}for (int i = 1; i <= n; i++){cin >> k[i];}int maxx = 300;for (int i = 1; i <= maxx; i++){for (int j = 1; j <= maxx; j++){dist[i][j] = inf;}}for (int i = 1; i <= maxx; i++)dist[i][i] = 0;for (int i = 1, a, b, w; i <= e; i++){cin >> a >> b >> w;dist[a][b] = min(dist[a][b], w);dist[b][a] = min(dist[b][a], w);}floyd(maxx);for (int i = 1; i <= n; i++){for (int j = 0; j <= min(i, m); j++){f[i][j][0] = f[i][j][1] = (double)(1e18);}}f[1][0][0] = 0;f[1][1][1] = 0;for (int i = 2; i <= n; i++){for (int j = 0; j <= min(i, m); j++){double res = 0;if (j < i){f[i][j][0] = min(f[i][j][0], f[i - 1][j][0] + dist[c[i - 1]][c[i]]);res = f[i - 1][j][1] + ((double)(1) - k[i - 1]) * dist[c[i - 1]][c[i]] + k[i - 1] * dist[d[i - 1]][c[i]];f[i][j][0] = min(f[i][j][0], res);}if (j){res = f[i - 1][j - 1][0] + ((double)(1) - k[i]) * dist[c[i - 1]][c[i]] + k[i] * dist[c[i - 1]][d[i]];f[i][j][1] = min(f[i][j][1], res);res = f[i - 1][j - 1][1];res += ((double)(1) - k[i - 1]) * ((double)(1) - k[i]) * dist[c[i - 1]][c[i]];res += k[i - 1] * ((double)(1) - k[i]) * dist[d[i - 1]][c[i]];res += ((double)(1) - k[i - 1]) * k[i] * dist[c[i - 1]][d[i]];res += k[i - 1] * k[i] * dist[d[i - 1]][d[i]];f[i][j][1] = min(f[i][j][1], res);}}}double ans = 1e18;for (int i = 0; i <= m; i++){ans = min({ans, f[n][i][0], f[n][i][1]});}cout << fixed << setprecision(2) << ans << endl;
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int test = 1;// cin >> test;for (int i = 1; i <= test ; i++){solve(i);}return 0;
}

文章转载自:

http://3B8xyPUB.kLrpm.cn
http://0RIk7VIZ.kLrpm.cn
http://1nv2xcuW.kLrpm.cn
http://7QgU5Ezh.kLrpm.cn
http://h42OSqgX.kLrpm.cn
http://TdJilPKx.kLrpm.cn
http://kzmlQz6R.kLrpm.cn
http://qMHDEpuS.kLrpm.cn
http://5SjVWR7d.kLrpm.cn
http://0EhzKw75.kLrpm.cn
http://wiNcGBiZ.kLrpm.cn
http://DSPmwgDJ.kLrpm.cn
http://RZq4yjBy.kLrpm.cn
http://eJHGm7nQ.kLrpm.cn
http://j25bl53d.kLrpm.cn
http://ifiPp8DT.kLrpm.cn
http://HI7XxoKi.kLrpm.cn
http://Ig4O8uwk.kLrpm.cn
http://WHhxjhx4.kLrpm.cn
http://Ecm5nzAW.kLrpm.cn
http://lFytbgYl.kLrpm.cn
http://J2HCfGGh.kLrpm.cn
http://61ZEDtWh.kLrpm.cn
http://7kBG0Amf.kLrpm.cn
http://EgC4VV4a.kLrpm.cn
http://k1OYjyh6.kLrpm.cn
http://ZDiY9qPl.kLrpm.cn
http://phpM8NiP.kLrpm.cn
http://GFF15NF4.kLrpm.cn
http://UjGkbQ4M.kLrpm.cn
http://www.dtcms.com/wzjs/636612.html

相关文章:

  • 网站设计与网页制作心得体会阜阳网站建设电话
  • 中国建设协会网站万网买好域名后如何开通网站
  • 开淘宝的店铺网站怎么做wordpress如何设计主页
  • 发帖秒收录的网站wordpress 导入word
  • 合肥做的比较好的网站有那几家广东省农业农村厅官网首页
  • 北京做网站推广小米的网络营销方式
  • 官方查企业信息的网站注册查询官方网站
  • 做自媒体网站需要注册什么公司数码科技网站
  • 景区网站建设外包公司一个人头挣多少钱
  • wordpress卡密网站源码跨境电商最好的平台
  • 网站建设一般需要多少钱一个网站可以优化多少关键词
  • 江苏省建设厅网站是网页qq邮箱登录入口
  • 金融企业网站源码重庆排名前十的互联网公司
  • 淘宝客网站的模板学院网站建设需求分析
  • 新乡商城网站建设哪家专业制作做动画的网站
  • 长沙哪个网站建设最好珠宝网站模版
  • 网站推广seo方法网站建设开发教程视频
  • 网站软文代写网站建设费摊销
  • 建立一个网站的步骤汕头百姓网二手房出售
  • 网站建设与管理实验目的道可道在线设计平台
  • 汽车用品网站网站建设引领者
  • 全球访问量最大的10个网站地产网站互动营销
  • 亿客搜网站建设英文商务网站制作
  • 网站页面设计论文怎么免费自己做网站
  • 慈溪网站制作哪家最便宜公司介绍ppt范例内容
  • 合肥的网站建设网站建设 织梦者
  • 自己做菠菜网站有什么网上做c 的网站
  • 设计头像网站免费推荐商城网站建设需要
  • 网站工程和网络工程有什么区别网站微信支付开发
  • 邢台移动网站建设公司做网站需要哪些素材