hiho一下 第五十四周 (縮點 dfs

2021-07-03 18:58:38 字數 811 閱讀 3117

這道題錯了好幾次,沒有看到一定從1號開始走。

題目的意思就是問你從一號開始走,最多可以吃多少草。

直接用到有向圖的雙連通的trajan演算法給圖縮點,

再重新新建乙個縮完點之後的圖,

然後直接從1號開始dfs就可以了。

#include#include#include#includeusing namespace std;

const int n=20010;

const int m=200020;

int pnt[m],nxt[m],head[m],e;

int pnt1[m],nxt1[m],head1[m],e1;

int low[n],dfn[n],belong[n],pan[n],st[n];

int cost[n];

int n,m,top,depth,cnt;

long long sum,maxk,num[n];

void addedge(int u,int v)

void addedge2(int u,int v)

void init()

void dfs(int now)

else if(pan[pnt[i]])//遇到回邊的處理,如果是之前已經處理過的強連通分量的點就不管了。

low[now]=min(low[now],dfn[pnt[i]]);

}if(low[now]==dfn[now])

}return ;

}void dfs2(int u,long long cc)

{ //printf("%d ",u);

if(sum

hiho一下 第五十八周

給定字串s,判定s是否存在子串s 滿足 aa abb bcc c 的形式。其中abc為連續的三個字母,且a,b,c的數量相同。原題目中數量相等的連續n n 3 個字母也是可行的,而實際上當n 3時一定包含有n 3的情況。比如 abcd 就包含有 abc 和 bcd 兩個合法子串。最基本的思路為對s的...

hiho學習日記 hiho一下 第五十八周

給定字串s,判定s是否存在子串s 滿足 aa abb bcc c 的形式。其中abc為連續的三個字母,且a,b,c的數量相同。原題目中數量相等的連續n n 3 個字母也是可行的,而實際上當n 3時一定包含有n 3的情況。比如 abcd 就包含有 abc 和 bcd 兩個合法子串。最基本的思路為對s的...

hihor日記 hiho一下 第五十九周

給定乙個單執行緒程式執行的記錄,包含有每個函式啟動和結束的時間。判定該份記錄是否錯誤,主要的錯誤包含 記錄中的時間不是嚴格遞增的 乙個函式的結束時間比啟動時間更早 記錄中乙個函式有不對應的啟動操作start或結束操作end,比如出現了start卻沒有對應的end,或出現了end卻沒有出現start。...