題意:乙個有向圖,判斷是否強連通和每條邊只在乙個環中。
思路:仙人掌問題。
用tarjan演算法判斷強連通分量的時候,記錄每節結點的父節點。當找到乙個環後,回溯將該環上的所有結點+1,如果有結點出現2次了,則說明不是仙人掌了。
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8 #include9 #include10using
namespace
std;
1112
const
int maxn=20000+5;13
14int
n,m;
1516 vectorg[maxn];
17int
in[maxn];
18int
pre[maxn],lowlink[maxn],sccno[maxn],dfs_clock,scc_cnt;
19int
fa[maxn];
2021
22int find(int u,int
v)23
30return1;
31}3233
int dfs(int
u)34
45else
if(!sccno[v])
4650}51
if(lowlink[u]==pre[u])
5256
return1;
57}5859
intfind_scc()
6070
71int
main()
7287
if(find_scc() && scc_cnt==1) cout<<"
yes"
<88else cout<<"no"
<90return0;
91 }
bzoj3594 Scoi2014 方伯伯的玉公尺田
time limit 60 sec memory limit 128 mb submit 1624 solved 751 submit status discuss 方伯伯在自己的農田邊散步,他突然發現田裡的一排玉公尺非常的不美。這排玉公尺一共有n株,它們的高度參差不齊。方伯伯認為單調不下降序列很美...
POJ 3594 帶限制的最短路 列舉 SPFA
題意 給出乙個有向圖,通過每條邊花費的時間wi以及每條邊的通行時間 bi,ei 問起點到終點路上花費時間 到達時間 出發時間,時間預設最開始是0 最短是多少。其實就是乙個加了限制條件的最短路,spfa可以做到,其實spfa是可以加很多擴充套件內容。但是注意,由於有通行時間的存在,中途有可能需要等待,...
bzoj 3594 方伯伯的玉公尺田
開始覺得自己好不容易想出一道題,後來發現自己是錯的。用f i j 表示前i個玉公尺,發動j次技能最多能留下的玉公尺數。但是這個東西可以由j 1 i 1中任意乙個數轉移來,所以用樹狀陣列優化dp f i j f p q 1 p p q include include include include i...