07 2015 档案

SGU 390-Tickets(数位dp)
摘要:题意:有标号l-r的票,要给路人发,当给的票的编号的各数位的总和(可能一个人多张票)不小k时,才开始发给下一个人,求能发多少人。分析:这个题挺难想的,参考了一下题解,dp[i][sum][left] 长度i 当前数位和sum 前一子树剩余的和 #include #include #include #... 阅读全文

posted @ 2015-07-27 18:40 积跬步、至千里 阅读(383) 评论(0) 推荐(0)

Balanced Numbers(数位+状压)
摘要:题意:求给定区间,一个数的数位上每个奇数出现偶数次,每个偶数出现奇数次,这样数的个数分析:先考虑状态,但总是想不全,所以要把状态压缩一下,用三进制,0 该数不放 1 放了奇数次 2放了偶数次dp[i][j] 长度为i 状态是j的数字个数,需要前导0判断,前导0不能计入偶数出现的次数。#include... 阅读全文

posted @ 2015-07-27 18:22 积跬步、至千里 阅读(157) 评论(0) 推荐(0)

HDU 3271-SNIBB(数位dp)
摘要:题意:给一个数q,q=1时求给定区间,给定进制,各数位和等于m的数字的个数q=2时求给定区间,给定进制,各数位和等于m的数字中的第k大的数字分析:dp[i][sum][j],表示长度为i当前数位和是sum,进制是j的个数,q=2时用二分求出k大数题意给的区间[x,y],x不一定小于y,给定区间没k大... 阅读全文

posted @ 2015-07-27 18:06 积跬步、至千里 阅读(147) 评论(0) 推荐(0)

POJ 3208-Apocalypse Someday(数位dp)
摘要:题意:给定n,输出第n大包含666的数字。分析:dp[i][j][k][l]表示 长度为i,当前位是否是6,前一位是否6,是否已经包含666,表示的数量,再用二分找出第n大的这样的数字。#include #include #include #include #include #include #in... 阅读全文

posted @ 2015-07-27 09:21 积跬步、至千里 阅读(374) 评论(0) 推荐(0)

uva 11361 - Investigating Div-Sum Property(数位dp)
摘要:题意:题目大意:给出a,b,k,问说在[a,b]这个区间有多少n,满足n整除k,以及n的各个为上的数字之和也整除k。分析:dp[i][nmod][smod]长度为i,该数对k的余数,各位和对k的余数。#include #include #include #include #include #incl... 阅读全文

posted @ 2015-07-27 08:43 积跬步、至千里 阅读(225) 评论(0) 推荐(0)

POJ 2435Navigating the City(bfs)
摘要:题意:给你一个地图,’+’代表十字路口,‘-’‘|’表示街道,‘.’表示建筑物,‘s’,’E’ 起点和终点。输出从起点到终点的的 最短路径(包括方向和沿该方向的经过的十字路口数)分析:ans[i][j],起点到(i,j)点的最短路径,bfs求出所有,再从终点回推到起点得最短路径。#include #... 阅读全文

posted @ 2015-07-26 17:46 积跬步、至千里 阅读(444) 评论(0) 推荐(0)

UESTC 250 windy数(数位DP)
摘要:题意:题意:求区间[A,B]之间的,不含前导0,且相邻两数位之间相差至少为2的正整数有多少个.分析:dp[i][j]表示,长度为i、以j为结尾的表示的个数,再加一个前导0判断即可#include #include #include #include #include #include #includ... 阅读全文

posted @ 2015-07-26 17:35 积跬步、至千里 阅读(150) 评论(0) 推荐(0)

CF 55D - Beautiful numbers(数位DP)
摘要:题意:如果一个数能被自己各个位的数字整除,那么它就叫 Beautiful numbers。求区间 [a,b] 中 Beautiful numbers 的个数。分析:先分析出,2~9 的最大的最小公倍数是 2520({5,7,8,9}),先预处理出所有可能的最小公倍数m[c]dp[i][d][c]表示... 阅读全文

posted @ 2015-07-25 10:49 积跬步、至千里 阅读(232) 评论(0) 推荐(0)

HDU 3652 B-number(数位DP)
摘要:题意:统计区间 [1,n] 中含有 '13' 且模 13 为 0 的数字有多少个。分析:由(HDU 2089 不要62)和(CF 55D - Beautiful numbers)想到该题做法,dp[i][j][f][mod],长度为i,前缀是否为1,是否已符合条件,余数为mod的数字个数。#incl... 阅读全文

posted @ 2015-07-25 10:31 积跬步、至千里 阅读(174) 评论(0) 推荐(0)

不要62(HDU 2089数位dp入门)
摘要:题意:统计区间 [a,b] 中不含 4 和 62 的数字有多少个。分析:dp[i][f]数字表示不含 4 和 62的前提下,剩余长度为 len ,首位是否为 6 的个数。#include #include #include #include #include #include #include #i... 阅读全文

posted @ 2015-07-25 09:56 积跬步、至千里 阅读(206) 评论(0) 推荐(0)

Hackers' Crackdown( UVA UVA 11825状压dp)
摘要:题意:N台电脑,现在有N种服务,现在你可以在每台电脑终止一项服务,他和他相邻的电脑都会被关闭,如果一项服务在所有电脑都没运行,该项服务成功被破坏,问最多能破坏几种服务。分析:把n个集合分成尽量多组,使每组中的集合(为电脑i及相邻电脑的集合)的并集为全集,通过这个题学到了状态s的每位表示一个集合是否被... 阅读全文

posted @ 2015-07-25 09:39 积跬步、至千里 阅读(143) 评论(0) 推荐(0)

Travel(HDU 4284状压dp)
摘要:题意:给n个城市m条路的网图,pp在城市1有一定的钱,想游览这n个城市(包括1),到达一个城市要一定的花费,可以在城市工作赚钱,但前提有工作证(得到有一定的花费),没工作证不能在该城市工作,但可以走,一个城市只能工作一次,问pp是否能游览n个城市回到城市1.分析:这个题想到杀怪(Survival(Z... 阅读全文

posted @ 2015-07-24 22:00 积跬步、至千里 阅读(134) 评论(0) 推荐(0)

Clear All of Them I(HDU 3920状压dp)
摘要:题意:给有2*n个敌人的位置,枪在(0,0)位置,一次能消灭两个敌人,耗费能量为枪到一个敌人,由这个敌人再到另个敌人的的距离和,求消灭所有敌人最小耗费能量。分析:一次枚举状态的两位即可#include #include #include #include #include #include #inc... 阅读全文

posted @ 2015-07-24 21:40 积跬步、至千里 阅读(181) 评论(0) 推荐(0)

方格取数(1)(HDU 1565状压dp)
摘要:题意:给你一个n*n的格子的棋盘,每个格子里面有一个非负数。从中取出若干个数,使得任意的两个数所在的格子没有公共边,就是说所取的数所在的2个格子不能相邻,并且取出的数的和最大。分析:直接枚举压缩后的所有情况超时,所以先把行所有可能的情况处理并得到该情况的对应的和,状态只与上一行状态有关,所有用两个数... 阅读全文

posted @ 2015-07-24 21:26 积跬步、至千里 阅读(217) 评论(0) 推荐(0)

Doing Homework(HDU 1074状压dp)
摘要:题意:给你n个要做的作业,它们的名字、期限、可完成所需天数(必须连续)在规定期限不能完成要扣分(每天一分)求做作业顺序使扣分最少。分析:作业数量较少,用状态压缩,做到第i种作业花费的天数dp[i].t,最小扣分dp[i].sc,当前完成作业标号dp[i].now,和之前完成的作业的情况dp[i].p... 阅读全文

posted @ 2015-07-24 21:12 积跬步、至千里 阅读(198) 评论(0) 推荐(0)

Tourism Planning(HDU 4049状压dp)
摘要:题意:n个朋友去游览m个城市,给出每个人对每个城市的兴趣值,和每人去每个城市的花费,如果两人在一个城市有一个价值,若多于2人这这个价值是任意两人产生价值的总和。在去每个城市的过程中人可以随便离开,也可以一个城市也不游览,求兴趣值总和+产生价值总和-总花费 最大。分析:开始读错题意了,白白浪费了一个小... 阅读全文

posted @ 2015-07-24 20:03 积跬步、至千里 阅读(229) 评论(0) 推荐(0)

Long Dominoes(ZOJ 2563状压dp)
摘要:题意:n*m方格用1*3的方格填充(不能重叠)求有多少种填充方法分析:先想状态,但想来想去就是觉得不能覆盖所有情况,隔了一天,看看题解,原来要用三进制 0 表示横着放或竖放的最后一行,1表示竖放的中间一行 2表示竖放的第一行。 阅读全文

posted @ 2015-07-24 19:36 积跬步、至千里 阅读(131) 评论(0) 推荐(0)

Most Powerful(ZOJ 3471状压dp)
摘要:题意:n个原子,两两相撞其中一个消失,产生能量,给出任意两原子相撞能产生的能量,求能产生的最大能量。分析:dp[i]表示情况为i时产生的最大能量/*#include #include #include #include #include #include #include #include #inc... 阅读全文

posted @ 2015-07-24 18:28 积跬步、至千里 阅读(206) 评论(0) 推荐(0)

Survival(ZOJ 2297状压dp)
摘要:题意:有n个怪,已知杀死第i个怪耗费的血和杀死怪恢复的血,和杀死boss耗的血,血量不能超过100,若过程中血小于0,则失败,问是否能杀死boss(boss最后出现).分析:就是求杀死n个怪后剩余的最大血量 dp[i]表示杀怪情况为i(0未杀,1已杀)时剩余最大血量,注意血量上限为100,过程中血小... 阅读全文

posted @ 2015-07-24 17:14 积跬步、至千里 阅读(310) 评论(0) 推荐(0)

Islands and Bridges(POJ 2288状压dp)
摘要:题意:给你一个图和每个点的价值,边权值为连接两点权值的积,走哈密顿通路,若到达的点和上上个点相连则价值加三点乘积,求哈密顿通路的最大价值,和最大价值哈密顿通路的条数。分析:开始看这个题很吓人,但想想这个题状态好确定dp[i][j][k]表示 i已走过点的情况,当前点为j前一点为k所产生的最大价值,枚... 阅读全文

posted @ 2015-07-24 16:59 积跬步、至千里 阅读(153) 评论(0) 推荐(0)

Hie with the Pie(POJ 3311状压dp)
摘要:题意:披萨店给n个地方送披萨,已知各地方(包括披萨店)之间花费的时间,求送完所有地方并回到店花费的最小时间分析:状态好确定dp[i][j],i中1表示地方已送过,否则为0,j为当前状态最后一个送过的地方,注意怎么走才算最小时间,当然是走最短路,点很少由floyd求出各点最短路求回到店的最小时间,从店... 阅读全文

posted @ 2015-07-24 16:20 积跬步、至千里 阅读(1051) 评论(0) 推荐(0)

炮兵阵地(POJ 1185状压dp)
摘要:题意:n*m地图'H'能放'p'不能放,布兵的方格上下左右不能布兵,给你地图求最大布兵数分析:关系到前两行,所以dp[i][j][k]第i行状态为j,i-1行状态为k时的最大布兵数, 先求出所有可行的状态,统计出其布兵数。#include #include #include #include #in... 阅读全文

posted @ 2015-07-24 15:59 积跬步、至千里 阅读(188) 评论(0) 推荐(0)

Corn Fields(POJ 3254状压dp)
摘要:题意:n*m网格1能放0不能放 放的格子不能相邻 求一共多少种可放的方案。分析:dp[i][j]第i行可行状态j的的最大方案数,枚举当前行和前一行的所有状态转移就行了(不放牛也算一种情况)#include #include #include #include #include #include #i... 阅读全文

posted @ 2015-07-24 15:42 积跬步、至千里 阅读(177) 评论(0) 推荐(0)

Mondriaan's Dream(POJ 2411状态压缩dp)
摘要:题意:用1*2的方格填充m*n的方格不能重叠,问有多少种填充方法分析:dp[i][j]表示i行状态为j时的方案数,对于j,0表示该列竖放(影响下一行的该列),1表示横放成功(影响下一列)或上一列竖放成功。状态转移时,枚举每一行可能的状态上一行取反得下一行能放的状态。#include #include... 阅读全文

posted @ 2015-07-24 15:09 积跬步、至千里 阅读(172) 评论(0) 推荐(0)

CodeForces 558E(计数排序+线段树优化)
摘要:题意:一个长度为n的字符串(只包含26个小字母)有q次操作 对于每次操作 给一个区间 和k k为1把该区间的字符不降序排序 k为0把该区间的字符不升序排序 求q次操作后所得字符串思路:该题数据规模很大 排序是关键想到计数排序,根据计数排序原理,由只有26个小写字母,需要统计区间字母的个数,还需要更新... 阅读全文

posted @ 2015-07-22 12:00 积跬步、至千里 阅读(381) 评论(0) 推荐(0)

导航