随笔分类 -  ACM_动态规划

摘要:通道:http://poj.org/problem?id=2152题意:n个城市,建防火站,花费w[i],如果这个城市没有防火站,则最近的不超过d[i],求最小花费思路:设dp[i][j]表示i点及其子树都符合情况下i点依赖j点的最小花费,有了这个似乎还不够,再开个一维数组best,best[i]表... 阅读全文
posted @ 2014-11-03 19:27 mithrilhan 阅读(167) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=1741题意:有多少对[u,v]的距离小于K思路:将无根树转化成有根树进行观察。满足条件的点对有两种情况:两个点的路径横跨树根,两个点位于同一颗子树中。如果我们已经知道了此时所有点到根的距离a[i],a[x]+a[y]#include #in... 阅读全文
posted @ 2014-11-03 19:26 mithrilhan 阅读(173) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=2196题意:题意是求树中每个点的最大距离值是多少。思路: 2遍DFS,对于每个父节点,求出子树的最大和次大儿子,然后更新的时候就是这个点要么是儿子所贡献,要么是父亲来的点贡献,记录最大与次大是区分但是父亲贡... 阅读全文
posted @ 2014-11-03 19:24 mithrilhan 阅读(163) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=1520题意:一棵树每个节点有一个权值,保证父亲节点与孩子节点不能同时出现,求出现的节点最大权值思路:dp[u][0]:不选该节点,dp[u][1]选该节点 1 import java.io.*; 2 im... 阅读全文
posted @ 2014-11-03 19:23 mithrilhan 阅读(154) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4385题意:屌丝搬砖,T组数据,先给出X,Y代表根据地坐标,接下来给出N,代表有N块砖头,接下来N行是砖头的坐标,现在一个屌丝要板砖,他最多只能同时拿两块砖,他从一个点移动到另一个点需要花费的时间是两点的距离... 阅读全文
posted @ 2014-11-03 00:51 mithrilhan 阅读(163) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4381题意:给n个块,编号从1到n,以及m个操作,初始时n个块是黑色。操作有2种形式(可以忽略某些操作且如果区间内没有足够的黑块(黑块用于涂白),则不能进行这个操作): 1 ai xi : 从[1,ai]选... 阅读全文
posted @ 2014-11-03 00:15 mithrilhan 阅读(143) 评论(0) 推荐(0)
摘要:通道:http://www.spoj.com/problems/SORTBIT/题意:求[L,R]里的数按照二进制中1的个数升序排列,个数相同的按大小升序排列。求区间内第K个数思路:容易想到,我们枚举包含1个1,2个1,3个1...这样下去 就能找到第K大的数包含几个1,然后二分K位置就好了。代码:... 阅读全文
posted @ 2014-11-01 10:45 mithrilhan 阅读(166) 评论(0) 推荐(0)
摘要:通道:http://www.spoj.com/problems/RAONE/题意:求[l,r]之间有多少个数的偶数位和减去奇数位和等于一思路:dp[i][j][k]:到第i位和为j是否前导0的个数,这里的和初始化为一个大于8×9的数,因为存在负数。代码:https://github.com/Mith... 阅读全文
posted @ 2014-11-01 10:44 mithrilhan 阅读(157) 评论(0) 推荐(0)
摘要:通道:http://www.spoj.com/problems/MYQ10/题意:求[L,R]内有多少个回文镜像数。思路:回文镜像数只由0.1.8构成,然后裸的数位dp记忆化就可以了,由于要记录不同长度所代表的回文镜像数,所以还要加一个参数,那就是目前回文镜像的长度。代码:https://githu... 阅读全文
posted @ 2014-11-01 10:35 mithrilhan 阅读(197) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=3252题意:求[a,b]中,有多少个数化成二进制后,0比1多思路:把这个数转成一个二进制数,如果最高位为1,那么剩下的n-1位就是组合数来枚举了。如果最高位为0,那么对于后面的数如果为1,变为0后又可以产生很多种方案。代码:https://... 阅读全文
posted @ 2014-11-01 10:26 mithrilhan 阅读(150) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4352题意:求【L,R】内的数字每一位组成的数位的LIS为K的个数思路:dp[i][j][k]前i位数位状态为j时,长度为k的个数,这里的状态为之前用过的那些数字,那么对于当前位,我们应尽量找大于等于该位的替... 阅读全文
posted @ 2014-11-01 10:24 mithrilhan 阅读(156) 评论(0) 推荐(0)
摘要:通道:http://codeforces.com/problemset/problem/55/d题意:求[l,r]中的漂亮数。漂亮数的定义是这个数能够整除它的每一位。思路:数位dp,dp[i][j][k]:前i为数字,最小共倍数为j时,这个数为k的个数。这里为什么要用到最小共倍数呢,因为一个数如果能... 阅读全文
posted @ 2014-11-01 10:23 mithrilhan 阅读(170) 评论(0) 推荐(0)
摘要:通道:http://www.spoj.com/problems/BALNUM/题意:求【A,B】区间内奇数出现了偶数次,偶数出现奇数次的数的个数思路:3进制压缩,0,1,2表示数字i出现了0次,1次,2次,dp[i][j][k]:前i位数位0~9出现的状态为j时的个数,这里的K代表是否包含了最高位非... 阅读全文
posted @ 2014-11-01 10:21 mithrilhan 阅读(226) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4507题意:给定区间[L, R]求区间内与7无关数的平方和。一个数当满足三个规则之一则认为与7有关: 1、整数中某一位是7; 2、整数的每一位加起来的和是7的整数倍; 3、这个整数是7的整数倍;思路:d... 阅读全文
posted @ 2014-11-01 10:19 mithrilhan 阅读(176) 评论(0) 推荐(0)
摘要:通道:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3494题意:OJ挂了。卧槽 阅读全文
posted @ 2014-11-01 10:18 mithrilhan 阅读(129) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4734题意:定义十进制数x的权值为f(x) = a[n]*2^(n-1) + a[n-1]*2^(n-2) + ... a[2]*2^1 + a[1]*2^0,a[i]表示十进制数x中第i位的数字,求出[0,... 阅读全文
posted @ 2014-11-01 10:14 mithrilhan 阅读(165) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3693题意:给出N个数,给定k,求x1,x2,x3,...,xn,(xi= 0; --t) { for (int j = 0; j > t & 1) == 1) { ++tot; ... 阅读全文
posted @ 2014-11-01 10:11 mithrilhan 阅读(352) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=2089题意:求【L,R】内不含4,62的个数。思路:dp[i][j]:到第i为:j=0:末尾不是6,j=1:末尾是6,j=2:包含62代码:https://github.com/Mithril0rd/Rojo... 阅读全文
posted @ 2014-11-01 10:09 mithrilhan 阅读(115) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4389题意:求【L,R】内有多少个数,整除于他的各数位和。思路:dp[i][j][k][l]:到第i位,数位和为j,此时要计算的数位和为k,数位和模k为l的个数,这个k从1枚举到81即可。代码:https:/... 阅读全文
posted @ 2014-11-01 10:08 mithrilhan 阅读(122) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3709题意:求【L,R】内平衡数的个数。平衡数定义:以这个数字的某一数位为支点,另外两边的数字大小乘以力矩之和相等,即为平衡数。思路:dp[i][j][k]:到i位,两边之差为J时,支点在K的方案数。因为天平... 阅读全文
posted @ 2014-11-01 10:07 mithrilhan 阅读(130) 评论(0) 推荐(0)