日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

P7099-[yLOI2020]灼【数学期望,结论】

發布時間:2023/12/3 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 P7099-[yLOI2020]灼【数学期望,结论】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

正題

題目鏈接:https://www.luogu.com.cn/problem/P7099


題目大意

給出nnn個坐標軸上的點,qqq次詢問從某點出發每次等概率向左或者向右一格求到達某個給出點的期望步數。
保證每個詢問點左右都有目標點

1≤n≤105,1≤q≤5×106,1≤xi,yi≤1091\leq n\leq 10^5,1\leq q\leq 5\times 10^6,1\leq x_i,y_i\leq 10^91n105,1q5×106,1xi?,yi?109


解題思路

每個詢問具體分析,離左邊點的距離為lll,右邊點的距離為rrr
fif_ifi?表示從iii出發到達終點的期望距離,那么有
fi=fi?1+fi+12+1f_i=\frac{f_{i-1}+f_{i+1}}{2}+1fi?=2fi?1?+fi+1??+1
然后f?l=fr=0f_{-l}=f_r=0f?l?=fr?=0然后求f0f_0f0?

然后拆出來
2fi=fi?1+fi+1+22f_i=f_{i-1}+f_{i+1}+22fi?=fi?1?+fi+1?+2
(fi+1?fi)?(fi?fi?1)=?2(f_{i+1}-f_{i})-(f_{i}-f_{i-1})=-2(fi+1??fi?)?(fi??fi?1?)=?2
也就是fff數組兩次差分是一個常數,所以說fff可以被表示成一個二次函數,設fx=ax2+bx+cf_x=ax^2+bx+cfx?=ax2+bx+c,那么fx′=fx?fx?1=2ax?a+bf'_x=f_{x}-f_{x-1}=2ax-a+bfx?=fx??fx?1?=2ax?a+b,然后fx′′=fx′?fx?1′=2a=?2f''_x=f'_{x}-f'_{x-1}=2a=-2fx?=fx??fx?1?=2a=?2,所以fx=?x2+bx+cf_x=-x^2+bx+cfx?=?x2+bx+c

因為知道零點{?(?l)2+b(?l)+c=0?r2+br+c=0\left\{\begin{matrix}-(-l)^2+b(-l)+c=0\\-r^2+br+c=0\end{matrix}\right.{?(?l)2+b(?l)+c=0?r2+br+c=0?,所以解出來{b=r?lc=l×r\left\{\begin{matrix}b=r-l\\c=l\times r\end{matrix}\right.{b=r?lc=l×r?

所以其實答案就是l×rl\times rl×r

時間復雜度O(nlog?n)O(n\log n)O(nlogn)


code

#include<cstdio> #include<cstring> #include<algorithm> #include<cctype> using namespace std; const int N=1e5+10,P=998244353; int T,n,q,a[N]; int read(){int x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-f;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f; } int main() {T=read();n=read();q=read();for(int i=1;i<=n;i++)a[i]=read();sort(a+1,a+1+n);int k=1,p1=0,p2=0,p3=0,p4=2147483647;for(int i=1;i<=q;i++){int x=read();while(k<n&&a[k]<x)k++;int ans=1ll*(a[k]-x)*(x-a[k-1])%P;p1^=ans;p2+=(ans&1);p3=max(p3,ans);p4=min(p4,ans);}printf("%d\n%d\n%d\n%d",p1,p2,p3,p4);return 0; }

總結

以上是生活随笔為你收集整理的P7099-[yLOI2020]灼【数学期望,结论】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。