摘要: 题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1040 题意:给出一个图,只有一个环。每个点有一个权值。选出一些点两两不相邻,使得权值最大? 图中只有一个环,那么我们先建树,那么只有一条非树边,非树边上两个点我们设为node和root,那 阅读全文
posted @ 2016-06-02 19:09 GFY 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 题意:有两类装备,高级装备A和基础装备B。现在有m的钱。每种B有一个单价和可以购买的数量上限。每个Ai可以由Ci种其他物品合成,给出Ci种其他物品每种需要的数量。每个装备有一个贡献值。求最大的贡献值。已知物品的合成路线是一个严格的树模型。即有一种物品不会合成其他任意物品,其余物品都会仅仅可用作合成另 阅读全文
posted @ 2016-06-02 18:55 GFY 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3278 题意:给出一棵树,找出一个不大于长度为m的链,使得其他点到该链的长度之和最小。 预处理出以下数组: (1)downSum[u]:u的所有孩子到达u的距离,down 阅读全文
posted @ 2016-06-02 17:52 GFY 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 题意: 思路:令F[i][j]表示 的最小费用。Best[i]表示以i为根节点的子树多有节点都找到负责消防站的最小费用。 好难的题。。。 阅读全文
posted @ 2016-06-02 17:49 GFY 阅读(1111) 评论(1) 推荐(2) 编辑
摘要: 题意:给定一个森林。每个节点上安装一个灯可以覆盖与该节点相连的所有边。选择最少的节点数num覆盖所有的边。在num最小的前提下,合理放置num个灯使得被两个灯覆盖的边最多? 思路:F[i][0]代表没放灯,F[i][1]代表放了灯,G[i]类似。 阅读全文
posted @ 2016-06-02 17:48 GFY 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一棵n个节点的树,起点1,终点n,相连的两个节点之间有距离,每个节点有个价值,给出一个时间T。问从1到达n在给定时间T内取得的最大价值? 思路:先从1走到n,如果总的时间不够走完,直接退出,否则把时间扣掉,这些边权设置为0,然后做一遍树形DP 阅读全文
posted @ 2016-06-02 17:46 GFY 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1090 题意:字符串AAAAAAAAAABABABCCD的最短折叠为9(A)3(AB)CCD,注意数字的长度和圆括号都算最后长度。求一种折叠方式使得总长度最小。 思路:记忆化搜索。 阅读全文
posted @ 2016-06-02 17:43 GFY 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1264 题意:给出两个数列,每个数列的长度为5n,其中1-n每个数字各出现5次。求两个数列的最长公共子列。 思路:LCS转变为LIS,对于每个在第一个数组中出现的数字,将它转变为在第二个数组 阅读全文
posted @ 2016-06-02 17:40 GFY 阅读(262) 评论(0) 推荐(0) 编辑
摘要: Description 一个数x可以按以下规则生成数字: 1、将任意两位交换,若交换的数字为a和b,生成的代价为((a and b)+(a xor b))*2 。 例如134可以生成431,因为431可以从134的个位(4)与百位(1)交换后得到,代价为((1 and 4)+(1 xor 4))*2 阅读全文
posted @ 2016-06-02 17:28 GFY 阅读(566) 评论(0) 推荐(0) 编辑
摘要: 题意:一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低。”问最少有几个人没有说真话(可能有相同的分数) 思路:考虑最多有多少人说真,那么答案就是n-max. ai个人分数比他高,bi个人分数比他低,说明[bi+1,n-ai]里面的人分数相同。 用map维护某个区间是否相 阅读全文
posted @ 2016-06-02 17:25 GFY 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 题意:有n个宝藏,在x轴上,每个宝藏在某个时间会消失,问最少吃完所有宝藏的时间是多少,否则输出no solution 分析:区间DP,f[i][j][01]代表i到j区间内的全部吃完,停留在左/右端,不过这个时间空间也是水,不知道怎么出的题目。。 阅读全文
posted @ 2016-06-02 17:18 GFY 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3401 题意:炒股。第i天买入一股的价钱api,卖出一股的价钱bpi,最多买入asi股,最多卖出bsi股。两次操作(买入或卖出)中间必须相差W天。炒股时间为n。任意时间手中的股票不大于MaxP。求最大收益 阅读全文
posted @ 2016-06-02 17:07 GFY 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个数列C,一个数字M,将数列分成若干段,每段的代价为(设这段的数字为k个): dp[i]=min(dp[j]+(sum[i]-sum[j])*(sum[i]-sum[j])+M) 若j1<j2且j2比j1优 dp[j1]+sum[i]^2+sum[j1]^2-2*sum[i]*sum[j 阅读全文
posted @ 2016-06-02 17:01 GFY 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个数列,将其分成若干段,若某段的和为x则这段的价值为a*x*x+b*x+c。求一种分法使得总价值最大 f[i]为到第i个时的最大价值, f[i]=max(f[j]+a*(sum[i]-sum[j])^2+b*(sum[i]-sum[j])+c 若j1<j2且j2更优 f[j1]+a*su 阅读全文
posted @ 2016-06-02 16:52 GFY 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个不下降数列,一个K,将数列分成若干段,每段的数字个数不小于K,每段的代价是这段内每个数字减去这段中最小数字之和。求一种分法使得总代价最小? 思路:F[i]表示到i的最小代价。f[i]=min(f[j]+sum[i]-sum[j]-(i-j)*a[j+1]);(i-j>=K) 对于j1, 阅读全文
posted @ 2016-06-02 16:46 GFY 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一些点(xi,yi)(xj,yj)满足:i<j,xi<xj,yi>yj。用下面的连起来,使得所有边的长度最小? 思路:考虑用区间表示,f[i][j]表示将i到j的点连起来的最小代价。 那么f[i][j]=min(f[i][k]+f[k+1][j]+cost(i,j) cost(i,j)=a 阅读全文
posted @ 2016-06-02 16:40 GFY 阅读(747) 评论(0) 推荐(2) 编辑
摘要: 题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2626 题意:平面上有n个点。现在有m次询问,每次给定一个点(px, py)和一个整数k,输出n个点中离(px, py)的距离第k大的点的标号。如果有两个(或多个)点距离(px, py)相同 阅读全文
posted @ 2016-06-02 16:30 GFY 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 题目描述Tukkun带着他的合唱队去环形音乐厅参加演出。上场前,Tukkun发现了严重的问题:音乐厅的工作人员把他们的合唱队形搞错了。具体来说,Tukkun的合唱队有N个人围成一圈,身高按照顺时针顺序记为a[0],a[1],...,a[n-1]。音乐厅的工作人员则以为他们的身高是b[0],b[1], 阅读全文
posted @ 2016-06-02 16:27 GFY 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题意:给定n个木棍依次放下,要求最终判断没被覆盖的木棍是哪些。 思路:快速排斥以及跨立实验可以判断线段相交。 阅读全文
posted @ 2016-06-02 10:04 GFY 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 题意:给定n个不能出现的模式串,给定一个长度m,要求长度为m的合法串有多少种。 思路:用AC自动机,利用AC自动机上的节点做矩阵乘法。 阅读全文
posted @ 2016-06-02 08:14 GFY 阅读(198) 评论(0) 推荐(0) 编辑