2015年9月9日

light oj 1205(数位DP)

摘要: 题目描述:求给定区间中的回文数有多少个?首先明确一点,如果一个数是回文数,那么给这个数两边加上相同的数,那么这个数还是回文数。根据这点就可以进行递推了,p[start][end]=9*p[start+1][end-1](start位不为0)+p[start-1][end](start位为0);在设计... 阅读全文

posted @ 2015-09-09 21:35 爱装逼的书呆子 阅读(308) 评论(0) 推荐(0) 编辑

2015年9月6日

hdu4417(离线操作 + 树状数组)

摘要: 题意:给定一个长度为n的数组,有m次的查询,每次查询[a,b]区间里比H小的数有多少个?由于n和m的取值范围为0到10的5次方,所以直接回答会超时,所以考虑先读入所有的查询操作,然后依次回答比H小的[a,b]区间里的数有多少个,求和类似于求正序数的方法。写法可以边插变查,也可以边查边插,边查边插简单... 阅读全文

posted @ 2015-09-06 17:10 爱装逼的书呆子 阅读(265) 评论(0) 推荐(0) 编辑

2015年9月3日

zoj3777(状态压缩)

摘要: 题目阐述:给定n个座位,n个人,每个人可以做n个位置中的任意一个,P[i][j]代表第i个人做第j个位置获得的分数,求有多少种排列方式使得获得的分数大于等于M。这道题跟数位dp的思想很像,都是穷举可能的方式,不过数位DP由于前缀的影响可以记忆化,这道题由于n较小,可以直接状态压缩.定义状态d[i][... 阅读全文

posted @ 2015-09-03 21:36 爱装逼的书呆子 阅读(318) 评论(0) 推荐(0) 编辑

2015年8月26日

hdu3555(数位DP dfs/递推)

摘要: BombTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 10649Accepted Submission(s): 3758Problem Desc... 阅读全文

posted @ 2015-08-26 11:18 爱装逼的书呆子 阅读(300) 评论(0) 推荐(0) 编辑

Lightoj 1068(数位DP)

摘要: 求一段区间中被k整除,各个位数相加之和被k整除的数的个数。这不是重点,重点是k太大了,最大值有10000,所以不能直接开那么大的数组。仔细分析一下可以发现,由于数最大是2的31次方(2147483648),所以当k>90时,直接输出0即可。#include #include #include #in... 阅读全文

posted @ 2015-08-26 10:13 爱装逼的书呆子 阅读(229) 评论(0) 推荐(0) 编辑

2015年8月25日

hdu1584(状态压缩DP)

摘要: 蜘蛛牌Time Limit: 10000/5000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2068Accepted Submission(s): 844Problem Descrip... 阅读全文

posted @ 2015-08-25 16:58 爱装逼的书呆子 阅读(352) 评论(0) 推荐(0) 编辑

light oj 1032(数位DP)

摘要: 求一段区间中,每个十进制数所对应的二进制数中连续的1的个数之和。设dp[i][0]代表长度为i的二进制数,首位为0,所含有的连续的1的个数之和。dp[i][1]代表长度为i的二进制数,首位为1,所含有的连续的1的个数之和。a: d[i][1]=d[i-1][0]+d[i-1][1]+(1#inclu... 阅读全文

posted @ 2015-08-25 10:12 爱装逼的书呆子 阅读(226) 评论(0) 推荐(0) 编辑

2015年8月22日

Lightoj 1140(数位DP)

摘要: 求一个区间内的数含有多少个0.dp[len][pre]表示长度为len的数,含有pre个0.需要加一个标记,来表示前缀是否为0(可以是一串连续的0),如果前缀一直为0,就一直搜,如果前缀不为0,就可以用到dp[len-1][pre+1]或者dp[len-1][pre]了,如果前缀的最后一位是0,就是... 阅读全文

posted @ 2015-08-22 16:03 爱装逼的书呆子 阅读(256) 评论(0) 推荐(0) 编辑

2015年8月21日

hdu4507(数位DP)

摘要: 题目意思: 给定一个区间,求这段区间中,不含7,对7取余为0,各个位数相加之和对7取余为0的数的平方和。设d[i][j][k][m]代表长度为i的,对7取余为j的,各个位数相加之和对7取余为k的数的平方和,但是算平方和需要用到这些数的和,这些数的个数。所以用了一个结构体数组保存每种状态的Count,... 阅读全文

posted @ 2015-08-21 21:03 爱装逼的书呆子 阅读(428) 评论(0) 推荐(0) 编辑

hdu5396(区间DP)

摘要: 题目意思:给定一个表达式,运算符没有优先级,求不同顺序计算,所有可能的得到的结果之和。由于运算符没有优先级,所以有多种顺序去计算,设d[i][j]表示[i,j]区间表达式通过不同顺序计算,所以可能得到的结果之和,枚举最后一次运算符是第t个,有可能是加减乘三种,所以需要不同处理。最后由于s[i][t]... 阅读全文

posted @ 2015-08-21 14:31 爱装逼的书呆子 阅读(163) 评论(0) 推荐(0) 编辑

导航