題目
易得該題目中的\(n\)和\(k\)具有單調性,滿足二分的性質,因此該題目而已用二分來列舉\(n\),然後對於每個\(n\)模擬出它所對應的\(k\),然後注意注意**細節,並且當當前\(k\)等於題目要求的\(k\)時,要分別向左和右二分,才能找出所有情況。
#include #define n 3000011
#define int long long
using namespace std;
int n, k, x[n], sum[n], maxn, minn = 2147483647124544;
int check(int mid)
if (now >= mid)
tot++, now = 0;//此處l不能++, 因為迴圈裡已經++了
} return tot;
} signed main()
// printf("%lld ", check(3));
int l = 1ll, r = 1000000000000ll;//二分n
while (l <= r)
}l = 1ll, r = 1000000000000ll;
while (l <= r)
}if (minn == 2147483647124544)
printf("-1"), exit(0);
printf("%lld %lld", minn, maxn);
return 0;
}
洛谷 P1434 SHOI2002 滑雪
michael 喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael 想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 16 1...
洛谷P1434 SHOI2002 滑雪
michael喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 5 16 17 ...
洛谷 P1434 SHOI2002 滑雪
題目傳送門 michael 喜歡滑雪。這並不奇怪,因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待公升降機來載你。michael 想知道在乙個區域中最長的滑坡。區域由乙個二維陣列給出。陣列的每個數字代表點的高度。下面是乙個例子 1 2 3 4 ...