"Link" 首先二分答案$v$。 考虑这样一个结论:最优解一定是$K$不动,其它人往$K$这里跑,跑到了之后先不点燃,等$K$的位置上每有一个人的火熄灭就点燃下一个。 那么如果我们能够点燃区间$[L,R]$的所有烟火,就需要存在一个扩展路径上的所有$l,r$满足: $$x_l+vT(r l)\ge ...
分类:
其他好文 时间:
2020-02-21 18:01:54
阅读次数:
75
"Link" 显然答案具有单调性,所以我们考虑二分答案。 由题可知,JOI和IOI的分界线是单调的,即要么是从左上到右下,要么是从左下到右上。 并且我们知道,最大值和最小值肯定不能在同一个省里。 所以要么是最大值$mx$在左边的省里,要么是最小值$mn$在左边的省里。 所以对于一个二分出来答案$li ...
分类:
其他好文 时间:
2020-02-21 17:44:48
阅读次数:
63
题意:https://ac.nowcoder.com/acm/contest/4370 将一棵树切k-1刀分成k棵树,问这k棵树里最大的权值的最小值是多少 思路:https://www.cnblogs.com/ucprer/p/11931263.html 二分最大值。 dfs割子树,每次从下往上切一 ...
分类:
其他好文 时间:
2020-02-20 22:21:05
阅读次数:
150
题目链接 https://codeforces.com/contest/685/problem/C 题解 我怎么又还差最后一步的时候放弃了然后往别的方向上想了一小时才发现这个思路能做…… 首先二分答案,转化为所有点半径为$mid$的曼哈顿距离区域内是否有交。 考虑二维问题,显然可以用曼哈顿转切比雪夫 ...
分类:
其他好文 时间:
2020-02-20 20:07:11
阅读次数:
64
ABC155D 題意 有一个长度为$n$的序列$A$,从序列中任选两个数有$n (n 1)/2$种方式,问两个数的乘积组成的非递减序列中的第$k$个数是多少? 数据范围 $2 \le n \le 2 10^5$ $ 10^9\le A_i\le10^9$ 题解 采用二分答案的方法。 坑点 在于检查二 ...
分类:
其他好文 时间:
2020-02-17 10:39:22
阅读次数:
420
"题目链接" 题目大意 有n个维度为m的向量,取其中两个进行合并,合并时每个维度取两者之间的较大者,得到的新的向量中,维度值最小者最大为多少 分析 首先最需要注意的是m的取值,m最大只有8 那么我们可以二分答案,对于每一个二分值,进行下面的操作 将整个矩阵的每一个元素,如果这个元素大于二分值,则变成 ...
分类:
其他好文 时间:
2020-02-11 00:24:08
阅读次数:
68
一般来讲我们会在以下情况用到二分: 求单调函数的零点 求一堆东西的最小值最大是多少 很难直接算出答案,但是很好判定答案合不合法 如果想学就继续看吧! 二分查找 二分是一种可以再$\mathcal{O}(\mathrm{ch}\log m)$($m$为数据规模,$\mathrm{ch}$为判断状态合法 ...
分类:
其他好文 时间:
2020-02-07 22:27:03
阅读次数:
100
二分+最大流 首先考虑二分答案 然后可以发现对于已知时间,判断是否可以将所有机器人摧毁可以用网络流 建立源点和汇点,源点向每一个激光武器连一条容量为$time*b[i]$的边,表示该激光武器在$time$时间下最多能产生的伤害为$time*b[i]$ 每一个机器人向汇点连一条容量为$a[i]$的边, ...
分类:
其他好文 时间:
2020-02-04 20:48:12
阅读次数:
78
整体二分 如果单个询问可以通过二分答案来解决(例如查询 k 大数),那么我们就可以试着把所有询问都一起二分。这个算法就叫整体二分。 模板: 对于加入哪个队列这一操作,常见的有三种写法: 1. https://www.luogu.com.cn/problem/P1527 记录答案(最好用) 2. ht ...
分类:
其他好文 时间:
2020-02-02 20:02:24
阅读次数:
62
思路: 二分答案。 实现: 1 #include <bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int N = 200005; 5 ll l[N], r[N]; 6 bool check(ll x, in ...
分类:
其他好文 时间:
2020-02-02 13:52:53
阅读次数:
75