阿拉~好像最近总是做到 AC 自动机的题目呢喵~题目的算法似乎马上就能猜到的样子…… AC 自动机 + 数位 dp先暴力转移出 f[i][j] :表示从 AC 自动机上第 j 号节点走 i 步且不碰到匹配串的方案数然后直接用数位 dp 一位一位的试就可以了,大家都会吧~但是…… 有前导 0 的情况真...
分类:
其他好文 时间:
2014-11-17 22:33:26
阅读次数:
290
如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。
有点数位DP的味道,这个要记得不相邻,但是自己跟自己可以。还有就是枚举的是往前插
dp[i][j] 长i,...
分类:
其他好文 时间:
2014-11-17 21:20:11
阅读次数:
140
题意:
给一个N和一个R(用二进制表示)
问 [0,R)二进制中含有N个1的数之和
样例 1 1000
答案为 1+2+4=7
思路:
数位dp[1002][1002]第几位含有几个1
然后需要存的有两东西一个是有多少个数,以及和是多少
接着转移的时候 就是状态的sum=这个site的位权*之后含有的个数+之后的和
记得个数和和都要取模,一开始个数忘记取模了 %>_
然后需要...
分类:
其他好文 时间:
2014-11-17 14:10:00
阅读次数:
187
注意:自定义函数要放在项目应用目录/common/common.php中。 这里是关键。模板变量的函数调用格式:{$varname|function1|function2=arg1,arg2,### }说明:{ 和 $ 符号之间不能有空格,后面参数的空格就没有问题;###表示模板变量本身的参数位置 ...
分类:
Web程序 时间:
2014-11-17 13:58:36
阅读次数:
151
HDU 1431 素数回文(回文素数)
http://acm.hdu.edu.cn/showproblem.php?pid=1431
题意:
给你两个整数a,b。(5 <= a < b <= 100,000,000)要你按顺序输出[a,b]区间内的所有回文素数。
分析:
定理:如果一个数是回文且有偶数位,那么它能被11整除。
根据上面定理我们可知我们只需要找到区间[2,1000W)内的素数即可。(想想为什么)上面b的范围直接缩小了10倍。
剩下的工作就是用...
分类:
其他好文 时间:
2014-11-16 16:02:38
阅读次数:
183
题目链接:hdu 5106 Bits Problem
题目大意:给定n和r,要求算出[0,r)之间所有n-onebit数的和。
解题思路:数位dp,一个ct表示个数,dp表示和,然后就剩下普通的数位dp了。不过貌似正解是o(n)的算法,但是n才
1000,用o(n^2)的复杂度也是够的。
#include
#include
#include
using namespac...
分类:
其他好文 时间:
2014-11-16 12:08:06
阅读次数:
125
题一: (1)给出一个整数(负数使用其绝对值),输出这个整数中的两种递减数(1.最大递减数;2.递减数中各位数之和最大的数)之和。 递减数:一个数字的递减数是指相邻的数位从大到小排列的数字,不包含相邻的数位大小相同的情况。最大递减数:所输入整数的所有递减数中值最大的一个。 如: 75345323,递...
分类:
其他好文 时间:
2014-11-15 18:49:08
阅读次数:
287
Lowest Bit
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 8166 Accepted Submission(s): 5998
Problem Description
Given an posi...
分类:
其他好文 时间:
2014-11-14 21:14:21
阅读次数:
170
题目链接:zoj 3494 BCD Code
题目大意:给定n个2进制串,然后有一个区间l,r,问说l,r之间有多少个数转换成BCD二进制后不包含上面的2进制串。
解题思路:AC自动机+数位dp。先对禁止串建立AC自动机,所有的单词节点即为禁止通行的节点。接着进行数位dp,
dp[i][j]表示第i为移动到节点j的可行方案数,每次枚举下一位数字,因为是BCD二进制,所以每位数要一...
分类:
其他好文 时间:
2014-11-13 20:49:18
阅读次数:
229
题目链接:poj 3208 Apocalypse Someday
题目大意:给定n,输出第n大包含666的数字。
解题思路:数位dp,用类似AC自动机的思想进行转移。首先dp[i][j]表示说i位最后有j个连续6的情况数,这个预处理出
来。那么dp[i][3]即为i位有多少个满足的数。给定n,先确定位数d。然后从最高位向下判断,一开始肯定是需要3个连续
的6,所以u为3,然...
分类:
其他好文 时间:
2014-11-13 20:47:46
阅读次数:
157