PID38 串的记数(codevs2077)】的更多相关文章

/* 假设当前有a个A b个B c个C 用 f[a][b][c]来表示 那么如果这个串以A结尾 那就是 f[a-1][b][c]转移来的 所以构成 f[a][b][c]的串一定有一部分是 f[a-1][b][c] 同理 B C 所以: f[a][b][c] = f[a-1][b][c]+f[a][b-1][c]+f[a][b][c-1] 至于题目里那个什么前缀什么规则 既然f[1][1][1] 合法 那么他转移出来的 f[1][1][2] f[1][2][1] f[2][1][1]自然也合法 最…
原题地址:http://www.rqnoj.cn/problem/38 解题思路: 状态表示:dp[i][j][k]表示i个A,j个B,k个C组成的满足条件的字符串的个数 初始状态:dp[0][0][0]=1. 状态转移方程:dp[i][j][k]=dp[i-1][j][k]+dp[i][j-1][k]+dp[i][j][k-1]  其中要满足i>j>k>0. 要注意的是,答案非常大,要用大数模板...Orz 大数模板就不贴了,就贴动态规划的部分: 部分代码: BigNum dp[][]…
为什么要写这样滴一篇博客捏...因为一个新初一问了一道水题,结果就莫名其妙引起了战斗. 然后突然发现之前理解的桶排序并不是真正的桶排序,所以写一篇来区别下这三个十分相似的排序辣. 老年菜兔的觉醒!!! 记数排序 记数排序是一种很快的排序算法,但是要很多的空间. 具体的操作: 比如说给一个这样的数列:    6 9 3 2 3 5 我萌需要一个数组   a[i] 表示 数列中 数值为 i 的有多少个 这样 就可以 O(n) 处理出这个数组 read(x); a[x]++; 比如辣个栗子的a数组是这…
1 标准输出 python3利用 print() 来实现标准输出 def print(self, *args, sep=' ', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by d…
记数问题 (count.cpp/c/pas) [问题描述]  试计算在区间1到n的所有整数中,数字x(0≤x≤9)共出现了多少次?例如,在1到11中,即在1.2.3.4.5.6.7.8.9.10.11中,数字1出现了4次. [输入] 输入文件名为count.in. 输入共1行,包含2个整数n.x,之间用一个空格隔开. [输出] 输出文件名为count.out. 输出共1行,包含一个整数,表示x出现的次数. [输入输出样例] [数据说明] 对于100%的数据,1≤n≤1,000,000,0≤x≤9…
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6084 [题目大意] 对于一个串S,当它同时满足如下条件时,它就是一个01偏串: 1.只由0和1两种符组成: 2.在S的每一个前缀中,0的个数不超过1的个数: 3.S中0的个数和1的个数相等. 现在给定01偏串S,请计算一下S在所有长度为n的01偏串中作为子串出现的次数的总和. 由于结果比较大,结果对1e9+7取余后输出. [题解] 我们发现01偏串实际上等价于合法括号序列, 在合法括号序列中取出…
题意:将一个字符串分割成最少的字符串,使得分割出的每个字符串都是回文串.输出最小的分割数. 方法(自己的):先O(n^2)(用某个点或某个空区间开始,每次向左右扩展各一个的方法)处理出所有子串是否回文.然后常规区间dp,ans[i][j]表示i到j的子串的最小划分数.如果i到j的子串本身为回文串,那么ans[i][j]为1,否则枚举所有方案将i到j划分为两个区间,取所有两个区间结果之和的最小值. 方法(其他,大概就是压了一下空间,压了一下时间的常数):http://blog.csdn.net/l…
链接:https://nanti.jisuanke.com/t/35618 题意: 如果一个数大于等于 1010 且任意连续两位都是质数,那么就称之为 Wish 数.当然,第一个 Wish 数是 1111. 比如 9797,111111,131131,119119 都是 Wish 数,而 1212,136136 则不是.问第 NN 个 Wish 数是多少. 思路:预处理一下  1 -  9 每个数后面可以跟的能够与它组成两位数字并且为素数的数字. dp[ i ] [ j ]  i 的含义是 i…
Description 求两两互不同构的含n个点的简单图有多少种. 简单图是关联一对顶点的无向边不多于一条的不含自环的图. a图与b图被认为是同构的是指a图的顶点经过一定的重新标号以后,a图的顶点集和边集能完全与b图一一对应. Input 输入一行一个整数N,表示图的顶点数,0<=N<=60 Output 输出一行一个整数表示含N个点的图在同构意义下互不同构的图的数目,答案对997取模. \(\\\) 根据Burnside引理,答案就是所有置换下不动元的平均数(人话).一个置换可以理解为一种排…
题意 在所以置换下,本质不同的\(n\)阶图个数 做法 可以假想成\(K_n\),边有黑白两色,黑边存在于原图,白边存在于补图 由于\(n\le 60\),可以手算出拆分数不大,所以我们爆搜置换群 对于一个拆分方案(置换的分解序列)\((a_1,a_2,...,a_k)(a_1\le a_2\le ...\le a_k)\) 考虑某个因子内的黑边\((m=|a_i|)\),如果\((1,2)\)为黑边,则\((2,3),(3,4),...,(m,1)\)均为黑边 依次可推得有\(\left\lf…