随笔分类 - 二分答案
摘要:##题目传送门 题面里有最大值最小,所以直接想到二分答案.在检验答案时,如果dfs爆搜,会得46分. 对于题目中的两个限制:金钱和血量.金钱我们可以二分答案处理,而血量我们希望消耗的越少越好,最短路.最后和0比较看能不能活着到终点. 这道题不卡spfa. ###46分代码 #include<iost
阅读全文
摘要:题目传送门 中文翻译: 给定一颗无向带权树,要切断所有叶子节点和根节点的联系,每次切断的费用不能超过上限 Limit,问在保证 总费用 <=m 的情况下最小的 Limit 解题思路: f[i]表示以i为根的树的最佳答案,加二分答案. AC代码: #include<iostream> #include
阅读全文
摘要:题目传送门 解题思路: 二分答案,按照题目要求模拟验证,但数据太毒,要用long double. AC代码:
阅读全文
摘要:题目传送门 解题思路: 二分答案,然后bfs验证,如果从一个路标可以达到其它所有路标,则答案可行.知道找到最佳答案. AC代码:
阅读全文
摘要:题目传送门 解题思路: 人生中第一道二分答案的题,小车问题那道不算. 二分枚举一个答案,验证,如果小于当前枚举答案值,就需要去掉石头,看最后如果比m大,说明答案大了,否则就是小了或正好,知道答案区间l和r长度小于0时,就是答案. AC代码: //NOIP提高2015 Day2 T1
阅读全文
摘要:题目传送门 解题思路: 首先,每个人都要做一次车,而且两个人要同时到达,这样才能使总时间最短。 那么,我们设起点为A,终点为B,小车先带甲开到C点后甲下车走到B点,同时小车掉头与已经走到D点的乙相向而行,相遇于点E,最后小车带乙向B开去,和甲同时到达。 然后我们就二分C点,直到误差小于某个值即可。
阅读全文