题目描述 小$A$和小$B$在做游戏.他们找到了一个$n$行$m$列呈网格状的画板.小$A$拿出了$p$支不同颜色的画笔,开始在上面涂色.看到小$A$涂好的画板,小$B$觉得颜色太单调了,于是把画板擦干净,希望涂上使它看起来不单调的颜色(当然,每个格子里只能涂一种颜色).小$B$想知道一共有多少种不单调的涂色方案.我们定义一个涂色方案是不单调的,当且仅当任意相邻两列都出现了至少$q$种颜色. 输入格式 一行四个整数$n,m,p,q$,意义如题中所述. 输出格式 一行一个整数,表示不单调的涂色方案…
题意 题目给出m(m<=10)个仅仅由A,T,C,G组成的单词(单词长度不超过10),然后给出一个整数n(n<=2000000000),问你用这四个字母组成一个长度为n的长文本,有多少种组成方法可以使得它不含任何一个给出的单词. 分析 当时一看以为是跟训练指南上(UVA11468)一样的题,感觉只有四个字母并且单词数量和长度也比较小,但是一看给出的n有点懵逼.如果再按照书上建立AC自动机以后直接跑DP的方法肯定是不行了.然后我们就要用到,递推利器,矩阵快速幂. 我们还是按照套路先把AC自动机建…
明明是水题结果没切掉……降智了…… 首先令 $c$ 为序列中 $0$ 的个数,那么排序后序列肯定是前面 $c$ 个 $0$,后面 $n-c$ 个 $1$. 那么就能上 DP 了.(居然卡在这里……) $f[i][j]$ 表示经过 $i$ 次操作后,前 $c$ 个数中有 $j$ 个 $0$ 的方案数.答案就是 $\dfrac{f[k][c]}{\sum f[k][i]}$. 这个状态的好处就是可以直接求出以下这些值: 前 $c$ 个数中 $1$ 的个数为 $c-j$ 后 $c$ 个数中 $0$ 的…
题目描述 庭院里有一棵古树.圣诞节到了,我想给古树做点装饰,给他一个惊喜.他会不会喜欢呢?这棵树可以分为$n$层,第$i$层有$a_i$个防治装饰品的位置,有$m$种颜色的装饰品可供选择.为了能让他喜欢,我想让装饰品满足以下条件:$1.$在同一层两个相邻的装饰品不能有同一种颜色:$2.$相邻两层的颜色集合不能相同(这里颜色集合是指这一层所有出现的颜色去重之后的集合,也就是每个颜色只在集合被最多出现一次).我想知道,有多少种不同的方案能让他满意呢?由于方案书可能很多,请告诉我模$p$之后的答案.谢…
H. Special Palindrome time limit per test:1 second memory limit per test:64 megabytes input:standard input output:standard output A sequence of positive and non-zero integers called palindromic if it can be read the same forward and backward, for exa…
真的是很有趣的游戏... 对每个单词构建好AC自动机后,由于单词都是相同长度的且不同,所以不会出现互相为子串的形式. 那么我们对AC自动机上的节点构建转移矩阵.对于每个单词末尾的节点.该节点的出边仅仅与自己相连且概率为1. 表示如果已经出现了该单词游戏就结束了.答案是收敛的,我们对这个矩阵迭代个2^50次应该就可以求出近似的答案了. # include <cstdio> # include <cstring> # include <cstdlib> # include…
题意:给一个有向图,从任意点开始,最多走m步,求形成的图案总数. 思路:令dp[i][j]表示走j步最后到达i的方法数,则dp[i][j]=∑dp[k][j-1],其中k表示可以直接到达i的点,答案=∑dp[i][j].关键在于如何减少状态转移的时间,考虑用矩阵加速. 构造矩阵:D = ,其中a[i][j]表示有向图,用于状态转移,右边的一列1用于累加答案 则答案=[1,1,...1n+1]*DM-1=∑∑DM-1[i][j],1≤i≤n+1,1≤j≤n+1 PS:封装的ModInt放矩阵的最里…
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1835 基准时间限制:1 秒 空间限制:131072 KB   初始有n个点,任意两个点之间有一条无向边,现在要移除一些无向边(至少一条),问移除后有恰好m个连通块的方案数是多少. 两个方案不同当且仅当存在至少一条无向边在某个方案中被移除,但是在另一个方案中没被移除. 答案可能很大请模一个998,244,353.   Input 第一行读入n,m. 1<=m<…
https://www.lydsy.com/JudgeOnline/problem.php?id=2004 以前只会状压dp和矩阵快速幂dp,没想到一道题还能组合起来一起用,算法竞赛真是奥妙重重 小Z所在的城市有N个公交车站,排列在一条长(N-)km的直线上,从左到右依次编号为1到N,相邻公交车站间的距 离均为1km. 作为公交车线路的规划者,小Z调查了市民的需求,决定按下述规则设计线路: .设共K辆公交车,则1到K号站作为始发站,N-K+1到N号台作为终点站. .每个车站必须被一辆且仅一辆公交…
题目描述 分析 定义出\(dp[i][j]\)为第\(i\)列涂\(j\)种颜色的方案数 然后我们要解决几个问题 首先是求出某一列涂恰好\(i\)种颜色的方案数\(d[i]\) 如果没有限制必须涂\(i\)种,而是有的颜色可以不涂,那么方案数为\(i^n\) 为了避免少涂的情况,我们减去只涂\(1 \sim i-1\)种颜色的方案数 即\(d[i]=i^n-\sum_{j=1}^{i-1}C_i^j \times d[j]\) 初始化为\(d[1]=1\) 接下来考虑转移 \(f[i][j]=f…