差分约束第三题

传送门:

很明显的差分约束,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. 两道关于JS的小考题(闭包与中间件)

    题目一:写一个javascript函数 calculate,该函数有如下性质 calculate() = 0; calculate(2)() = 2; calculate(3)(4)(1)(5)() ...

  2. 遇到技嘉 Gigabyte UEFI DualBIOS问题

    我的板子是技嘉H87-D3H二手板子,用了差不多三年左右,一直感觉不错,承担着高强度的开发任务. 问题描述: 无法开机,按下电源后,主板通电状态灯亮,CPU和显卡风扇转动,显示器显示下图: 2至3秒后 ...

  3. C 语言学习的第 05 课:了解课程配套的平台

    在此之前,已经同授课老师沟通,确认课程的配套平台是Coding.net.对于大多数(甚至是全部)同学来说,这个平台应该是极其陌生的.不过不用担心,且还是娓娓道来. 定义:Coding.net是一个集代 ...

  4. Sublime Text 3 常用插件以及安装方法(vue 插件)

    使用Package Control组件安装 也可以安装package control组件,然后直接在线安装: 按Ctrl+` 调出console 粘贴以下代码到底部命令行并回车: { import u ...

  5. 【Alpha版本】冲刺阶段——Day 4

    我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...

  6. Hibernate用注解实现实体类和表的映射

    数据库mysql: 1.一对一 person50表password50表是一对一的关系: password50表中有外键 person_id person实体类: package com.c50.en ...

  7. iOS开发小技巧--根据文字,计算label中文字高度

  8. 学习Spring(一) 实例化Spring IoC容器

    实例化Spring IoC容器 1,读取其配置来创建bean实例 2,然后从Spring IoC容器中得到可用的bean实例 Spring提供两种IoC容器实现类型 a,一种为bean工厂 b,应用程 ...

  9. kkt

  10. Notes on 'Selective Search For Object Recognition'

    UijlingsIJCV2013, Selective Search For Object Recognition code 算法思想 利用分割算法将图片细分成很多region, 或超像素. 在这个基 ...