09 2017 档案
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5534 题意:让你建立一个n个节点的树,同时给出一个节点有k度的价值 (1<=k<=n-1),问树最大的价值 比较容易相到的dp方程为dp[i][j]表示选到第i个点总共选了j的度数的最大价值 可惜这样是o(
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5543 题意:给你一块长为L的木板,和n个金条,每个金条有一个长度和价值 只要金条的重心在木板上就可以放上去,但不能重叠,问最多能拿多大价值 很容易想到背包问题,但是题目给出了一定限制 因为最多有2根金条是半
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5542 题意:给你n个数,求其中上升子序列长度为m的个数 可以考虑用dp[i][j]表示以a[i]结尾的长度为j的上升子序列有多少 裸的dp是o(n2m) 所以需要优化 我们可以发现dp的第3维是找比它小的数
阅读全文
摘要:题目:http://codeforces.com/problemset/problem/842/D 题意:给你n个数,m次查询,每次将数组全部异或一个数后,求没出现过的最小自然数 要求异或后的最小值我们可以用字典树来解决 而每次对数组异或可以替换每次对异或值异或 之后贪心的选取 每次都走左子树,如果
阅读全文
摘要:题目:http://codeforces.com/problemset/problem/858/D 题意:给你一些9位的数字,问对于每串数字,最少输入几个数字才能使得输入的数字是它独有的子串 比赛的时候没什么思路,看了dalao们的代码才会做 我们可以用map来保存所有的子串是谁的,如果同时是2个或
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5489 题意:给定n个数,求从中删除m个连续的数后,剩下的数中最大上升子序列的大小 我们可以枚举删除的区间 删除后的答案为 以右边第一个开始的最长上升子序列+以左边第一个比它小的数结尾的最长上升子序列 前一项
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5492 题意:在一个n*m的矩形中找一条从(1,1)到(n,m)的路径,使得方差最小 因为 所以我们枚举平均数就行了 如果我们直接枚举平均数,可能会是小数,所以我们要乘上(n+m-1)以后再枚举
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5493 题意:给你n个人的身高和他前面或后面比他高的人数,求一个满足条件的最小字典序的排列方式 要满足最小字典序,所以我们从小到大放置,并尽量往前放 放当前的人时,后放的一定比他高,所以他前面必须要留一些位置
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3460 题意:给你n个单词,问你将他们全部输出最少需要多少次操作 每次可以在当前的末尾添加或删除一个字符或者输出整个字符串 要使得重复使用的最多很容易就想到字典树 因为每个字符都是需要打出和删除,那么答案的一
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5269 题意:给定n个数,求所有(lowbit(Ai ^ Aj)) (i,j∈[1,n])(i,j∈[1,n]) 的和 因为要求lowbit 所以字典树插入时应该从最低位开始 在插入时,与当前位不同的位置如果
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5536 题意:从n个数中找一个i,j,k,使得(a[i]+a[j])^a[k]的值最大,输出最大值 求异或最大可以使用字典树 那么我们只要枚举 i 和 j 就可以了 但是在找k之前必须先从字典树中删去 i 和
阅读全文
摘要:题目:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1216 模板题
阅读全文
摘要:题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3256 题意:给一个n*m的棋盘,求从左上到左下的经过所有格子的方案数 在左边加一列问题就变成了求回路 由于m很大,所以我们需要按列dp 构造出矩阵后,用矩阵快速幂加速
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=6185 题意:用1x2的方块填满4xn的棋盘有多少种方法 先用dfs跑出合法状态 然后用矩阵快速幂优化
阅读全文
摘要:题目:http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1406 题意:有n个城市,m条路,刺客要去这n个城市,但刺客经过的城市别的刺客就不会再经过,问最少几个刺客可以走完这n个城市 想清楚状态后就很容易 先df
阅读全文
摘要:题目:http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1270 题意:给你一个n*m的棋盘 让你用6种砖块填满它,问一共有多少种(砖块不能旋转或翻转) 写的时候要注意很多细节,不然很容易写错 因为这里的轮廓线要
阅读全文
摘要:题目:http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1021 题意:给你一个每位都不相同的base进制数,求对它排列组合后%k等于0的种数 (xy)base % k = ( x*base+y ) % k =
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5691 带一点变形的状压dp 先预处理出所有能放在首位的状态 之后判断是如果是-1直接转移,否则要先判断现在是放第几位,相等才能转移
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=6183 题意:让你在一个棋盘上涂色,有4种操作 0:将棋盘清空 1:在(x,y)点涂上c的颜色 2:求(1,y1)到(x,y2)上颜色的种类数目 3:退出 因为在同一位置的颜色不会相互覆盖,所以考虑建立51棵
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5418 题意:给一个无向图,求从1出发经过所有点后回到1的最短路径,可以重复经过 因为可以重复经过,所以不能直接跑tsp 但是只要先用floyd跑一遍最短路,那就转化成了不能重复经过的模型,再跑一遍tsp就行
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5330 题意:给出n个长度为m,并且只有012组成的串,两个串的距离为每一位相差的绝对值相加,问距离为0-2m的对数分别有几对 参考:http://blog.csdn.net/glqac/article/de
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4628 题意:给你一个字符串,每次可以删除一个回文子序列,问最少删除多少次才能删完 因为字符串不长,所以可以先处理出每个状态下是否是回文子序列,然后状压dp
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=2983 题意:将一个n位的数发送,每一位的发送时间为i,但是网络有延迟d,收到时顺序可能会变,求总共有多少种可能性,并且最小和最大分别是多少 最大和最小比较容易求,只需要贪心的将1和0前移或后移 求方案数时,
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1820 题意:给你一个n*n的棋盘,让你放k个象,求方法数 象的攻击路线是斜的,所以我们可以将棋盘旋转45°,这样攻击路线就成了水平,象就变成了车 之后可以发现,如果将棋盘分为黑白格子,黑白棋子之间是无法互相
阅读全文
摘要:题目:http://codeforces.com/problemset/problem/165/E 题意:给你n个数,对每个数,让你找任意一个在这些数中&它等于0的数,如果没有输出-1 技巧题,对于任意一个数x的答案,同时也是对x去掉任意一位2进制为1的数的答案 例如 10101的答案一定是1000
阅读全文
摘要:题目:http://codeforces.com/problemset/problem/11/D 题意:给定一个图,求图中环的数目 为了消除重复计算,我们要从每个点出发,并将这个点作为环的最小点,再次回到出发点时就变成了环 但是这样依然有重复,会有1条边重复走2次的环,同时还会将大于3的环正向跑一遍
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4804 题意:给你一个n*m的棋盘,让你用1x1和1x2的方块填满它,棋盘有些地方不能放方块,1x1的方块使用有限制,问一共有多少种方法填满 dp多开一维存放1x1的个数,之后就是正常的插头dp思路
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3182 题意:有n个汉堡,每个汉堡有一个价值和做汉堡需要的体力,并且做有些汉堡前需要先做别的汉堡,问最多能做出多大价值 每个汉堡只能做一次并且有先后顺序,所以需要状压dp而不能直接暴力判断 做汉堡的前置关系可
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3091 题意:给你一些珠子,某些珠子之间可以互相连接,问可以连成多少种不同的项链 我们只需要从任意一个点出发,最后再回到这个点就能保证不会重复
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意:给一些作业,并给出每个作业的截止日期和完成需要时间,每迟一天扣1分,求最少要扣多少分 可以根据当前的状态判断应该扣多少分 题目给出的是字典序,所以输出答案时应该倒着枚举
阅读全文
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4899 题意:字符集中只有“ATCG”四种字符,现在给你一个字符串S。问长度为m的所有字符串T中,最长公共子序列lcs(S, T) = i的个数,其中 i 取遍0~|S|。|S|为S的长度。 如果我们直接用s
阅读全文