1. 程式人生 > 其它 >10.29模擬賽

10.29模擬賽

模擬賽改錯

致命錯誤=w=寫錯檔名www

T1

考點L:思維

看出來了是個dp。

狀態表示:設\(dp[i][j]\)為前\(i\)扇門暴力破壞了\(j\)扇門。

狀態轉移:

\(dp[i][j]=dp[i-1][j]\times(i-1)+dp[i-1][j-1]\)

考慮拼上當前第\(i\)扇門,第\(i\)扇門放著第\(i\)扇門的鑰匙。前\(i-1\)扇門已經放好了前\(i-1\)扇門的鑰匙。

如果暴力破壞當前的門,那麼前\(i-1\)扇門破壞了\(j-1\)扇。

如果不暴力破壞當前的門,那麼需要和前面的\(i-1\)扇門中的一扇交換鑰匙,共有\(i-1\)種選擇。


T2

考點:思維。

以為是個求迴文串之類的,覺得不會manacher,寫了個暴力就走人,實際上根本就不用求迴文串。

一個長度為\(n\)的串,排除掉長度為\(1\)的子串還有\(\frac{n(n-1)}{2}\)個子串,其中每一個子串都對應著唯一一個左右端點的組合。考慮這些子串中哪些子串反轉的結果是相同的,然後去重計算答案。

如果一個子串最左側和最右側的字元相同,則這個子串翻轉的結果和去掉左右兩側字元的子串翻轉的結果是一樣的。也就是說每對相同的字元作為左右端點時都貢獻了一次重複的答案。

如果一種字元出現了\(m\)次,貢獻重複答案的次數就是\(\frac{m(m-1)}{2}\)

減去重複貢獻的,最後加上\(1\)(翻轉長度為\(1\)的子串)。


T3

考點:建圖,尤拉路。

考試思路:把每塊蛋糕當成點,每塊蛋糕的權值當成邊權,建了一個圖跑最長路。實際上這個思路是錯的啊…考慮可能出現一個蛋糕的面同時匹配到與其奶油型別相同的兩塊蛋糕的面。不知道資料是有多水還能拿到25pts呀……

正解思路:

將每種奶油看成一個節點,每塊蛋糕看成一條邊。

考慮化簡一下這個圖,首先如果最終方案裡存在某種奶油,則該奶油上的自環肯定都會選取,兩個奶油節點之間的每兩條重邊可以等效成一個奶油節點上的自環,則原圖可以簡化成一個沒有重邊和自環的圖。

考慮尤拉路,若化簡後的圖中存在尤拉路,則所有的蛋糕都可以選擇。否則最多隻有一條邊無法選擇,再列舉不可選的邊,取可行方案中最小的邊。


T4

考點:二分。

重點在於判定。

題解