题目链接

  不会LCTqwq,看题解似乎SPFA也可以。

  把边按a排序,从小到大每加一条边就以b为距离跑一遍SPFA,类似于Kruskal的想法吧……

  貌似是个暴力

  (luoguLCT模块的题我都快通过了,然而还是不会LCT蛤蛤蛤)

  

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<cstdlib>
  5. #include<cctype>
  6. #include<queue>
  7. #define maxn 50050
  8. #define maxm 500500
  9. using namespace std;
  10. inline long long read(){
  11. long long num=,f=;
  12. char ch=getchar();
  13. while(!isdigit(ch)){
  14. if(ch=='-') f=-;
  15. ch=getchar();
  16. }
  17. while(isdigit(ch)){
  18. num=num*+ch-'';
  19. ch=getchar();
  20. }
  21. return num*f;
  22. }
  23.  
  24. struct Edge{
  25. int from,next,to,vala,valb;
  26. bool operator <(const Edge a)const{
  27. return vala<a.vala;
  28. }
  29. }edge[maxm],d[maxm];
  30. int head[maxn],num;
  31. inline void add(int from,int to,int vala,int valb){
  32. edge[++num]=(Edge){from,head[from],to,vala,valb};
  33. head[from]=num;
  34. }
  35.  
  36. bool vis[maxn];
  37. int dis[maxn];
  38. int n,m;
  39. int spfa(int sta,int stb){
  40. queue<int>q; q.push(); q.push(sta); q.push(stb);
  41. memset(vis,,sizeof(vis)); vis[]=vis[sta]=vis[stb]=;
  42. while(!q.empty()){
  43. int from=q.front();q.pop(); vis[from]=;
  44. for(int i=head[from];i;i=edge[i].next){
  45. int to=edge[i].to;
  46. if(dis[to]<=max(dis[from],edge[i].valb)) continue;
  47. dis[to]=max(dis[from],edge[i].valb);
  48. if(vis[to]) continue;
  49. vis[to]=; q.push(to);
  50. }
  51. }
  52. return dis[n];
  53. }
  54.  
  55. int main(){
  56. freopen("testdata.in.txt","r",stdin);
  57. n=read(),m=read();
  58. for(int i=;i<=m;++i) d[i]=(Edge){read(),,read(),read(),read()};
  59. sort(d+,d+m+);
  60. memset(dis,/,sizeof(dis)); dis[]=;
  61. int ans=0x7fffffff;
  62. for(int i=;i<=m;++i){
  63. add(d[i].from,d[i].to,d[i].vala,d[i].valb);
  64. add(d[i].to,d[i].from,d[i].vala,d[i].valb);
  65. int now=d[i].vala+spfa(d[i].from,d[i].to);
  66. if(now<ans) ans=now;
  67. }
  68. printf("%d\n",ans==?-:ans);
  69. return ;
  70. }

【P2387】魔法森林(SPFA非正解)的更多相关文章

  1. 洛谷—— P2387 魔法森林

    题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2,3,…,n,边标号为 1,2,3,…, ...

  2. BZOJ3110 K大数查询 【线段树 + 整体二分 或 树套树(非正解)】

    Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位置加入一个数c 如果是2 a b c形式,表示询问从第a个位置到第b个位 ...

  3. [Bzoj2120]数颜色 (非正解 )(莫队)

    2120: 数颜色 Time Limit: 6 Sec  Memory Limit: 259 MBSubmit: 6286  Solved: 2489[Submit][Status][Discuss] ...

  4. [P2387魔法森林

    题面 题意: 给出一个图,边权有两维,a与b. 求1到n的一条路径使得路径经过的边的最大的a与b的和最小,输出最小之和. \(Solution:\) 如果做过这题,那么就显得很简单了很好想了. 又是想 ...

  5. BZOJ 3669 [Noi2014]魔法森林 ——SPFA / Link-Cut Tree

    [题目分析] 大意就是有一张图,边权有两个值,ai和bi 找到一条路径,使得路径上的max(ai)+max(bi)最小. 遇到有两个权值或者多个权值的时候,如果他们互相影响,试着用分块搞一搞. 如果互 ...

  6. hdu_5683_zxa and xor(非正解的暴力)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5683 题意: 问题描述 zxa最近对按位异或(exclusive disjunction)产生了极大的 ...

  7. HDU - 5307 :He is Flying (分治+FFT)(非正解)

    JRY wants to drag racing along a long road. There are nn sections on the road, the ii-th section has ...

  8. 洛谷 P2387 [NOI2014]魔法森林 解题报告

    P2387 [NOI2014]魔法森林 题目描述 为了得到书法大家的真传,小 E 同学下定决心去拜访住在魔法森林中的隐 士.魔法森林可以被看成一个包含 n 个节点 m 条边的无向图,节点标号为 1,2 ...

  9. 3669. [NOI2014]魔法森林【LCT 或 SPFA动态加边】

    Description 为了得到书法大家的真传,小E同学下定决心去拜访住在魔法森林中的隐士.魔法森林可以被看成一个包含个N节点M条边的无向图,节点标号为1..N,边标号为1..M.初始时小E同学在号节 ...

随机推荐

  1. 编写C#程序,自动将bing首页图片设为壁纸

    任务目标: 1,获取图片 2,设为壁纸 3,自动化 环境需求: .NET Framework 4.0+, Visual Studio 2017 ==================== 1,获取图片 ...

  2. codeforce Gym 100342H Hard Test (思考题)

    题意:构造让Dijkstra单源最短路算法有效松弛次数最多的数据... 题解:构造,题意换种说法就是更新晚的路径要比更新早的路径短.因为所有点都会更新一次,那么按照更新时间形成一条链,即到最后一个点的 ...

  3. 连接惠普打印机(通过WIFI)

    第一步 找到打印机型号 第二步 到惠普官方网站下载对应驱动 第三步 安装驱动 第四步 安装驱动后选择WIFI连接(IP在打印机显示屏幕上显示,如果输入打印机屏幕IP连接失败:需要获取打印机真正的IP地 ...

  4. 阻止form元素内的input标签回车提交表单

    <form></form>标签内input元素回车会默认提交表单. 阻止回车默认提交表单: $('form').on('keydown', function (event) { ...

  5. python_99_面向对象多态

    #多态:一种接口,多种实现.主要作用:实现接口重用 #方法1: class Animal(object): def __init__(self,name): self.name=name class ...

  6. Maven搭建Struts2+Spring3+Hibernate4框架

    做了三年多的JavaEE开发了,在平时的JavaEE开发中,为了能够用最快的速度开发项目,一般都会选择使用Struts2,SpringMVC,Spring,Hibernate,MyBatis这些开源框 ...

  7. 利用ss5服务搭建代理服务器

    利用ss5服务搭建代理服务器 1. 下载ss5-3.8.9-8.tar.gz ###官网下载http://ss5.sourceforge.net/ 2. 安装ss5 yum -y install gc ...

  8. NOIP2018

    非常糟糕.从未意识到过考场debuff这么严重. 果不其然,高档选手强如txc实力AK:而像我这样的中档选手就是重在考场发挥和自我调整了吧. 究竟要付出多少代价才能领会一个教训 看来要尝试更自闭一点

  9. 【MySql】Mysql ERROR 1067: Invalid default value for ‘date’ 解决

    在给一个表添加字段的时候,忽然发现会报一个date类型的字段的默认值错误,郁闷~ 经过排查,原来是MySQL的配置问题,在wamp下,MySQL 5.7里是没有设置 SQL_MODE 的. 1.my. ...

  10. 设置mysql允许外部连接访问

    错误信息: SQL Error (1130): Host ‘192.168.1.88’ is not allowed to connect to this MySQL server 说明所连接的用户帐 ...