BZOJ1202 [HNOI2005]狡猾的商人&&BZOJ3436小K的农场
差分约束第三题
很明显的差分约束,d[y]-d[x-1]>=v d[y]-d[x-1]<=v
根据这个建图然后跑bellman-ford就可以了。
//BZOJ 1202 //by Cydiater //2016.9.2 #include <iostream> #include <cstdlib> #include <cstdio> #include <queue> #include <map> #include <cstring> #include <string> #include <algorithm> #include <iomanip> #include <cmath> #include <ctime> using namespace std; #define ll long long #define up(i,j,n) for(int i=j;i<=n;i++) #define down(i,j,n) for(int i=j;i>=n;i--) ; const int oo=0x3f3f3f3f; inline int read(){ ,f=; ;ch=getchar();} +ch-';ch=getchar();} return x*f; } ,dis[MAXN]; struct edge{ int x,y,v; }e[MAXN]; namespace solution{ inline void insert(int x,int y,int v){e[++len].x=x;e[len].y=y;e[len].v=v;} void init(){ N=read();M=read();len=; up(i,,M){ ,y=read(),v=read(); insert(x,y,-v); insert(y,x,v); } } bool Bellman_Ford(){ up(i,,N)dis[i]=oo; up(i,,N-){ ; up(j,,len)if(dis[e[j].y]>dis[e[j].x]+e[j].v){ dis[e[j].y]=dis[e[j].x]+e[j].v; flag=; } if(flag)break; } up(j,,len); ; } } int main(){ //freopen("input.in","r",stdin); using namespace solution; T=read(); while(T--){ init(); if(Bellman_Ford())puts("true"); else puts("false"); } ; }
差分约束第四题
和上一道题基本一样
//BZOJ 3436 //by Cydiater //2016.9.2 #include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <string> #include <iomanip> #include <algorithm> #include <queue> #include <map> #include <ctime> #include <cmath> using namespace std; #define ll long long #define up(i,j,n) for(int i=j;i<=n;i++) #define down(i,j,n) for(int i=j;i>=n;i--) ; const int oo=0x3f3f3f3f; inline int read(){ ,f=; ;ch=getchar();} +ch-';ch=getchar();} return x*f; } ,dis[MAXN]; struct edge{ int x,y,v; }e[MAXN]; namespace solution{ inline void insert(int x,int y,int v){e[++len].x=x;e[len].y=y;e[len].v=v;} void init(){ N=read();M=read(); while(M--){ int flag=read(),x,y,v; ){ x=read();y=read(); insert(x,y,); insert(y,x,); } ){ x=read();y=read();v=read(); insert(x,y,-v); } ){ x=read();y=read();v=read(); insert(y,x,v); } } } bool Bellman_Ford(){ up(i,,N)dis[i]=oo; up(i,,N-){ ; up(j,,len)if(dis[e[j].y]>dis[e[j].x]+e[j].v){ dis[e[j].y]=dis[e[j].x]+e[j].v; flag=; } if(flag)break; } up(j,,len); ; } } int main(){ //freopen("input.in","r",stdin); using namespace solution; init(); if(Bellman_Ford())puts("Yes"); else puts("No"); ; }
BZOJ1202 [HNOI2005]狡猾的商人&&BZOJ3436小K的农场的更多相关文章
- [BZOJ1202][HNOI2005]狡猾的商人
[BZOJ1202][HNOI2005]狡猾的商人 试题描述 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i= ...
- bzoj3436小K的农场
bzoj3436小K的农场 题意: n个数,知道m条关系:a-b≥c.a-b≤c或a==b.问是否存在满足所有关系的情况.n≤10000,m≤10000. 题解: 差分约束.因为只要求是否满足,因此最 ...
- BZOJ1202 [HNOI2005]狡猾的商人 【并查集】
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 4180 Solved: 2015 [Submit][S ...
- bzoj1202: [HNOI2005]狡猾的商人(并查集 差分约束)
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4127 Solved: 1981[Submit][Sta ...
- bzoj1202: [HNOI2005]狡猾的商人(差分约束)
1202: [HNOI2005]狡猾的商人 题目:传送门 题解: 据说是带权并查集!蒟蒻不会啊!!! 可是听说lxj大佬用差分约束A了,于是开始一通乱搞. 设s[i]为前i个月的总收益,那么很容易就可 ...
- BZOJ1202 [HNOI2005]狡猾的商人 并查集维护前缀和
1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1935 Solved: 936[Submit][Stat ...
- [bzoj3436]小K的农场_差分约束
小K的农场 bzoj-3436 题目大意:给定n个点,每个节点有一个未知权值.现在有m个限制条件,形如:点i比点j至少大c,点i比点j至多大c或点i和点j相等.问是否可以通过给所有点赋值满足所有限制条 ...
- BZOJ3436: 小K的农场(差分约束裸题&DFS优化判环)
3436: 小K的农场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2111 Solved: 986[Submit][Status][Discus ...
- bzoj3436: 小K的农场(差分约束)
3436: 小K的农场 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1575 Solved: 690[Submit][Status][Discus ...
随机推荐
- ASP.NET XmlSerializer权限问题
今天碰到一个奇怪问题.因为在2台服务器上做文件共享,使服务器A能访问服务器B的共享目录.在IIS上使用虚拟目录实现的话,需要给应用程序池指定一个统一的账号.在调试的时候能够使用,但是一部署到服务器上, ...
- 学习SQLite之路(一)
工作快一年了,接触的东西不是很多,学到的东西也不多.无意中看到公司的代码有一点关于sqlite3的(不是我这一层负责的代码),于是乎就学学试试. 参考: http://www.runoob.com/s ...
- Log4net使用(一)
LogHelper.cs using NLog; using NLog.Targets; namespace MyProject.Tool.Log { public class LogHelper { ...
- 面向OPENCL的ALTERA SDK
面向OPENCL的ALTERA SDK 使用面向开放计算语言 (OpenCL™) 的 Altera® SDK,用户可以抽象出传统的硬件 FPGA 开发流程,采用更快.更高层面的软件开发流程.在基于 x ...
- [poj2484]A Funny Game(对称博弈)
题目:http://poj.org/problem?id=2484 题意:n个石子围成一个圈,两个人轮流取,每次可以取一个石子或者相邻的两个石子,问先手胜还是后手胜 分析: 典型的对称博弈 如果n&g ...
- PHP mail()函数
<?php /* PHP mail()函数 参数 描述 to 必需.规定 email 接收者. subject 必需.规定 email 的主题.注释:该参数不能包含任何新行字符. message ...
- 使用D3绘制图表(6)--竖直柱状图表
竖直柱状图的绘制是在水平柱状图的基础上修改的. 1.html代码 <!DOCTYPE html> <html> <head> <meta charset=&q ...
- java-正则表达式过滤字符串中的html标签
案例 import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * Title: HTML相关的正 ...
- WakeLock, AlarmManager, JobScheduler
应用程序耗电的实质,是所启用的硬件在消耗电量. 手机的耗电单元 CPU: 应用处理器(AP)和基带处理器(BB或BP) GPU(图形处理单元) 外设:wifi,BT, GPS,LCD等 AP是ARM架 ...
- C#-WinForm-弹窗提示框-如何知道用户点击的是哪个按钮?
MessageBox.Show() 有21个重载 常用的弹窗提示框 1.一个参数,弹窗只有一个选项 2.三个参数,第一个参数是设置弹窗消息框中的文字内容:第二个参数是设置弹窗标题栏中显示的文本:第三个 ...