题解:

查分约数系统

1情况:x->y 建立条-z

2情况:y->x 建一条z

3情况:x->y建一条0

然后0对于每一个点见一个0

跑一下最短路,看是否又负环

代码:

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int N=1e5+;
  4. int n,m,pd,x,b[N*],dis[N],f[N],cost[N],num,sl[N],y,z,fi[N],ne[N],zz[N];
  5. void jb(int x,int y,int z)
  6. {
  7. ne[++num]=fi[x];
  8. fi[x]=num;
  9. zz[num]=y;
  10. sl[num]=z;
  11. }
  12. int main()
  13. {
  14. scanf("%d%d",&n,&m);
  15. while (m--)
  16. {
  17. scanf("%d",&pd);
  18. if (pd==)
  19. {
  20. scanf("%d%d%d",&x,&y,&z);
  21. jb(x,y,-z);
  22. }
  23. if (pd==)
  24. {
  25. scanf("%d%d%d",&x,&y,&z);
  26. jb(y,x,z);
  27. }
  28. if (pd==)
  29. {
  30. scanf("%d%d",&x,&y);
  31. jb(x,y,);
  32. }
  33. }
  34. int l=,r=;
  35. f[]=cost[]=;
  36. memset(dis,0x3f,sizeof dis);
  37. dis[]=;
  38. for (int i=;i<=n;i++)jb(,i,);
  39. while (l!=r)
  40. {
  41. int num=b[l++];
  42. l%=(N*);
  43. f[num]=;
  44. for (int i=fi[num];i;i=ne[i])
  45. {
  46. int t=zz[i];
  47. if (dis[t]>dis[num]+sl[i])
  48. {
  49. dis[t]=dis[num]+sl[i];
  50. if (!f[t])
  51. {
  52. f[t]=;
  53. b[r++]=t;
  54. r%=(N*);
  55. cost[t]++;
  56. if (cost[t]>=n)
  57. {
  58. puts("No");
  59. return ;
  60. }
  61. }
  62. }
  63. }
  64. }
  65. puts("Yes");
  66. return ;
  67. }

bzoj3436的更多相关文章

  1. 【BZOJ3436】小K的农场(差分约束)

    [BZOJ3436]小K的农场(差分约束) 题面 由于BZOJ巨慢无比,使用洛谷美滋滋 题解 傻逼差分约束题, 您要是不知道什么是差分约束 您就可以按下\(Ctrl+W\)了 #include< ...

  2. 【BZOJ3436】小K的农场 差分约束

    [BZOJ3436]小K的农场 Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了, ...

  3. [bzoj3436]小K的农场_差分约束

    小K的农场 bzoj-3436 题目大意:给定n个点,每个节点有一个未知权值.现在有m个限制条件,形如:点i比点j至少大c,点i比点j至多大c或点i和点j相等.问是否可以通过给所有点赋值满足所有限制条 ...

  4. bzoj3436小K的农场

    bzoj3436小K的农场 题意: n个数,知道m条关系:a-b≥c.a-b≤c或a==b.问是否存在满足所有关系的情况.n≤10000,m≤10000. 题解: 差分约束.因为只要求是否满足,因此最 ...

  5. BZOJ3436——小K的农场

    1.题意:大概是给一些制约限制,问是否存在合法解 2.分析:我们来观察这三个限制 农场a比农场b至少多种植了c个单位的作物     可以变成b 比 a至多多种了-c 农场a比农场b至多多种植了c个单位 ...

  6. BZOJ3436 小K的农场

    Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得 一些含糊的信息(共m个 ...

  7. BZOJ1202 [HNOI2005]狡猾的商人&&BZOJ3436小K的农场

    差分约束第三题 传送门: 很明显的差分约束,d[y]-d[x-1]>=v d[y]-d[x-1]<=v 根据这个建图然后跑bellman-ford就可以了. //BZOJ 1202 //b ...

  8. BZOJ3436: 小K的农场(差分约束裸题&DFS优化判环)

    3436: 小K的农场 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2111  Solved: 986[Submit][Status][Discus ...

  9. 【bzoj3436】小K的农场 差分约束系统+最长路-Spfa

    原文地址:http://www.cnblogs.com/GXZlegend/p/6801470.html 题目描述 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总 ...

随机推荐

  1. Java I/O(一) NIO概述

    基本概念 BIO:是堵塞I/O,无论是磁盘I/O,还是网络I/O,数据在写入OutputStream和InputStream都可能发生堵塞,一旦有堵塞,线程会失去CPU的使用权(堵塞). NIO:简单 ...

  2. Python高级教程-filter

    Python中的filter() Python内建的filter()函数用于过滤序列.和map()类似,filter()也接收一个函数和一个序列.和map()不同的是,filter()把传入的函数依次 ...

  3. [ngClass]、[ngStyle]的基本使用(转载)

    1.ngStyle 基本用法 <div [ngStyle]="{'background-color':'green'}"></<div> 判断添加 & ...

  4. 创建pfx数字证书

    相关参考: 安全工具: http://msdn.microsoft.com/zh-cn/library/dd233106(v=vs.110).aspx makecert: http://msdn.mi ...

  5. 访问url

    你可以通过 args 属性来访问 URL 中提交的参数 ( ?key=value ): searchword = request.args.get('q', '') from flask import ...

  6. django-admin自定义登录

    这个效果,单位代码是User model 的一个外键Company 通过修改form,然后在前端显示 修改form class AuthenticationForm(forms.Form): &quo ...

  7. PL/SQL编程—控制语句

      SQL> create or replace procedure sp_pro5(id_in varchar2) is v_sal mytest.salary%type; begin sel ...

  8. HDOJ 1501 Zipper 【DP】【DFS+剪枝】

    HDOJ 1501 Zipper [DP][DFS+剪枝] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Ja ...

  9. HDU 3966 Aragorn's Story (树链剖分入门题)

    树上路径区间更新,单点查询. 线段树和树状数组都可以用于本题的维护. 线段树: #include<cstdio> #include<iostream> #include< ...

  10. 亿能测试大讲堂 - YY在线课程[ 测试人员需要掌握的Shell脚本编程 ]

    亿能测试大讲堂 - YY在线课程[ 测试人员需要掌握的Shell脚本编程 ]http://automationqa.com/forum.php?mod=viewthread&tid=2453& ...