JZOJ5948 增援前線

2021-08-31 03:59:18 字數 829 閱讀 6882

小 x 的國家正在遭受襲擊,必須抽調一些魂師上前線增援。

到前線用時最短的路上有一條寬度為 n 公尺的河,而前來增援的魂師每飛行 l 公尺就必須在一片荷葉上休息一下,才能夠繼續飛行。當然,魂師們也可以選擇沒飛夠 l 公尺就先休息一下,但不能一次飛超過 l 公尺。

距離河的一側距離為i 的荷葉共有ai 片,每片荷葉在有魂師停於上方休息後, 就會沉入水底,不能夠再供其他魂師休息。

現在小 x 想要知道,至多有多少名魂師能夠抵達前線。

#pragma gcc optimize("o3")

#pragma g++ optimize("o3")

#include#include#include#define maxn 200005

#define inf 1000000007

#define reg register int

#define fo(i,a,b) for (reg i=a;i<=b;++i)

#define fd(i,a,b) for (reg i=a;i>=b;--i)

#define o3 __attribute__((optimize("-o3")))

using namespace std;

int a[maxn],f[maxn];

int n,l,ans;

o3 inline int read()

o3 inline int min(int x,int y)

else f[i]-=a[j]-f[j],f[j]=a[j];

} printf("%d\n",f[n]);

return 0;

}

594 最長和諧子串行

題目描述 和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。示例 1 輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 說明 輸入的陣列長度最大不超過20,000.方法...

594 最長和諧子串行

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給你乙個整數陣列nums,請你在所有可能的子串行中找到最長的和諧子串行的長度。陣列的子串行是乙個由陣列派生出來的序列,它可以通過刪除一些元素或不刪除元素 且不改變其餘元素的順序而得到。示例 1 輸入 nums 1,3,2,2,5,2...

594 最長和諧子串行

和諧陣列是指乙個陣列裡元素的最大值和最小值之間的差別正好是1。現在,給定乙個整數陣列,你需要在所有可能的子串行中找到最長的和諧子串行的長度。示例 1 輸入 1,3,2,2,5,2,3,7 輸出 5 原因 最長的和諧陣列是 3,2,2,2,3 1 import j a.util.hashmap 2im...