题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6606 考虑二分答案,我们二分一个值$x$,那么要怎么来验证这个答案是否可行,考虑dp求解,设$dp[i]$为前i个在答案为$x$的情况下划分最最多组数,那么若$dp[n] \geq k$ 则这个x可行, ...
分类:
其他好文 时间:
2019-07-30 09:26:05
阅读次数:
138
二分与三分 二分查找 在一个单调序列中查找一个元素的算法。 一般偷懒做法: 函数直接实现。 具体实现:不断以从答案所在的区间中间划分出两个子区间,舍弃不存在答案的那一个子区间,在存在答案的那个区间继续二分。 二分答案 在所有问题的答案的集合中二分查找 最优解 的算法。 具体而言,就是先找出答案的范围 ...
分类:
其他好文 时间:
2019-07-29 00:05:28
阅读次数:
106
二分答案+判定,对于一个答案,源点向每一个点连一条流量为1的边,每一扇门向汇点连一条流量为时间的边,每一个人向每一个在答案时间内能走到的门连一条流量为1的边,跑最大流并判断流量是否等于人数。 然而自从bzoj新增数据后就跑不过了,原因是不能保证有一组最优撤离方案使得在最后一个时刻以前(最后一个时刻可 ...
分类:
其他好文 时间:
2019-07-28 11:02:12
阅读次数:
96
▎前置技能 二分(戳这里了解)和分治(戳这里了解)。 ▎前言 想必你已经学会了二分,但是你真的知道二分查找和二分答案的区别吗? ▎二分 ?『二分查找定义』 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键 ...
分类:
编程语言 时间:
2019-07-27 09:30:45
阅读次数:
126
二分答案是求解最大中的最小值或最小中的最大值的常用解法,模板如下: ...
分类:
其他好文 时间:
2019-07-26 01:49:47
阅读次数:
76
poj 2349 Arctic Network "题目传送" Sol: 方法一: 贪心的想,发现n个点只需要n 1条边即可,求MST即可,再把MST中最大的m 1条边去掉,第m大就是答案。 code: ...
分类:
Web程序 时间:
2019-07-25 23:11:01
阅读次数:
149
T1(luogu1903) 学过带修莫队的人都做过的原题,不说了 T2(luogu2634) 普及组题不说了 T3 可以想到二分答案后判定 然后有点卡壳,躺床上想了想 发现其实就是用一个线段树,维护一个守卫的奖章集合,每一位都是 $0$ 或 $1$ 的序列,要求支持查询区间和、区间取反 那这不就是个 ...
分类:
其他好文 时间:
2019-07-25 10:59:57
阅读次数:
87
T1(poj2601) 题解 二分后线性判断即可 T2(poj1818) 题解 显然分治,然后分成三段推式子求即可。 T3() 题解 二分答案 ...
分类:
其他好文 时间:
2019-07-24 13:12:24
阅读次数:
73
1 #include 2 using namespace std; 3 int a[51000]; 4 int len,m,n; 5 bool check(int x) 6 { 7 int last = 0; 8 int ans = 0; 9 for (int i = 1;i m) 17 retur... ...
分类:
其他好文 时间:
2019-07-23 12:56:40
阅读次数:
87
D Vacation 题解:题目给出两个人要去旅行,在他们前面有n辆车,每辆车有长度以及车首部到stopline 的距离以及每辆车的最大速度,后面的车不能超过前面的车。问你他们两个的车首部到达stopline的最短时间。 思路:二分答案,求出最后一辆车停在的位置。 参考代码: #include<bi ...
分类:
其他好文 时间:
2019-07-23 09:52:09
阅读次数:
143