傳送門
不難看出期望就是 (n+
m)!∏
v=1m
ax(c
ntv!
)\frac^(cnt_v!)}
∏v=1ma
x(c
ntv
!)(n
+m)!
,cntv
cnt_v
cntv
表示 v
vv 這個數出現的次數。
貪心就是直接把 m
mm 個數字每次選擇乙個 cnt
cntcn
t 最小的加入,使得最後 [l,
r]
[l,r]
[l,r
] 內每個數字出現的次數盡量平均。
直接按照數字出現的次數排序,從大到小列舉平均的次數是多少即可。
# include
using
namespace std;
typedef
long
long ll;
const
intmaxn
(2e5+5
);const
intmod
(998244353);
inline
void
inc(
int&x,
const
int y)
inline
intpow
(ll x,
int y)
int n, m, l, r, a[maxn]
, val[maxn]
, cnt[maxn]
, tot, ans;
int fac[
(int
)1e7
+ maxn]
;inline
void
solve()
n = tot, ans =
1, tot =0;
for(i =
1; i <= n;
++i)
if(val[i]
< l || val[i]
> r) ans =
(ll)ans * fac[cnt[i]
]% mod;
else cnt[
++tot]
= cnt[i]
, m +
= cnt[i]
;sort
(cnt +
1, cnt + tot +1)
;for
(i = tot;
~i;--i)
m -= cnt[i]
,--len, ans =
(ll)ans * fac[cnt[i]
]% mod;
} ans =
(ll)
pow(ans, mod -2)
* facn % mod;
printf
("%d\n"
, ans);}
intmain()
BZOJ3195 Jxoi2012 奇怪的道路
time limit 10 sec memory limit 128 mb 小宇從歷史書上了解到乙個古老的文明。這個文明在各個方面高度發達,交通方面也不例外。考古學家已經知道,這個文明在全盛時期有n座城市,編號為1.n。m條道路連線在這些城市之間,每條道路將兩個城市連線起來,使得兩地的居民可以方便地...
bzoj3195 Jxoi2012 奇怪的道路
time limit 10 sec memory limit 128 mb submit 544 solved 354 submit status discuss 小宇從歷史書上了解到乙個古老的文明。這個文明在各個方面高度發達,交通方面也不例外。考古學家已經知道,這個文明在全盛時期有n座城市,編號為...
bzoj3195 Jxoi2012 奇怪的道路
題目鏈結 一張 n 個點 m 條邊的無向圖,每個點度數為偶數,乙個點只能向標號與它的差不超過 k 的點連邊,問構圖方案。三維狀態搞了半天的我眼淚掉下來t t f i j s l 表示,前 i 個點,已經連了 m 條邊,第 i k 個點到第 i 個點的狀態為 s 當前討論 i 與 i k l 的連邊情...