HDU 5242 Game (贪心)】的更多相关文章

题意:给定一棵树,要求从根结点1走k次,每次都是到叶子结点结束,把走过的所有的结点权值加起来,最大是多少. 析:先把每个结点到根结点的路径之和求出来,然后按权值从大到小排序,然后每次把路径中的权值求出来,最后求前k个值的和即可. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib…
题目链接: G - Game HDU - 5242 题目大意:首先是T组测试样例,给出一颗以1节点为根的树,每个节点有各自的价值,有m次从根节点出发向下走到叶子节点的机会,每次会得到所有经过节点的权值,每个节点只有在第一次经过时有价值,求m次之后能够获得的最大权值. 具体思路:数链剖分,把重链按照权值划分. AC代码:…
Game Time Limit:1500MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 5242 Appoint description:  System Crawler  (2015-05-26) Description It is well known that Keima Katsuragi is The Capturing God because of his…
Hdu 4864(Task 贪心) 原题链接 题意:给定n台机器和m个任务,任务和机器都有工作时间值和工作等级值,一个机器只能执行一个任务,且执行任务的条件位机器的两个值都大于等于任务的值,每完成一个任务可获奖励500x+2y.求完成最多任务前提下可获得最高奖励,输出任务数和奖励数. 解法:对机器和任务进行排序,x和y都从大到小排.循环考察每一个任务,把满足每一个任务x值的机器等级都记录下来,然后用满足任务等级的最小等级机器完成此任务.这样的做法可以保证: 前面的任务执行比后面的任务可获的奖励更…
D - 淡黄的长裙 HDU - 4221(贪心) James is almost mad! Currently, he was assigned a lot of works to do, so many that you can't imagine. Each task costs Ai time as least, and the worst news is, he must do this work no later than time Bi! OMG, how could it be c…
http://acm.hdu.edu.cn/showproblem.php?pid=5242 题意: 给出一棵树,每个节点都有一个权值,每次可以获得从根结点(1)到叶子节点上的所有权值和,每个节点只能获得一次.求k次操作后可以获得的最大权值和. 思路: 反向建图,首先求出所有节点到根节点的权值和,然后降序排序,从可以获得最大权值和的叶子节点开始计算.已经遍历过的节点就直接返回0.计算完后再次重新排序,取前面的k个较大值. #include<iostream> #include<algor…
Game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1385    Accepted Submission(s): 452 Problem Description It is well known that Keima Katsuragi is The Capturing God because of his exceptional…
题目链接 Game 题目的意思很简单, 就是要找一棵树权值最大等等前K条链. 在本题中,走的次数等于min(叶子结点个数,k) tree[i].sum意为从i号结点出发走到某个叶子结点能得到的最大总价值. pson[i]表示i号结点若要获得最大价值那么下一步该怎么走. 显然tree[i].sum和pson[i]是从i的各个儿子转移得到的. 那么先做一遍DFS计算出tree[i].sum, 再排序. 然后贪心,从价值最大的那个结点开始选,从大到小. 选的时候,要把他中途经过的结点全部屏蔽(就是说被…
题目大意: 在给定带权值节点的树上从1开始不回头走到某个底端点后得到所有经过的点的权值后,这些点权值修改为0,到达底部后重新回到1,继续走,问走k次,最多能得到多少权值之和 这其实就是相当于每一次都走权值最大的那一条路径,进行贪心k次 首先先来想想树链剖分的时候的思想: 重儿子表示这个儿子对应的子树的节点数最多,那么每次访问都优先访问重儿子 这道题里面我们进行一下转化,如果当前儿子能走出一条最长的路径,我们就令其为重儿子,那么很容易想到,到达父亲时,如果选择重儿子,那么之前到达 父亲所得的权值一…
Game Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1376    Accepted Submission(s): 449 Problem Description It is well known that Keima Katsuragi is The Capturing God because of his exceptional…