Luogu P1419尋找段落(單調佇列)

2022-05-01 01:15:10 字數 795 閱讀 3332

題目鏈結

不知為何狀態突然奇差無比,按說這題本來應該是水題的,但不僅不會做,還比著題解爆零五次

二分平均值(想到了),單調佇列維護最大區間和(想到了但是不會,???為什麼我不會???)

#include#include

#include

#include

#include

#define maxn 200020

#define eps 1e-6

using

namespace

std;

inline

long

long

read()

while

(isdigit(ch))

return num*f;

}int

q[maxn];

double

sum[maxn];

ints[maxn],h,t;

intn,lim,lia;

inline

double calc(int x,int

y)bool check(double

limit)

while(h<=t&&s[h];

if(h<=t&&sum[i]-sum[s[h]]>=0) return1;

}return0;

}int

main()

else r=mid;

}printf(

"%.3lf

",ans);

return0;

}

Luogu P1419 尋找段落

我又復活啦!這裡給定乙個長度為 n 的序列 a 定義 a i 為第 i 個元素的價值。現在需要找出序列中最有價值的 段落 段落的定義是長度在 s,t 之間的連續序列。最有價值段落是指平均值最大的段落。段落的平均值等於段落總價值除以段落長度。第一行乙個整數 n 表示序列長度。第二行兩個整數 t 和 t...

洛谷1419 尋找段落(單調佇列)

洛谷1419 尋找段落 題目描述 給定乙個長度為n的序列a i,定義a i 為第i個元素的價值。現在需要找出序列中最有價值的 段落 段落的定義是長度在 s,t 之間的連續序列。最有價值段落是指平均值最大的段落,段落的平均值 段落總價值 段落長度。輸入輸出格式 輸入格式 第一行乙個整數n,表示序列長度...

P1419 尋找段落 單調佇列 二分

題意 給出n個數,讓我們求出乙個最大的平均值 求平均值的區間只能在 s,t 這樣的乙個範圍內選取 假如 3 4 則表明可以選擇乙個區間大小為3或者4的,而不能選擇其他大小 思路 首先二分答案,即 二分最大平均值。我們將a全部減去mid,問題轉化為判斷是否存在乙個長度在s t範圍內的區間它的和為正,如...