對於二次函式提出乙個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...