差分约束第三题

传送门:

很明显的差分约束,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的农场的更多相关文章

  1. [BZOJ1202][HNOI2005]狡猾的商人

    [BZOJ1202][HNOI2005]狡猾的商人 试题描述 刁姹接到一个任务,为税务部门调查一位商人的账本,看看账本是不是伪造的.账本上记录了n个月以来的收入情况,其中第i 个月的收入额为Ai(i= ...

  2. bzoj3436小K的农场

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

  3. BZOJ1202 [HNOI2005]狡猾的商人 【并查集】

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 4180  Solved: 2015 [Submit][S ...

  4. bzoj1202: [HNOI2005]狡猾的商人(并查集 差分约束)

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4127  Solved: 1981[Submit][Sta ...

  5. bzoj1202: [HNOI2005]狡猾的商人(差分约束)

    1202: [HNOI2005]狡猾的商人 题目:传送门 题解: 据说是带权并查集!蒟蒻不会啊!!! 可是听说lxj大佬用差分约束A了,于是开始一通乱搞. 设s[i]为前i个月的总收益,那么很容易就可 ...

  6. BZOJ1202 [HNOI2005]狡猾的商人 并查集维护前缀和

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1935  Solved: 936[Submit][Stat ...

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

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

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

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

  9. bzoj3436: 小K的农场(差分约束)

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

随机推荐

  1. VR的UI、UX设计原则

    国外其实有不少关于VR用户体验的研究 总结一下我所了解的: Cardboard Design Lab 1. 使用十字线(比较适用于移动VR.一体机) 2.有深度的UI与眼睛疲劳: 离眼睛近的UI,物体 ...

  2. STM32 (战舰)

    一.战舰STM32 1.引脚描述表---有ft 兼容5V 2.原理图----有ADC,不兼容5V 3.(1)学会基本外设:GPIO输入输出,外部中断,定时器,串口. (2)学会外设接口:SPI IIC ...

  3. ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”

    ERROR: “System.Web.Mvc.Controller.File(string, string, string)”是一个“方法”,这在给定的上下文中无效 这是一个与Controller.F ...

  4. Android出现错误后改正后仍显示错误

    今天编Android的时候,layout.xml出现了错误,改正后仍显示错误.试了很多方法. 后来,将原来的复制并删掉,然后再粘贴上去就可以了.

  5. 10-xargs 简明笔记

    从标准你输入获取内容创建和执行命令 xargs     [options] 选项 -n                                               数字,分组 示例 x ...

  6. parse date receiving from mvc jsonresult

    if we received data like this: ,"Date":"\/Date(1410969600000)\/", we can parse i ...

  7. 【The Expendables】团队博客目录

    站立式会议: •[alpha版本]第一次站立式会议  •[beta版本]冲刺计划                •[beta版本]冲刺总结 •[alpha版本]第二次站立式会议  •[beta版本]第 ...

  8. Java--剑指offer(8)

    36.输入两个链表,找出它们的第一个公共结点. 解题思路:这里主要是把两个链表的节点都放入两个栈中,这样就可以按照出栈的方式来比较节点,因为单链表只要是有相同的节点,那么之后的节点也都是一样的,所以如 ...

  9. Java设计模式(一) 策略模式

    策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户. 1,定义算法接口 package com.pattern.strategy.test; publ ...

  10. highstock-处理时间需要处理世界时间偏移量

    highstock的数据格式采用的是[[时间,数据],[时间,数据],[时间,数据],[时间,数据]],而时间采用的是13位的毫秒值,如[1133136000000,69.66],采用的时间格式为UT ...