There is a tree having N vertices. In the tree there are K monkeys (K <= N). A vertex can be occupied by at most one monkey. They want to remove some edges and leave minimum edges, but each monkey must be connected to at least one other monkey throug…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6178 题意:给出一棵有n个节点的树,现在需要你把k只猴子放在节点上,每个节点最多放一只猴子,且要求每只猴子必有一只另外的猴子通过一条边与它相连,问最少用多少条边能达到这个要求. 解法:利用贪心的思维,显然我们应该先选择性价比最高的,即一条边连接两个点的情况.计算出这样的边的条数ans,如果ans*2>=k,结果就是(k+1)/2,否则剩下来没有安排的猴子每一只需要多一条边,即结果为ans+k-2 *…
http://acm.hdu.edu.cn/showproblem.php?pid=6178 题意:现在有一n个顶点的树形图,还有k只猴子,每个顶点只能容纳一只猴子,而且每只猴子至少和另外一只猴子通过边相连,现在要删边,保留最少的边使得满足题意. 思路: 贪心的想一想,顶点两两匹配时一条边的贡献值就是两只猴子,那这不就是二分匹配吗.所以先求个二分匹配即可,然后如果此时还是不够的话,那么剩下的猴子每只猴子都需要一条边. 如果用二分匹配的算法可能不太行,虽然看别人用Hopcroft-Carp算法跑了…
http://acm.hdu.edu.cn/showproblem.php?pid=6178 [题意] 给定一棵有n个结点的树,现在有k个猴子分布在k个结点上,我们可以删去树上的一些边,使得k个猴子每个猴子都至少和其他一个猴子相连 问树上最少保留多少条边 [思路] 每个猴子要至少和一个猴子相连,考虑保留的边最少,那么最优的情况一定是一条边的两个顶点放两个猴子,这些边的顶点都不重合 我们现在要找到给定的树中最多有多少条这样的边,即最大二分匹配 O(n)的DFS,对于每个结点,优先与叶子结点形成一条…
题意:给出一棵 N 个节点树,上面有 K 个猴子,然后竟可能删边,但是每一只猴子必须有直接相邻的猴子与之相邻.求最少剩下几条边. 分析:一条边可以用两只猴子站,这样的一条点对,越多越好,如果是ans个,ans*2>=k,那么只需要 (k+1)/2 条边. 否则,需要  ans + (k-ans*2) 条边. 现在问题就转为求这样的点对有多少,哈哈,有漏洞的DP都AC了,哈哈~~~~. 我发现标程思路也是这样,哈哈,都是bug程序!!! 唯一的解释就是 d[u][1] >= d[u][0] 感性…
几何+博弈的简单组合技 给出n个圆,有包含关系,以这个关系做游戏,每次操作可以选择把一个圆及它内部的圆全部删除,不能操作者输. 圆的包含关系显然可以看做是树型结构,所以也就是树上删边的游戏. 而找圆的包含关系,这题数据不大可用n^2复杂度找.也可以用扫描线,实时记录其节点父亲的情况.3种情况分类讨论一下就可以了. /** @Date : 2017-10-18 20:21:54 * @FileName: HDU 5299 圆扫描线+树上删边.cpp * @Platform: Windows * @…
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…
在大部分应用中,都有输入的需求,面对众多用户,他们的想法各异,输入的文本内容也是千奇百怪,面对不同的输入,我们该如何优化输入体验?本文将汇总一下Swift社交应用文本输入优化技巧. AD: 一.输入相关的优化问题 在大部分应用中,都有输入的需求,面对众多用户,他们的想法各异,输入的文本内容也是千奇百怪,面对不同的输入,我们该如何优化输入体验?本文将汇总一下Swift社交应用文本输入优化技巧. 这里集中汇总输入相关问题,主要如下: 输入控件UITextField跟随键盘移动 过滤输入内容 响应编程…
贪心 考场上因无优化与卡常T掉的\(n \log(n)\) //#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> #define R(a,b,c) for(register int a = (b); a <= (c); ++ a) #define nR(a,b,c) for(register int a…