11 2014 档案

摘要:通道:http://acm.hnu.cn/online/?action=problem&type=show&id=13108&courseid=296题意:N个匹配串及权值,求完全匹配模式串的最大值。思路:建AC自动机,dp[i]到达i的最大值,dp[i]=max(dp[i-L]+W);代码:htt... 阅读全文
posted @ 2014-11-29 15:27 mithrilhan 阅读(151) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3879题意:给出N个点的点权(负权),然后选择(u,v)的边权(正权),使得和最大。思路:经典最大权闭合图。代码:https://github.com/Mithril0rd/Rojo/blob/master/... 阅读全文
posted @ 2014-11-13 23:58 mithrilhan 阅读(90) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3681题意:机器人从F出发,走到G可以充电,D不能走进,走到Y关掉开关,要求把所有开关关掉,且电量最少,并求出初始最小电量。思路:二分初始的电量,预处理任意G,Y,F之间的最短距离,然后状压dp[s][u]:... 阅读全文
posted @ 2014-11-12 00:38 mithrilhan 阅读(140) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3693题意:思路:代码:TAG: 阅读全文
posted @ 2014-11-11 14:00 mithrilhan 阅读(238) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3696题意:思路:代码:TAG: 阅读全文
posted @ 2014-11-11 13:57 mithrilhan 阅读(135) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3698题意:每行选1个数,使得最后选的数的和最小,上下两行所选的数满足:|j-k|≤f(i,j)+f(i+1,k).思路:dp[i][j]:前i行选了j的最小,转移dp[i+1][k] =min(dp[i][... 阅读全文
posted @ 2014-11-11 13:23 mithrilhan 阅读(280) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4122题意:给定N和M,表示有N个订单,M个时刻可以做月饼,时刻以小时计算,任意时刻可以做若干个月饼。接着N行为N个订单的信息,包括时间和数量。再给定T和S,表示每个月饼的保质时间和每保存一小时的开销。然后M... 阅读全文
posted @ 2014-11-08 17:53 mithrilhan 阅读(143) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4746题意:定义f(x) = x分解质因数出来的因子个数,如 x = p0 * p0 * p0 * p1 * p2,则f(x) = 5,特殊的, f(1) = 0,求 i = [1..n], j = [1..... 阅读全文
posted @ 2014-11-05 16:15 mithrilhan 阅读(164) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4747题意:mex(L, R)表示区间上第一个没出现的最小非负整数,对于序列a[],求所有的mex(L, R)的和思路:就是求mex(1,1) + mex(1,2)+....+mex(1,n) ... 阅读全文
posted @ 2014-11-05 15:59 mithrilhan 阅读(144) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=3140题意:一棵n个结点的带权无根树,从中删去一条边,使得剩下来的两棵子树的节点权值之和的绝对值最小,并求出得到的最小绝对值代码:#include#include #include #define min(a,b) ((a) 0) retu... 阅读全文
posted @ 2014-11-03 19:59 mithrilhan 阅读(169) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=1655题意:去掉树上的一个节点,看看剩下的子树中最大的是多少,然后在这些最大值中求一个最小值,如果有多个点都是最小值,那么找一个序号最小的节点思路:树重心:将其与其最大子树连接的边,删除后,划分出的两个子树节点数量最大的中的最小. 题目其... 阅读全文
posted @ 2014-11-03 19:58 mithrilhan 阅读(180) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=2378题意: 给一颗n个结点的树,节点编号为1~n,把删除一个节点之后, 剩下的分支中节点数量最多的数量不大于总数量一半的编号全部按顺序输出,和上题类似代码:#include #include #include #include #in... 阅读全文
posted @ 2014-11-03 19:57 mithrilhan 阅读(158) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=3107题意:给一颗n个结点的树,节点编号为1~n,问删除一个节点之后,让剩下的分支中节点数量最多的尽量少,可能有多种方案,按编号顺序输出思路:先dfs计算每个节点子树的节点个数tot[i],再次dfs更新答案:f[i] = max( n-t... 阅读全文
posted @ 2014-11-03 19:55 mithrilhan 阅读(180) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3586题意:给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问... 阅读全文
posted @ 2014-11-03 19:54 mithrilhan 阅读(213) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4276题意:权边权点树,求在T内从1到n的点权和最大思路:树型DP。先用spfa跑出从点1到点n的最短路。如果这最短的时间已经超过T,那么就是无法完成的。容易知道,最短路径上的边只会经过一次且必须经过一次,而... 阅读全文
posted @ 2014-11-03 19:52 mithrilhan 阅读(182) 评论(0) 推荐(0)
摘要:通道:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3626题意:点权边权树,求从k出发,花费为m情况内,最终回到k点,点权和最大是多少思路:f(i,j)表示子树i, 用花费j最多可以获得的价值 对与i的每个儿子,可以选择分... 阅读全文
posted @ 2014-11-03 19:51 mithrilhan 阅读(163) 评论(0) 推荐(0)
摘要:通道:http://http//acm.hdu.edu.cn/showproblem.php?pid=4044题意:一棵树(编号1-n),1是敌人出口(只有一个敌人)。叶子节点是我军。在节点处装大炮。每个节点有 k 种大炮选择,可是每个节点最多装一个大炮。每个大炮有一个花费和一个威力值。你一共有m钱... 阅读全文
posted @ 2014-11-03 19:46 mithrilhan 阅读(176) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=3345题意:现在有n个村子,你想要用收买m个村子为你投票,其中收买第i个村子的代价是val[i]。但是有些村子存在从属关系,如果B从属于A国,则收买了A也意味着买通了B,而且这些关系是传递的。问你最小要付出的代价是多少思路:老大和小弟的关系... 阅读全文
posted @ 2014-11-03 19:45 mithrilhan 阅读(140) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=2486题意:点权树,求从1出发,走V步,最多能遍历到的点权和思路:我们把背包的思想用到这里来,做的步数相当于背包的容量,点上的权值相当于价值,给定一定的背包容量,求最多能装进背包的 价值 设dp[0][s][j]表示从s(当前根节点)... 阅读全文
posted @ 2014-11-03 19:43 mithrilhan 阅读(202) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=4003题意:边权树.有K个机器人从S点出发, 问让机器人遍历所有边,最少花费值多少思路:dp[i][j]表示以i为根的树用掉j个人。dp[i][0]表示用了一个人又回到上面的点,然后就是分组背包,每个组必选一... 阅读全文
posted @ 2014-11-03 19:42 mithrilhan 阅读(175) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=1561题意:有依赖关系的点权森林,求选m个点权和最大。思路:dp[i][j]:i子树选j个节点,dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son[i]][k]),森林的处理就是增... 阅读全文
posted @ 2014-11-03 19:38 mithrilhan 阅读(174) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=1947题意:给出n,p,一共有n个节点,要求减去最少的边是多少,剩下p个节点思路:dp[u][i]:记录u结点,要得到一棵i个节点的子树去掉的最少边数考虑其儿子k1)如果不去掉k子树,则dp[u][i] = min(dp[u][j]+dp[... 阅读全文
posted @ 2014-11-03 19:34 mithrilhan 阅读(163) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=1011题意:一棵树有n个节点,每个节点有一定的bug值和价值,一个人从1出发有m个兵(1个兵可以打20个bug),经过一个点,要留下足够的兵才能往下走并且获得该点的价值,问如何用m个兵获得最大的价值思路:dp... 阅读全文
posted @ 2014-11-03 19:33 mithrilhan 阅读(179) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=1155题意:加权树,叶子节点有点权,问最多能选多少个叶子节点使得到达根节点1的花费大于等于路径和。思路:dp[i][j]:i子树中有j个叶子节点的最大利润。dp[i][j]=max(dp[i][j],dp[i][j-k]+dp[son of... 阅读全文
posted @ 2014-11-03 19:32 mithrilhan 阅读(138) 评论(0) 推荐(0)
摘要:通道:http://codeforces.com/problemset/problem/219/D题意:有n个城市,它们之间有n-1条路(路都是单向的),形成一棵树。现在可以改变一些路的方向,选择一个首都,使得从首都出发能达其它城市,所需要重建的路的数量最少思路:考虑每个节点,他的花费是儿子中加上来... 阅读全文
posted @ 2014-11-03 19:30 mithrilhan 阅读(188) 评论(0) 推荐(0)
摘要:通道:http://poj.org/problem?id=3162题意:对一棵树,求出从每个结点出发能到走的最长距离(每个结点最多只能经过一次),将这些距离按排成一个数组得到d[1],d[2],d[3]……d[n] ,在数列的d中求一个最长的区间,使得区间中的最大值与最小值的差不超过m思路:用2次d... 阅读全文
posted @ 2014-11-03 19:29 mithrilhan 阅读(213) 评论(0) 推荐(0)
摘要:通道: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://acm.hdu.edu.cn/showproblem.php?pid=4474题意:给出n和m个数位,求一个数X,这个数是n的最小倍数且他的每一位都不含有m个数位中的任意一个。思路:反过来想,其实就是有非M的元素组成一个数,这个数是N的倍数。如果存在解,那么他的第一位便是非M组合... 阅读全文
posted @ 2014-11-01 21:06 mithrilhan 阅读(119) 评论(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 阅读(151) 评论(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 阅读(177) 评论(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 阅读(131) 评论(0) 推荐(0)
摘要:通道:http://acm.hdu.edu.cn/showproblem.php?pid=3652题意:求1~n范围内含有13并且能被13整除的数字的个数思路:dp[i][j][0]:前i位余数为j末尾不是1,dp[i][j][1]:前i位余数为j末尾是1,dp[i][j][2]:前i位余数为j含有... 阅读全文
posted @ 2014-11-01 10:05 mithrilhan 阅读(142) 评论(0) 推荐(0)