1. 程式人生 > >AHS of FCGRC 停課 Day2

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,那麼我們考慮強行算出逆序對,用二次函式的最值解決問題即可。