[hnoi2005]狡猾的商人
u→v=c可以理解為sum[v]−sum[u−1]=c (字首和)
定的sum[u→v]=c 不僅需要滿足sum[v]−sum[u−1]=c,還應該滿足sum[u−1]−sum[v]=−c。
接下來就是判斷是否存在環(判環)
對於不一定聯通的圖,每個入度為0的點都要判斷,這裡是判斷tot[i] == 0的點,tot[i]就是i結點訪問次數。
資料量小,判斷大於n可過,否則要dfs跑spfa
#include using namespace std;
#define inf 0x7fffffff
struct edge;
int cnt,head[100000];
edge edge[100000];
int book[10005],dis[10005],tot[100005],vis[100005],n,m;
int read()
while(c>='0'&&c<='9')
return x*dign;
}void add(int u,int v,int w)
bool spfa(int u)
} } }
return true;
}int main()
int f = 1;
for(int i=0;i<=n;i++)
} if(!f)printf("false\n");
else 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...