题目链接:https://codeforces.com/gym/101667/attachments

题意:有ppp个人,他们各自在不同的图里面,每个图都有一个终点,现在他们都需要从111点同时到达终点,每条边有个边权,每个点也有一个权值,当某个人在该点选择不走时花费为该点点权,问所有人总的最少花费是多少。

解题心得:花费的时间最坏可能是n3n^{3}n3天,在一个点不动可以看成自环,这样可以直接用dpdpdp来表示,dp[i][j][k]dp[i][j][k]dp[i][j][k]表示第iii个人在第kkk天到达jjj点的最少花费是多少,每一天转移一次。


#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll maxn = 1e5+5e4;
const int maxm = 55;
const ll INF = 1e17;ll n[5], p, m[5], End[5];
ll dp[5][maxm][maxn], sp[5][maxm];
vector <pair<ll, ll> > ve[5][maxm];void init() {scanf("%lld", &p);for(ll i=1;i<=p;i++) {scanf("%lld%lld", &n[i], &m[i]);for(ll j=1;j<=n[i];j++) {scanf("%lld", &sp[i][j]);ve[i][j].push_back({j, sp[i][j]});}for(ll j=1;j<=m[i];j++) {ll a, b, c;scanf("%lld%lld%lld", &a, &b, &c);ve[i][a].push_back({b, c});}for(ll j=0;j<maxm;j++) {for(ll k=0;k<maxn;k++)dp[i][j][k] = INF;}scanf("%lld", &End[i]);}
}bool vis[maxm];
void DP() {for(ll z=1;z<=p;z++) {queue<ll> qu1, qu2;dp[z][1][1] = 0;qu1.push(1);for(int t=1;t<maxn;t++) {while (!qu1.empty()) {ll now = qu1.front();qu1.pop();for (ll i = 0; i < ve[z][now].size(); i++) {ll v = ve[z][now][i].first;ll va = ve[z][now][i].second;if (dp[z][v][t + 1] > dp[z][now][t] + va) {dp[z][v][t + 1] = dp[z][now][t] + va;if (!vis[v]) {vis[v] = true;qu2.push(v);}}}}while(!qu2.empty()) {qu1.push(qu2.front());vis[qu2.front()] = false;qu2.pop();}}}
}int main() {//    freopen("1.in.txt", "r", stdin);init();DP();ll Min = INF;for(ll j=1;j<maxn;j++) {ll sum = 0;for(ll z=1;z<=p;z++) {sum += dp[z][End[z]][j];}Min = min(Min, sum);}printf("%lld\n", Min);
}

2017-2018 ACM-ICPC, Asia Daejeon Regional Contest:Gym 101667L相关推荐

  1. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest:Gym 101667C

    题目链接:https://codeforces.com/gym/101667/attachments 题意:现在有一个无向图,一个人要可以随便找一个起点然后选择一条路径去旅游,要求路径从起点开始之后每 ...

  2. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest:Gym 101667B

    题目链接:https://codeforces.com/gym/101667/attachments 题意:有一个4∗44*44∗4的棋盘下三子棋,下棋规则是黑白两方轮流选择某一列,在这一列按行从小到 ...

  3. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest:Gym 101667K

    题目链接:https://codeforces.com/gym/101667/attachments 题意:现在让你从原点开始走,每次给你转向的方向你需要安排每一次转向要走多远并且让整个路径没有交点. ...

  4. 2016 ACM / ICPC Asia dalian Regional Contest 题解(11 / 11)【每日亿题2021 / 2 / 17】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A .(2017 ACM ICPC dalian H)To begin or not to be ...

  5. 2017 ACM ICPC Asia Shenyang Regional Contest 题解(10 / 13)【每日亿题2 / 16】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A.(2017 ICPC shenyang I)Little Boxes B.(2017 ICP ...

  6. 2018 ICPC Asia Jakarta Regional Contest

    2018 ICPC Asia Jakarta Regional Contest 题号 题目 知识点 难度 A Edit Distance B Rotating Gear C Smart Thief D ...

  7. The 2019 ICPC Asia Shanghai Regional Contest

    The 2019 ICPC Asia Shanghai Regional Contest 题号 题目 知识点 A Mr. Panda and Dominoes B Prefix Code C Maze ...

  8. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest

    2017-2018 ACM-ICPC, Asia Daejeon Regional Contest 题号 题目 难度 知识点 A Broadcast Stations B Connect3 C Gam ...

  9. 2017-2018 ACM-ICPC, Asia Daejeon Regional Contest (大部分题解)

    2017-2018 ACM-ICPC, Asia Daejeon Regional Contest ECFINAL PK赛. C 签到题. DAG上的dp. D 签到题. 根据数据范围可知暴力即可. ...

最新文章

  1. ZBar与ZXing使用后感觉
  2. html在页面上div绝对定位,html – 中心浮动div在绝对定位div内
  3. Python中线程Timeout的使用
  4. vc中出现stack overflow错误(VS设置默认栈大小)
  5. 文本和代码文件助手软件
  6. PyODPS学习:使用DataFrame实现SQL的IF判断
  7. cfa mock exam 2020下载_2019年6月CFA考试为什么一定要做MOCK?
  8. MySQL迁移到ClickHouse方案
  9. dxf转nc代码软件_Window绝赞的6款软件,效率加班党必备,快到惊人!
  10. C++_结构体中const使用场景_结构体_毕业设计案例_使用结构体数组_随机数种子---C++语言工作笔记027
  11. 【Spring第三篇】什么是Bean?
  12. fscanf读出来的数字不正确_听了那么多数字英文儿歌,这位牛妈的做法却最能引导孩子输出!...
  13. java运行提示runtime,Java 执行运行时命令 Runtime
  14. ACGAN(Auxiliary Classifier GAN)详解与实现(tensorflow2.x实现)
  15. Hotpatching a C Function on x86
  16. python与开源_Python与开源GIS
  17. Java EE开发系列教程 - 使用EJB组件与JPA层交互
  18. 在Hbuilder X中配置夜神模拟器
  19. python socket编程在阿里云的esc服务器下 [Errno 99] Cannot assign requested address解决方式
  20. Linux菜鸟笔记——修改默认语系

热门文章

  1. Java大数据开发知识体系简介
  2. np.arange()函数
  3. GPU和CPU芯片区别:为何要用GPU挖矿?
  4. 零基础入门数据挖掘-Task3 特征工程
  5. 电视直播加点播,800+直播频道全网影视资源
  6. Python通过word模板生成新的word文件
  7. Navigating to current location (/login) is not allowed
  8. 最简单的无线充电传输电路
  9. 360度全景图片怎么拍摄?
  10. 联想小新笔记本电脑显示很暗, 教你如何将将其亮度调到最高