n
nn個數的序列,排序後讓隨機k
kk個數加上d
dd,求依舊滿足單調上公升的期望概率
對於乙個位置加上d
dd後會讓到後面一段範圍內都得加上d
dd。我們預處理乙個l
il_i
li表示如果i
ii加上d
dd後[i+
1,li
][i+1,l_i]
[i+1,l
i]都得加上ddd。
然後設fi,
jf_
fi,j
表示到第i
ii個加了k
kk次依舊滿足條件的方案數。
然後o (n
2)dp
o(n^2)dp
o(n2)d
p即可
#include
#include
#include
#define ll long long
using
namespace std;
const
int n=
5100
,xjq=
998244353
;int n,d,l[n]
,a[n]
,f[n]
[n],c[n]
[n];
intpower
(int x,
int b)
return ans;
}int
main()
f[1][
0]=c[0][
0]=1
;for
(int i=
1;i<=n;i++)}
for(
int i=
1;i<=n+
1;i++
)for
(int j=
1;j<=n+
1;j++
) c[i]
[j]=
(c[i-1]
[j]+c[i-1]
[j-1])
%xjq;
for(
int i=
1;i<=n;i++
)printf
("%d\n"
,(ll)f[n+1]
[i]*
power
(c[n+1]
[i+1
],xjq-2)
%xjq)
;}
牛客練習賽69 D 火柴排隊
長度為 n nn 序列 a aa 中找出 k kk 個數加 d dd,使新序列中如果 ai aj a i a j ai aj 那麼原序列也 a i aj a i a j ai aj 的概率。對於每個 1 k n 1 le k le n 1 k n,你都要輸出其對應的答案,答案模 998244353 ...
牛客練習賽 69
第一次打牛客直接。y1s1牛客的評測系統真的慢,搞得我不想交 題目鏈結 首先先對陣列a逆序貪心可得val i,j a1 a2 ai j val i,j a 1 a 2 dots a val i,j a 1 a 2 ai j 嘗試證明 分析可知我們最終會選擇i j i ji j個陣列a的數,貪心肯定每...
牛客練習賽69 B
題意 給定n nn個數,乙個x xx表示可以劃分成最多x xx個串,乙個y yy表示在乙個串中最多選擇y yy個數。最後求 i 1x j 1yv al i j sum x sum yval i,j i 1x j 1 y va l i,j v al i,j val i,j val i,j 為 將n n...