省選模擬考試1

2022-06-03 21:12:11 字數 1078 閱讀 4262

最近被splay,treap,dlx淹沒。。

沒寫過考試的反思什麼的感覺總結一下貌似很重要?

t1詳情見codevs2466

本來hash可過的題結果只給了64mb(oj上是256mb)

水題沒什麼好說的。。map判重都能過

收穫:(學習了一發康托展開)

t2codevs2467

貌似顯然要先按b排序?

感覺搜尋很茲瓷沒想(xiangbudao)dp就沒管了

正解是dp

f[i][j]代表前i個人,其中1視窗排到j分鐘時需要的時間

兩種轉移方式 1.第i+1人在1視窗。此時最大值的可能有:當前i+1人吃完飯後沒有人在吃飯:j+b[i] 或者是前i人有一人比i+1人還晚吃完f[i][j-a[i]]

2.在2視窗,同樣兩種轉移方式:sum[i]-j+b[i] 或 f[i][j]

最後求f[n]一行中的最小值。

收穫:貪心+dp結合

t3codevs2468

矩陣乘法

考試之前中午和wyy還討論了差不多的題所以知道大概是矩乘?

當然也是只會口胡

其中有很多細節也是在wyy的點撥下才想明白

首先很容易想到由於鱷魚只有2,3,4三種週期

不如就把12作為乙個大週期

這樣處理起來會簡單一點

o(kn^2)暴力大概是很容易想到的(我並沒有想到)

然後我們先只跑12步好吧

然後我們發現好像12步之後就能12步12步走了

再深入想想就是矩乘了。。

剩下的小於12步多出來的直接暴力。

**(建議先想清楚怎麼構造矩陣)

1

void dp(intx)2

15for(int j=1;j<=n;j++)

16if(gg[i][j])f[i][x][j]=0;//

當j在i時刻有鱷魚那麼此時路徑條數變0 17}

18for(int i=1;i<=n;i++)v[x][i]=f[12

][x][i];19}

2021

intmain()

22

view code

t4準備棄坑。。

考試 省選96

t1 這個題就是考慮去大力分類討論。首先可以知道 k 3 的情況答案肯定是0.那麼分類討論 3,2,1,0 的情況。首先是 k 3 的情況。這個情況很簡單。首先 m 必須為3。就是我們考慮一下用總的方案去掉鈍角三角形的方案。那麼答案就是 ans binom n sum limits 1 i 這很簡單...

考試 省選95

t1 大神說是打個表找規律啥的。我利用生成函式 吉夫特那個題的結論推出來類似的結論。就是說對於所有深度為 i 的點,其對答案有貢獻,當且僅當 t i 0 這樣的話就可以直接用乙個 orfwt 來做了。t2生成樹計數原題。比原題還簡單。可以把 a i 抽象成乙個點變成乙個含有 a i 個點的連通塊。然...

考試 省選86

t1 首先設出暴力的 dp dp i j k l 為前 i 個點中有 j 個白點結束方案為奇數,k 個黑點結束方案為偶數,當前全部的結束方案之和奇偶性為 l 的方案數。那麼可以很簡單的轉移。在考慮轉移時候的係數。其實只跟 j,k 是否為0有關係。那麼狀態大大化簡為 dp i 0 1 0 1 0 1 ...