BZOJ 1922: [Sdoi2010]大陆争霸
Description
Input
Output
Sample Input
1 2 1
1 4 3
2 3 1
2 5 2
4 6 2
5 3 2
0
0
0
1 3
0
2 3 5
Sample Output
HINT
对于 20%的数据,满足 N≤15,M≤50;
对于 50%的数据,满足 N≤500,M≤6,000;
对于 100%的数据,满足 N≤3,000,M≤70,000,1≤wi≤108
。
输入数据保证一定有解,且不会存在维持某个城市结界的结界发生器在这个
城市内部。
连接两个城市的道路可能不止一条, 也可能存在一个城市自己到自己的道路。
1 /************************************************************** 2 Problem: 1922 3 User: Hammer_cwz_77 4 Language: C++ 5 Result: Accepted 6 Time:640 ms 7 Memory:38824 kb 8 ****************************************************************/ 9 10 #include<bits/stdc++.h> 11 #define pa pair<int,int> 12 using namespace std; 13 typedef long long ll; 14 const int gg=3005; 15 int n,m,cnt; 16 int head[70050]; 17 int d1[70050],d2[70050],d[70050]; 18 int l[70050],a[gg][gg]; 19 bool vis[70050]; 20 struct node{ 21 int to; 22 int net; 23 int w; 24 }e[70050]; 25 void add(int i,int j,int w) 26 { 27 e[++cnt].to=j; 28 e[cnt].net=head[i]; 29 e[cnt].w=w; 30 head[i]=cnt; 31 } 32 priority_queue<pa,vector<pa>,greater<pa> >q; 33 inline void dij() 34 { 35 memset(d1,0x7f/3,sizeof(d1)); 36 q.push(make_pair(0,1)); 37 d1[1]=0; 38 while(!q.empty()) 39 { 40 int now=q.top().second; 41 q.pop(); 42 if(vis[now]) 43 continue; 44 vis[now]=true; 45 int maxn=max(d1[now],d2[now]); 46 for(int i=head[now];i;i=e[i].net) 47 { 48 if(maxn+e[i].w<d1[e[i].to]) 49 { 50 d1[e[i].to]=maxn+e[i].w; 51 int tmp=max(d1[e[i].to],d2[e[i].to]); 52 if(!d[e[i].to]) 53 q.push(make_pair(tmp,e[i].to)); 54 } 55 } 56 for(int i=1;i<=l[now];i++) 57 { 58 int t=a[now][i]; 59 d[t]--; 60 d2[t]=max(d2[t],maxn); 61 int tmp=max(d1[t],d2[t]); 62 if(!d[t]) 63 q.push(make_pair(tmp,t)); 64 } 65 } 66 printf("%d\n",max(d1[n],d2[n])); 67 } 68 int main() 69 { 70 cin>>n; 71 cin>>m; 72 for(int i=1;i<=m;i++) 73 { 74 int u,v,w; 75 cin>>u>>v>>w; 76 if(u!=v) 77 add(u,v,w); 78 } 79 for(int i=1;i<=n;i++) 80 { 81 cin>>d[i]; 82 for(int j=1;j<=d[i];j++) 83 { 84 int u; 85 cin>>u; 86 a[u][++l[u]]=i; 87 } 88 } 89 dij(); 90 return 0; 91 }
转载于:https://www.cnblogs.com/Hammer-cwz-77/p/8511299.html
BZOJ 1922: [Sdoi2010]大陆争霸相关推荐
- [Bzoj 1922] [SDOI2010] 大陆争霸
1922: [Sdoi2010]大陆争霸 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 2274 Solved: 1025 [Submit][Sta ...
- AC日记——[SDOI2010]大陆争霸 洛谷 P3690
[SDOI2010]大陆争霸 思路: dijkstra模板: 代码: #include <bits/stdc++.h> using namespace std; #define maxn ...
- P2446 [SDOI2010]大陆争霸
P2446 [SDOI2010]大陆争霸 题意: n个点,m个边,wi为每个边的边权,对于每个点i,其被l个点保护着,也就是如果保护其的点没有被破坏,点i无法被破坏(也无法经过其前往其他点).现在从1 ...
- BZOJ1922: [Sdoi2010]大陆争霸
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1922 带限制最短路. 每个点真正的dis是max(dis[i],dis[v]),v是其保护点. ...
- B1922 [Sdoi2010]大陆争霸 最短路
我一直都不会dij的堆优化,今天搞了一下...就是先弄一个优先队列,存每个点的数据,然后这个题就加了一点不一样的东西,每次的最短路算两次,一次是自己的最短路,另一次是机关的最短路,两者取最大值才是该点 ...
- BZOJ1922 SDOI2010 大陆争霸 最短路
题意:给定一个图,图中有保护关系(u,v)表示到v之前必须先到一次u,求从1到N的最短路 题解: 定义d1[i]为直接到达i的最短距离,这个的更新和普通的Dijkstra一样 定义d2[i]为解除i的 ...
- BZOJ-1922 大陆争霸 多限制、分层图最短路 (堆+dijkstra)
1922: [Sdoi2010]大陆争霸 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1154 Solved: 478 [Submit][Status ...
- BZOJ 1923: [Sdoi2010]外星千足虫
1923: [Sdoi2010]外星千足虫 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 921 Solved: 592 [Submit][Stat ...
- bzoj 1975: [Sdoi2010]魔法猪学院 [k短路]
1975: [Sdoi2010]魔法猪学院 裸题... 被double坑死了 #include <iostream> #include <cstdio> #include &l ...
最新文章
- postgres语法_SQL Create Table解释了MySQL和Postgres的语法示例
- 拖拽的原生和jQuery写法
- 这家中国AI公司,正在打入新加坡AI“腹地”
- Linux命令行文档查看cat、less、more、head、tail和图片查看
- python冒泡排序_5种python方法实现冒泡排序可视化:Bubble Sort Visualizer
- assert()用法
- 揭秘《英雄联盟》客户端更新运行自动化测试
- resnet系列+mobilenet v2+pytorch代码实现
- JavaScript实现类与继承
- Oracle 函数大全
- 诺基亚 8208支持java么_诺基亚8_诺基亚8208怎么上网_8208 诺基亚
- 服务器远程管理与监控
- PM_29 实施条例、合同法、著作权法
- html5 答题器页面,梦幻西游网页版科举答题器答案大全
- Android深入源码分析理解Aidl整体调用流程(雷惊风)
- 电脑桌面图标不见了怎么办如果电脑图标不见了,可以尝试以下方法:
- thinkadmin打印sql语句调试sql
- 个人博客配置SSL安全文件
- .NET MVC 后台接受base64的上传图片
- 学物联网必须要知道的云平台ThingsBoard
热门文章
- Java并发编程之Semaphore信号量
- LINUX线程同步:原子操作、锁、二元信号量、信号量、互斥量、临界区、读写锁、条件变量等
- 如何写一份好的求职简历
- 【算法】迪杰斯特拉算法 最短路径算法
- 【redis】redis 各种数据类型应用和实现方式
- 【Elasticsearch】elasticsearch 压缩索引 shrink
- 【es】ElasticSearch master 选举
- 【Clickhouse】ClickHouse REST API(HTTP接口)及Engine引擎的使用
- 【clickhouse】clickhouse 临时表
- 【Elasticsearch】Elasticsearch之集群角色类型