D Equal Cut 思維 列舉

2021-08-21 04:23:58 字數 614 閱讀 2695

題意:將長為n的序列分成連續的4個非空區間,求出每個區間的和,使得max(區間和)-min(區間和) 最小

思路:割3刀,很自然想到列舉第二刀i,正常做法o(n^3),注定要涼。 我們將區間[1,i-1]劃分成2個非空區間l1,l2,為了劃分後,使得有:最大值盡可能小,最小值盡可能大,則有l1和l2的差距越小越好。並且有i+1劃分時,只需要把i的l1繼續使用。對於劃分區間[i+1,n]同理

#include#define pi acos(-1.0)

#define pb push_back

#define f first

#define s second

using namespace std;

typedef long long ll;

const int n=2e5+5;

const int mod=1e9+7;

ll a[n];

ll sum[n];

//ll ans[n];

ll gao(int l,int r)

int main(void)

cout << ans << endl;

return 0;

}

cf B Pairs(思維 列舉)

題意 給你m組二元組 x,y 問你是否可以找到兩個點,使得每個二元組裡都含有這連個點之一。思路 首先,我們先分析下題意。讓找兩個點,使得每個二元組都含有這兩個之一,那麼任意乙個二元組中都含有這兩個點之一。我們不妨列舉第乙個二元組。下面分類討論,1 這個二元組的兩個點恰好是要找的那兩個點。2 這個二元...

貪心 思維 列舉

題目大意 左括號和右括號數量相等的個數 思路 從開始列舉,用兩個標記指標,乙個記錄左括號和右括號的數量,出現乙個左括號 出現乙個右括號 出現乙個?號的話我們先把它當成右括號 所以 左括號 但是問號也要記錄下來 所以問號 當 左括號的數量為零的時候說明左括號和右括號的數量相等,所以答案加1,但是如果左...

Maximum Value (二分 思維列舉)

you are given a sequence a consisting of n integers.find the maximum possible value of i divided by a j where 1 i,j n and a i a j.input the first line...