HNOI2005 狡猾的商人

2022-03-03 17:51:40 字數 743 閱讀 4475

本來是要做帶權並查集才跳到這個題上的。。。但是最後懶省事寫了乙個差分約束。。。。唉

題解嘛——這題就是普通的差分約束吧??

不會差分約束的話,可以看一下這篇部落格,寫的很詳細很周全。

注意圖可能不聯通,這個時候要進行多遍spfa。而且注意同一組資料的話不用每次spfa都初始化!!!

**如下:

#include#include#include#include#include#include#define maxn 10010

using namespace std;

int t,n,m,s,t,v,edge_number;

int head[maxn],dis[maxn],done[maxn],len[maxn];

struct edgeedge[maxn<<1];

inline void add(int from,int to,int dis)

inline bool spfa(int x)

}} }

return true;

}int main()

for(int i=0;i<=n;i++)

if(!len[i])

if(spfa(i)==false)

if(flag==true)

printf("true\n");

} return 0;

}

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