NOI Online 3 提高組 第一題 水壺

2021-10-06 14:24:54 字數 515 閱讀 3998

題目鏈結

其實這道題也不算是特別難,也跟普及組的題目的難度差不多。

題目基本演算法:最大欄位和+字首和維護

由於水都是正數,我們能加多少就加多少,故我們必須要用完k

kk次。而且我們要保證我們最後都能把所有水加到一杯水裡面去,所以題目就轉化成了求一段長度為k+1

k + 1

k+1的最大子段和。

#include

using

namespace std;

const

int maxn=

1000010

;long

long ar[maxn]

,sum[maxn]

,ans;

intmain()

m++;for

(int i=

0;i<=n-m;i++

)printf

("%d"

,ans)

;return0;

}

NOI Online 3 提高組 水壺

在乙個長度為 n 的序列中求出長度為 k 1 的最大子段。本題唯一的需要注意的一點是當 k n 時要輸出所有數的和,像我的考場 scanf d d n,k k if k n k n for int i 1 i n i scanf d a i for int i 1 i k i op a i for ...

NOI Online 3 提高組 優秀子串行

點此看題 首先有乙個樸素dpdp dp,因為每個數字都只會最多出現1 11次,而且出現數字相同的不同情況最後也可以一起算答案 和一定 那麼我們只需要統計出方案數,dp i dp i dp i 為二進位制位出現的裝壓為i ii,轉移列舉包含i ii的狀態j jj,設a i a i a i 為值i ii...

NOI Online 3 提高組 魔法值

我是真沒想到可以用 flo yd floyd floy d 好吧其實也不是正宗的吧 感覺這個演算法已經被我遺忘了 qwq qwqqw q。結果考場上把快速冪又打爆了 定義 to i j k to i j k to i j k 為 i ii 到 j jj 的路徑長度為 2 k2 k 2k的方案總數,d...