正睿2018 9 1提高2

2022-02-27 12:11:10 字數 1754 閱讀 6033

對於二次函式提出乙個x

對於剩下的直線維護乙個

我們需要求出最大值上輪廓

單調棧求上凸殼就好了

#include#includeinline int read()  

while(c <= '9' && c >= '0')x = x * 10 + c - '0',c = getchar();

return x * f;

} const int maxn = 500007;

int n,q;

struct fuc a[maxn],q1[maxn],q2[maxn];

bool cmp(fuc a,fuc b)

double cross(fuc a,fuc b)

int tp1 = 0,tp2 = 0;

long long ans[maxn * 7];

void getcvx()

for(int i = 1;i <= n;++ i) a[i].b = -a[i].b;

std::sort(a + 1,a + n + 1,cmp);

for(int i = 1;i <= n;++ i)

} int main()

for(int i = 1,x = 1;i <= 32323;++ i)

for(int i = 1;i <= q;i += 1)

return 0;

}

答案可以看做是每乙個元素被減的次數之和,可以計算每乙個位置被減次數的期望之和

第乙個元素一定被減了\(a_1\)次

考慮乙個位置i,當前有n個元素,那每個元素被減的概率都是\(\frac\)。

只關注元素\(1\)和元素\(i\),發現操作其他元素對他們沒有影響,被減的概率仍相同

於是這個問題等價於只有兩個元素的問題

對於兩個元素的問題,可以看為從\((a_1,a_i)\)出發,每次隨機乙個位置\(-1\),知道走到座標軸上

若停留在\((0,a)\),對答案的貢獻為\(a_i - a\),若停留在\((a,0)\),對答案的貢獻為a_i

可以寫出貢獻式子

\[\sum_^\frac}}i+a_i\left(1-\sum_^\frac}}\right)

\]可以對於\(0 - max(ai)\)做字首和,前後的概率式等價,最後可以線性計算答案

#include#includeinline int read()  

#define ll long long

const int mod = 323232323;

const int maxn = 200007;

int n,m,a1,a[maxn];

int inv[maxn],inv2[maxn];

int fac[maxn];

inline int fstpow(int x,int k)

inline int c(int n,int m)

void pre()

inline void add(int &x,int y)

int p[maxn],f[maxn];

int main()

int ans = a1;

for(int i = 2;i <= n;++ i)

printf("%d\n",ans);

return 0;

}

正睿2020提高組十連測 選做

更新中.目錄題目鏈結 理解題意,打出第乙個暴力 首先需要知道,隨機生成的樹 如果不特別說明隨機方法,就是指在所有 n 棵樹里隨機 最大深度期望是 o sqrt 的。看本題。首先,期望是嚇唬你的,因為期望乘上階乘,其實就是求和。於是我們要求 所有排列下 操作後所有點的權值和 的和 因此暴力做法就是列舉...

正睿 2018 提高組十連測 Day5

鴨血居然沒想到字首和優化dp,主要是寫的是刷表.只想到線段樹優化,還要兩棵.首先是暴力解法 f i j f i 1 k 0 k j 2 嗯.這個顯然可以字首和優化.然後是正常人dp解法 令f i,j 表示長度為i總和為j的合法陣列個數 則f i j f i j 1 f i 1 j 2 第二項只有j為...

2019正睿金華集訓 0804總結

今天感受了b班考試的難度,果然好難,接近爆蛋,暴力分都不太好拿。考試歷程 先看了一下三個題面,發現就第二題的暴力好寫一點,隨後又想到了並查集,然後去寫t2,過了樣例然後我就不管了 以為自己可以拿到暴力分 t3這道題我只想說,貌似除了暴力我好像也寫不了,於是我寫了乙個大暴力,由於是輸出方案,評測機是s...