摘要:题目描述:给定一个区间中,将区间的每一个数看成一个字符串,求这个区间内每个字符串的最大上升子序列等于k的个数。可以采用nlogn的LIS(用一个C数组记录长度为i的最大上升子序列的结尾最小值),所以可以采用dfs暴力枚举每一个数,并且由于数的长度最大为18位,所以c数组可以用一个状态数表示。dp[l...
阅读全文
摘要:题目描述:求给定区间中的回文数有多少个?首先明确一点,如果一个数是回文数,那么给这个数两边加上相同的数,那么这个数还是回文数。根据这点就可以进行递推了,p[start][end]=9*p[start+1][end-1](start位不为0)+p[start-1][end](start位为0);在设计...
阅读全文
摘要:BombTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 10649Accepted Submission(s): 3758Problem Desc...
阅读全文
摘要:求一段区间中被k整除,各个位数相加之和被k整除的数的个数。这不是重点,重点是k太大了,最大值有10000,所以不能直接开那么大的数组。仔细分析一下可以发现,由于数最大是2的31次方(2147483648),所以当k>90时,直接输出0即可。#include #include #include #in...
阅读全文
摘要:求一个区间内的数含有多少个0.dp[len][pre]表示长度为len的数,含有pre个0.需要加一个标记,来表示前缀是否为0(可以是一串连续的0),如果前缀一直为0,就一直搜,如果前缀不为0,就可以用到dp[len-1][pre+1]或者dp[len-1][pre]了,如果前缀的最后一位是0,就是...
阅读全文
摘要:Balanced NumberTime Limit: 10000/5000 MS (Java/Others)Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 2945Accepted Submission(s): 1348Pr...
阅读全文
摘要:B-numberTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3257Accepted Submission(s): 1819Problem De...
阅读全文
摘要:不要62Time Limit: 1000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 25802Accepted Submission(s): 8967Problem Descr...
阅读全文
摘要:Good NumbersTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3360Accepted Submission(s): 1064 Prob...
阅读全文