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 ...
随机推荐
- win8/8.1 免密码登录设置
http://www.ehow.com/how_8013338_start-windows-password.html 原文见上方链接 1,win+r调出命令输入窗口,输入 netplwiz 回车 2 ...
- 禁用Win10显卡更新
右键This PC-Properties-Advanced system settings-选择Hardware这个tab-Device installation settings选择No
- Matlab中的向量
1. 向量的创建 1)直接输入: 行向量:a=[1,2,3,4,5] 列向量:a=[1;2;3;4;5] 2)用“:”生成向量 a=J:K 生成的行向量是a=[J,J+1,…, ...
- android studio用法笔记
1.每次创建新工程的时候,就会“check sdk repository”,然而这个进度条一动不动,解决方法:file>setting>plugins>sdk updater禁用就行 ...
- C# has three timers
结论 *1.窗体timer和线程timer.计时器timer不同,因为后两者dispose之后,GC可以收集,而前者无法收集 *2.如果一个对象的成员函数正在被执行,那么这个对象肯定不会被收集 *3. ...
- 东大OJ-1588: Routing Table
题目描述 In the computer network, a Router is a device which finds an optimal way to transmit the datagr ...
- 删除root子目录,如何恢复子目录配置文件
手贱,一不小心rm -rf 问题描述:删除/root/子目录文件(含隐藏配置文件)shell变成-bash-4.2#,如何恢复原貌 解决方法: root用户进入,自己配置相关文件:mkdir /roo ...
- android开发------第一个android程序
好吧,现在我们就一起来写第一个android程序,看它带给了我们什么.sdk的使用和虚拟机的创建我就不说了.项目创建过程先略过,不太重要. 那第一个程序我们能学到什么知识呢?一起看吧.^-^ 在IDE ...
- Android中的各种单位
px(像素):屏幕上的点.in(英寸):长度单位.mm(毫米):长度单位.pt(磅):1/72英寸.dp(与密度无关的像素):一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp = 1px ...
- JS是按值传递还是按引用传递
按值传递(call by value)是最常用的求值策略:函数的形参是被调用时所传实参的副本.修改形参的值并不会影响实参. 按引用传递(call by reference)时,函数的形参接收实参的隐式 ...