給定m個區間和,問是否有矛盾
複習一下,帶權並查集儲存著這個元素與祖先的關係
在合併的過程中就像向量合併一樣,可以畫出x->fa[x],y->fa[y],x->y這樣的圖方便理解
這篇文章解釋得很清楚noiau
//#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
#define ll long long
#define ull unsigned long long
#define pb push_back
#define mem(a) memset(a,0,sizeof a)
#define for(a) for(int i=1;i<=a;i++)
const int maxn=1e2+7;
int fa[maxn],v[maxn],flag,t;
int find(int x)
void work(int x,int y,int w)else if(v[y]-v[x]!=w)flag=1;}
int main()
if(flag)printf("false\n");else printf("true\n");
}}
HNOI2005 狡猾的商人
刁奼接到乙個任務,為稅務部門調查一位商人的賬本,看看賬本是不是偽造的。賬本上記錄了n個月以來的收入情況,其中第i 個月的收入額為ai i 1,2,3 n 1,n 當 ai大於0時表示這個月盈利ai 元,當 ai小於0時表示這個月虧損ai 元。所謂一段時間內的總收入,就是這段時間內每個月的收入額的總和...
HNOI2005狡猾的商人
傳送門 題目意思很簡單,意思是說給你一些區間和,要你判斷這些區間和是否合法。開始只想到了差分約束的方法,就是搞成字首和的形式 su m r sum l 1 w 且 su m r sum l 1 w 這樣利用spfa建圖,利用三角形不等式,即dis v dis x w i 每個條件建出sum r su...
HNOI2005 狡猾的商人
hnoi2005 狡猾的商人 time limit 10 sec memory limit 162 mb description 刁奼接到乙個任務,為稅務部門調查一位商人的賬本,看看賬本是不是偽造的。賬本上記錄了n個月以來的收入情況,其中第i 個月的收入額為ai i 1,2,3 n 1,n 當 ai...