随笔分类 -  算法 - 整体二分

摘要:比较神仙的随机化+交互题. 测试点 $1$ ~ $5$ : 限制条件不强,可以直接点亮一条边中编号小的点 $x$,然后再枚举编号大于 $x$ 的点. 操作次数:$O(n)$ 查询次数:$O(n^2)$ 测试点 $6$ ~ $9$: 图的形态是点两两匹配. 这里有两种做法: 1. 随机化 假设当前要分 阅读全文
posted @ 2020-08-06 15:15 EM-LGH 阅读(184) 评论(0) 推荐(0)
摘要:我之前一直以为这道题很厉害,没想到就是一个整体二分模板题,就当省选前练练手了. 我们计算每个木棍是被哪个子弹所击碎的,然后这个显然具有单调性. 每一条木棍分别去二分答案的话时间复杂度大概是 $O(n^2 \log n)$ 的. 所以我们就采用整体二分的方式,然后判断的话用一个树状数组来一个区间加法就 阅读全文
posted @ 2020-06-11 08:37 EM-LGH 阅读(156) 评论(0) 推荐(0)
摘要:新学了一下决策单调性. 对于这道题,我们可以先考虑 $j<i$ 的情况. 然后我们发现随着 $i$ 变大,$i$ 的决策点不可能减小(因为根号函数的增长速率越来越小,所以一旦被赶超上是不可能追回来的) 然后有两种处理方式:单调队列+二分 or 整体二分. 前者细节较多,后者更好写一些. code: 阅读全文
posted @ 2020-03-30 11:15 EM-LGH 阅读(242) 评论(0) 推荐(0)
摘要:以前一直以为这道题很恶心,事实证明还好,好多地方脑残写丑了. code: #include <cstdio> #include <string> #include <cstring> #include <algorithm> #define N 50003 using namespace std; 阅读全文
posted @ 2019-12-21 16:00 EM-LGH 阅读(207) 评论(0) 推荐(0)
摘要:题意:对于一个序列,假如说一个区间内最多能包含 $k$ 个不同的数,那么这个序列最少会被划分成几个区间 $?$ 输出 $k$ 为 $1\sim n$ 的答案. 我们每次选区间一定是贪心地将这个区间选地越大越好. 这道题有一个非常显然的主席树做法:从后向前扫,维护每一种数字出现最靠左位置,然后用主席树 阅读全文
posted @ 2019-10-02 14:47 EM-LGH 阅读(285) 评论(0) 推荐(0)
摘要:Code: 阅读全文
posted @ 2019-02-13 13:10 EM-LGH 阅读(222) 评论(0) 推荐(0)
摘要:线段树肯定会 TLE 的,必须要用树状数组. Code: 阅读全文
posted @ 2019-01-13 22:06 EM-LGH 阅读(230) 评论(0) 推荐(0)
摘要:很好的一道题,令人大开眼界。 Code: 阅读全文
posted @ 2019-01-13 14:37 EM-LGH 阅读(229) 评论(0) 推荐(0)