随笔分类 - 二分
摘要:HDU - 5854 二分答案之后, 设答案值为v, x为小于等于v的边的数量, y为大于v的边的数量, 列出方程 x > (x + y) / k == (k - 1) * x - y > 0, 感觉有点像线性规划的样子。 然后用树形dp去check, 判合不合法的时候可以优化成一个R, 但是不优化
阅读全文
摘要:Chemistry Experiment 维护一个权值线段树,然后二分答案。
阅读全文
摘要:Place Your Ad Here 把没用的第一类区间去掉之后, 排序, 然后枚举第二类区间, 在上面死命二分就好了。
阅读全文
摘要:思路:二分之后用dp去check就好啦。
阅读全文
摘要:F - New Year and Cleaning 这题简直是丧心病狂折磨王。。 思路:容易想到这样一个转换,把整个矩形一起移动,矩形移出去的时候相当于一行或者一列。 为了优化找到下一个消去的点,我先把原数组扩大两倍,用了st表加二分去找,然后就MLE, 我又换了 线段树TLE,最后不把数组扩大两倍
阅读全文
摘要:D - Animals and Puzzle
阅读全文
摘要:思路:二分答案,然后我们贪心地先不填最小的一堆,看在最小的一堆消耗完之前能不能填满其他堆。
阅读全文
摘要:题目大意:给你两个长度为n的数组a, b,问你有多少个问你有多少个区间满足 a中最大值等于b中最小值。 思路:我本来的想法是用单调栈求出每个点的管辖区间,然后问题就变成了巨麻烦的线段覆盖问题,就爆炸写了 一晚上假算法。正解就是枚举一个端点,然后二分找右端点的区间,因为满足一个很神奇的单调性,然后st
阅读全文
摘要:思路:因为被占奇数次的点只有一个, 那么我们可以将数轴分成两部分,奇数次点之前的前缀和为偶数,之后的前缀和为奇数, 然后就可以二分了。
阅读全文
摘要:贴一发两圆相交面积模板 1 #include<bits/stdc++.h> 2 #define pi acos(-1.0) 3 using namespace std; 4 const double eps=1e-6; 5 double _abs(double x) 6 { 7 if(x<0) re
阅读全文