杂题收录+简要题解1

Codeforces 768G The Winds of Winter

有一棵 n n n个点的有根树,在删掉一个点后得到一个森林,现在可以把某个点的父亲换为另一个点,使得节点数最大的子树的大小最小。要求对每个点求删掉该点后的答案。
n ≤ 1 0 5 n\le10^5 n105

s i z e [ x ] size[x] size[x]表示子树大小,用主席树维护一下每个点子树中的 s i z e size size和它到根路径上的 s i z e size size,每次一定是把删掉该点后最大的树的某棵子树接到最小的树上,于是直接在主席树上查询即可。
时间复杂度 O ( n log ⁡ n ) O(n\log n) O(nlogn)

hdu 6312 Game

有一个集合 S = { 1 , … , n } S=\{1,\dots,n\} S={ 1,,n},两个人轮流操作,每次可以选走集合中的一个数和它的所有约数,问先手是否必胜。
T ≤ 10 , n ≤ 500 T\le10,n\le500 T10,n500

结论是先手必胜。若局面 S ′ = { 2 , … , n } S'=\{2,\dots,n\} S={ 2,,n}是先手必胜,则先手可用同样的方式获胜,反之则先手第一步取 1 1 1,同样是先手必胜。
时间复杂度 O ( 1 ) O(1) O(1)

luogu 2791 幼儿园篮球题

n n n个球,其中有 m m m个蓝球, n − m n-m nm个红球。现在从中选 k k k个球,选中 x x x个蓝球的代价为 x L x^L xL,问期望代价。
T ≤ 200 , n , m ≤ 2 ∗ 1 0 7 , L ≤ 2 ∗ 1 0 5 T\le200,n,m\le2*10^7,L\le2*10^5 T200,n,m2107,L2105

答案为 ∑ i = 0 k ( m i ) ( n − m k − i ) i L \sum_{i=0}^k\binom{m}{i}\binom{n-m}{k-i}i^L i=0k(im)(kinm)iL
= ∑ i = 0 k ( m i ) ( n − m k − i ) ∑ j = 1 i ( i j ) S ( L , i ) i ! =\sum_{i=0}^k\binom{m}{i}\binom{n-m}{k-i}\sum_{j=1}^i\binom{i}{j}S(L,i)i! =i=0k(im)(kinm)j=1i(ji)S(L,i)i!
= ∑ j = 1 k S ( L , i ) i ! ∑ i = 0 k ( m i ) ( i j ) ( n − m k − i ) =\sum_{j=1}^kS(L,i)i!\sum_{i=0}^k\binom{m}{i}\binom{i}{j}\binom{n-m}{k-i} =j=1kS(L,i)i!i=0k(im)(ji)(kinm)
= ∑ j = 1 k ( m j ) S ( L , i ) i ! ∑ i = 0 k ( m − j i − j ) ( n − m k − i ) =\sum_{j=1}^k\binom{m}{j}S(L,i)i!\sum_{i=0}^k\binom{m-j}{i-j}\binom{n-m}{k-i} =j=1k(jm)S(L,i)i!i=0k(ijmj)(kinm)
= ∑ j = 1 k ( m j ) ( n k ) S ( L , i ) i ! =\sum_{j=1}^k\binom{m}{j}\binom{n}{k}S(L,i)i! =j=1k(jm)(kn)S(L,i)i!
预处理斯特林数即可。

hdu 6314 Matrix

求有多少个 n ∗ m n*m nm 01 01 01矩阵满足至少有 a a a b b b列全是 1 1 1
T ≤ 5 , n , m ≤ 3000 T\le 5,n,m\le3000 T5,n,m3000

若只考虑行的情况,设容斥系数为 f i f_i fi,则 a n s = ∑ i = a n ( n i ) f i 2 n m − i m ans=\sum_{i=a}^n\binom{n}{i}f_i2^{nm-im} ans=i=an(in)fi2nmim
且可以得到 ∑ j = a i ( i j ) f j = 1 \sum_{j=a}^i\binom{i}{j}f_j=1 j=ai(ji)fj=1
可以 O ( n 2 ) O(n^2) O(n2)递推出 f i f_i fi,列的容斥系数同理,然后对两维分别容斥即可。

Codeforces 786E ALT

给定 n n n个节点的树,有 m m m个点对 ( x i , y i ) (x_i,y_i) (xi,yi)。现在要给若干条边和点对分配狗,对于个点对需要满足要么路径有狗,要么树上 x i x_i xi y i y_i yi路径上的每条边都有狗,问最少需要多少条狗。
n ≤

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值