AHS of FCGRC 停課 Day2
Day 2
開始發慌了……我想得回去乾點事,效率好低啊。
A.
題意簡述:
有a個A,b個B,c個C,d個D,求沒有數相鄰的方案數。
路徑統計的簡單版,a,b,c,d<=30。
考慮直接DP解決,我得改掉看到題思路僵化的習慣了。
B.
題意簡述:
有m個東西,要分給n個桶,允許有的桶沒有,允許一個桶放多個,要求有k個桶所裝的物品數為奇數。
顯然m和k不同奇偶時無解。把k個物品獨立出來,把其他物品兩個分一組,插版法解決。
公式為 C(n,k)*C((m-k)/2+n-1,n-1) 。
C.
題意簡述:
定義⼀個集合的權值是這個集合內所有數字的和。
求一個集合的權值第k⼩⼦集的⼤小。 size<=38
很可疑,明明看上去是指數級複雜度卻過不去。
考慮拆分集合,轉化為序列合併問題,這種題當然是二分答案了。
D.
題意簡述:
定義好集合為所有元素兩兩^起來小於它們的最小值。
求最大的好集合。
考慮一個一個集合是好集合的另外一個充要條件:
它的所有元素的最高位是一致的。
這樣就可以簡單做了。(ll害人.jpg)
E.
題意簡述:
略。
因為這道題有後效性,考慮倒過來dp 令dp[i]表示從i點到結束(一定喝這杯)的最小時間。
顯然答案=f[0],f[n+1]=0 dp[i]=min(dp[j]+caldis(i,j)) (i<j<=n+1)
我們發現,每個咖啡都有其等待時間和作用時間,你肯定希望,它在剛好喝完的時候接到下一杯,因為這樣前面才沒有白等。
可以證明,如果一定要選擇這杯咖啡,在靠近這杯咖啡的作用結束時間的咖啡站拿下一杯是更優的。
當然,咖啡涼了以後,自然是一定要儘快新買的。
因而我們就有了決策單調性,用此優化dp即可。
F.
題意簡述:
略。
考慮每次交換僅會使得逆序對減1,那麼我們考慮強行算出逆序對,用二次函式的最值解決問題即可。