为了能到远方,脚下的每一步都不能少.|

园龄:粉丝:关注:

2023-11-08 21:45阅读: 30评论: 1推荐: 0

20231108数数与dp题笔记

数数与dp

CF294C Shaass and Lights

记被分成的 m+1 段每一段的长度为 li

答案为

(nm)!i=1m+1li!×i=1m+12li1

前面是不同段之间的顺序打乱,后面是每一段中前 li1 个操作各有 2 个选择

CF1753C Wish I Knew How to Sort

先数有几个 0 记为 cnt

在数前 cnt 个有几个 1 记为 tot

答案为

i=1totn(n1)2i2

即对于每一对有 n(n1)2 操作,其中有 i2 对操作是有效的,即从 [1,cnt] 选一个 1 与一个 [cnt+1,n] 选一个 0 交换

CF1657E Star MST

dp[i][j] 表示考虑到第 i 个点,目前和 1 相连的最长的边为 j 的方案数

sumi,j=k=1jdpi,k

dpi,j=t=1i1sumt,j1(ntit)(kj+1)(i+t3)(it)2

CF660E Different Subsets For All Tuples

经典套路,转化为求每个可能的串的贡献

发现对于长度相同的串,贡献是一样的,所以考虑怎么求一个定长的串的贡献

设当前考虑的串长为 k , 最后一个字符的位置为 j

选择哪些是子串内的有 (j1k1) 种方案, j 之前每个非子串内的字符有 m1 种选择,因为不能提前选到下一个字符,j 之后的字符每个有 m 种选择

所以总共有

k=1nmkj=kn(j1k1)(m1)jkmk1=j=0n1k=0jmnjmk(m1)jk(jk)

注意到 mk(m1)jk 是二项式形式,所以原式为

j=0n1mnj(2m1)j

暴力计算即可

p.s. 好像最后是个卷积可以FFT?

CF785D Anton and School - 2

统计前缀左括号和后缀右括号个数 对与每个左括号 以它为最后一个左括号的答案数量为

i=1min(prex,sufx)(prexi)(sufxi)=(prex+sufx+1prex)

CF1540B Tree Array

先枚举根节点

枚举两个点 x,y(x>y) 考虑这两个点产生逆序对的概率,其实等于给定两个长度分别为 depxdeplca,depydeplca 的序列,每次概率均等的取走一个, 前者在后者之前取完的概率

dp[i][j] 表示长度分别为 i,j 时的概率

dpi,j=dpi1,j1+dpi1,j2

CF1716F Bags with Balls

挖坑待填

CF1437F Emotional Fishermen

最后的序列一定为 P1...P2...P3...

其中满足 PiPi+1

a 排序以后求出 limi 表示最大的 j 使得 2ajai

dp[i] 表示当前 iP 的方案数

dpi=j=0limidpj×Anlimj2limilimj1

CF1657F Words on Tree

不太理解这为什么被扔数数题里了

考虑每个操作其实是给了每个点两种可能,最后其实是问能不能使所有的点不冲突,明显可以 2-SAT

CF1626F A Random Code Problem

对于每个 ai 先对 lcm(1,2,,k1) 取模对答案是没有影响的,因为不会影响余数,即不会影响每次减去的数

于是 1ai998244353 转化为 1ai<720720

dp[i][j] 表示第 i 轮后,值为 j 的数的期望个数

dpi+1,jdpi,j×(n1)dpi+1,j(jmodi+1)dpi,j

本文作者:xiaruize's Blog

本文链接:https://www.cnblogs.com/xiaruize/p/17818425.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   xiaruize  阅读(30)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起