HNOI2005 狡猾的商人 帶權並查集

2021-08-10 13:28:22 字數 694 閱讀 2209

給定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...