JZOJ7月25日提高組T1 挑竹籤

2021-10-08 12:20:38 字數 895 閱讀 3669

挑竹籤——小時候的遊戲

夏夜,早苗和諏訪子在月光下玩起了挑竹籤這一經典的遊戲。

挑竹籤,就是在桌上擺上一把竹籤,每次從最上層挑走一根竹籤。如果動了其他的竹籤,就要換對手來挑。在所有的竹籤都被挑走之後,誰挑走的竹籤總數多,誰就勝了。

身為神明的諏訪子自然會讓早苗先手。為了獲勝,早苗現在的問題是,在諏訪子出手之前最多能挑走多少竹籤呢?

為了簡化問題,我們假設當且僅當挑最上層的竹籤不會動到其他竹籤。

有n

nn個竹籤,竹籤之間有壓著的關係

要取當前竹籤,必須滿足它不被任何竹籤壓著

求能取的最多竹籤

把壓著的關係轉換成有向圖

這題就很明顯是乙個拓撲題

每次尋找入度為0的點,答案加一

然後就是:刪邊、找點、加答案、刪邊、找點

找到最後找不到點了

輸出答案

#include

#include

using

namespace std;

struct node

a[1000005];

int n,m,i,x,y,h,t,tot,ans,d[

10000005

],num[

1000005];

bool b[

1000005];

intmain()

h=0; t=0;

for(i=

1;i<=n;i++)}

while

(h}printf

("%d\n"

,ans)

;fclose

(stdin);

fclose

(stdout);

return0;

}

JZOJ7月16日提高組T1 質數

題解定義質數為因數只含1和其本身的數,對於n組詢問,試判斷每個數是否為素數。第一行乙個正整數n,表示有n組詢問。接下來n行,每行乙個正整數m,表示詢問m是否為質數。輸出n行,每行乙個字串。若是質數則輸出 prime 若不是質數則輸出 not prime 52 1089807289 903248294...

JZOJ7月23日提高組T1 同餘

題解有一同餘方程 滿足p pp是質數,xi,jx xi,j 在0 p pp之間 問滿足同餘方程的方案數模乙個給出的數後的結果 手模資料或者打表可以發現,當c 0 c 0c 0時,所有答案都是一樣的 那麼就可以分成c 0 c 0c 0和c 0c 0 c 0兩種情況討論 轉移一下就好了 include ...

JZOJ7月22日提高組T1 三色樹

題解給出乙個n個節點的無根樹,每條邊有非負邊權,每個節點有三種顏色 黑,白,灰。乙個合法的無根樹滿足 樹中不含有黑色結點或者含有至多乙個白色節點。現在希望你通過割掉幾條樹邊,使得形成的若干樹合法,並最小化割去樹邊權值的和。第一行乙個正整數n,表示樹的節點個數。第二行n個整數ai,表示i號節點的顏色,...