部分系列题当然是不齐的。JZP系列 JZPKIL 数论,反演,积性函数,伯努利数,(常数优化) JZPFAR k-d树 JZPTAB 分块 hash sam【太可怕了 不会写】 JZPLCM 三维偏序,可持久化线段树维护 JZPEXT 数位统计(常数优化) JZPGYZ suffix array水....
分类:
其他好文 时间:
2014-07-11 09:50:41
阅读次数:
229
大多数人的写法是进行位压缩,不过那样的话需要2^18*100 的空间,效率比较低,重复状态数较多,处理起来也不方便,这一题是给出了512M的空间。但是如果空间再小一倍,前者的方法就无能为力了。
发现有一种对于数位dp来说比较好的状态压缩方式,直接根据数码x出现的次数进行状态压缩。比如说333444,如果用前者的方法压缩就需要2^6=64的空间,而直接按照出现次数压缩就只需要3*3的空间,对于极限数据,利用均值不等式,也差不多只需(ceil(18/10+1)^10)=59049的空间,提高了空间的利用率(原来...
分类:
其他好文 时间:
2014-07-10 19:35:18
阅读次数:
213
位运算符是在数字底层(即表示数字的 32 个数位)进行操作的。重温整数ECMAScript 整数有两种类型,即有符号整数(允许用正数和负数)和无符号整数(只允许用正数)。在 ECMAScript 中,所有整数字面量默认都是有符号整数,这意味着什么呢?有符号整数使用 31 位表示整数的数值,用第 32...
分类:
其他好文 时间:
2014-07-09 22:46:20
阅读次数:
353
Balanced Number
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)
Total Submission(s): 1871 Accepted Submission(s): 836
Problem Description
A balanced...
分类:
其他好文 时间:
2014-07-09 11:54:01
阅读次数:
187
题目连接:uva 12009 - Avaricious Maryanna
题目大意;给定n,求x,x为n位数,并且x*x的后n位还是x。
解题思路:打个表会发现其实有规律,除了n=1的时候多了0和1,其他都是n-1位的基础上再新增一位数,1位的时候是5,6.
#include
#include
#include
using namespace std;
const int m...
分类:
其他好文 时间:
2014-07-09 11:11:09
阅读次数:
137
UVA 12009 - Avaricious Maryanna
题目链接
题意:给定一个n,求出n个数位组成的数字x,x^2的前面|x|位为x
思路:自己先暴力打了前几组数据,发现除了1中有0和1以外,其他数据都是由前一项往上再添加一位得到的,因此设新数字为(a?10k+x)2=(a?10k)2+x2+2?a?10k?x
因此(a?10k+x)=((a?10k)2+x2+2?a...
分类:
其他好文 时间:
2014-07-08 20:57:03
阅读次数:
178
http://acm.hdu.edu.cn/showproblem.php?pid=4722
大致题意:若一个整数的各位数字之和是10的倍数,称这个数为"good number"。给出区间[A,B],求出该区间内"good number"的数的个数。
第一道数位dp,折腾了半天才明白怎么回事。
设dp[site][mod]表示到第site位(由高位向低位)前面各位数字之和对1...
分类:
其他好文 时间:
2014-07-08 20:46:41
阅读次数:
223
找到规律之后本题就是水题了,不过找规律也不太容易的,证明这个规律成立更加不容易。
本题就是求step和mod如果GCD(最大公约数位1)那么就是Good Choice,否则为Bad Choice
为什么这个结论成立呢?
因为当GCD(step, mod) == 1的时候,那么第一次得到序列:x0, x0 + step, x0 + step…… 那么mod之后,必然下一次重复出现比x0大的数必...
分类:
其他好文 时间:
2014-07-08 19:16:21
阅读次数:
227
http://acm.hdu.edu.cn/showproblem.php?pid=3652
大致题意:"B-number"即一个整数含有子串"13"且被13整除。求1-n之间这样的数的个数。
思路:有两个限制条件:含有子串“13”和能被13整除。那么设dp[site][mod][flag],表示到第site位对13取余为mod且标记为flag的数的个数。flag表示是否含有子...
分类:
其他好文 时间:
2014-07-08 13:43:12
阅读次数:
173
def isOdd(n):
return n & 1
def Reorder(data, cf = isOdd):
odd = 0
even = len( data ) - 1
while True:
while not isOdd( data[ even ]) : even -= 1
while isOdd( data[ odd ]) : odd += 1
if odd ...
分类:
其他好文 时间:
2014-07-08 12:47:26
阅读次数:
276