摘要: Day -4 公布考场啦! 合肥一中 第四考场。 Day -1 约好了和 syk 在小机房面基,好耶。 Day 1 来到考场先试了下键盘,有点硬但没啥问题。附近的同学看起来也和蔼可亲,感觉这次压力不会太大。 开考了,20min 的时候我自认为第一题找到了正解 —— 扫描线+前缀和。思路大概是按照每一 阅读全文
posted @ 2021-10-15 01:20 BrotherCall 阅读(433) 评论(1) 推荐(0) 编辑
摘要: 高龄 OIer 即将 AFO Day -42 选了个吉利的日子八月八,拍了新照片,报了名。终于没有再用七年级拍的照片了( Day -19 老鸽子终于给我审核通过了。 /lb Day -15 早上起来晚了错过了 SCP 模拟赛,看了选择题感觉提前退役了。 后面补全程序直接没看,不过听说还有 \(Dij 阅读全文
posted @ 2021-10-15 01:17 BrotherCall 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 势能线段树浅析:link 这里我们介绍一下经典例题以及做法。 模板做法: 由于势能线段树的性质,某些区间的值在减小一定次数之后会到达一个定值(或某区间修改次数存在限制),所以我们在递归调用线段树只需要判断左区间和右区间是否还需要修改权值。最后我们只需要在根节点进行修改,然后把需要维护的答案上传即可。 阅读全文
posted @ 2021-10-15 01:14 BrotherCall 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 堆:一个父节点一定不大于(不小于)子节点的树形数据结构。 支持 插入元素,删除元素,查询最大/最小的元素。 前两者操作复杂度为 \(O(\log n)\) ,查询操作复杂度为 \(O(1)\) 。 优先队列(STL) 大根堆:priority_queue heap; 小根堆:priority_que 阅读全文
posted @ 2021-10-15 01:12 BrotherCall 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 单调栈 定义:内部元素满足单调性的栈。 用途:线性时间内处理出数组中每一个 \(i\) 左边/右边 第一个 大于/小于 \(a_i\) 的位置。 模板题:P5788 【模板】单调栈 题意:令 \(f(i)\) 为 \(i\) 右边第一个大于 \(a_i\) 的位置。输出 \(f(i)\) , \(i 阅读全文
posted @ 2021-10-15 01:11 BrotherCall 阅读(1721) 评论(0) 推荐(1) 编辑
摘要: 线性筛,可以理解为用 \(O(n)\) 的时间复杂度处理 \(\leqslant n\) 定义域范围内每个点对应的某个函数值。比如线性筛质数等。 而筛法的思想非常简单,就是我们要求每一个数都被且仅被其最小的质因数筛掉,即只有在 \(pri[j] \leqslant min(prime(i))\) 时 阅读全文
posted @ 2021-10-15 01:10 BrotherCall 阅读(6519) 评论(0) 推荐(2) 编辑
摘要: 势能线段树其实就是对于一些数据结构题,我们察觉到其中存在一些规律: 一段区间或某个点的修改次数不会超过 \(k\) 次, \(k\) 的值很小或为一个常数。 这样我们就可以在这个点修改了 \(k\) 次之后让它不再修改。 详解可见 link 。 这里我们转载一下其中最重要的几句话: 我们知道,线段树 阅读全文
posted @ 2021-10-15 01:09 BrotherCall 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 莫队:著名 \(O(n\sqrt{n})\) 离线算法,思想基于分块。 做法 令 \(t = \sqrt{n}\) ,将区间左端点分成 \(t\) 块,按块从小到大排序,再将块内按从小到大排序。即: bool compare(node s1 , node s2){ if(s1.x / t < s2. 阅读全文
posted @ 2021-10-15 01:08 BrotherCall 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 题面: CF431D Random Task 题意: 给定两个数 \(m\) 和 \(k\) ,要求输出一个 \(ans\) ,满足在 $[ ans + 1 , 2 ans] $ 这个区间中恰有 \(m\) 个数的二进制表示中恰有 \(k\) 个 1 (输出的 \(ans\) 为任一满足题意的即可) 阅读全文
posted @ 2021-10-15 01:05 BrotherCall 阅读(34) 评论(0) 推荐(0) 编辑
摘要: CF486D Valid Sets 题意: 给出一棵有点权的树,求这棵树的满足极差 \(\leqslant k\) 连通子图的个数 ( 点数 \(n \leqslant 2000\) ) 。 解法: 由于点数 \(n \leqslant 2000\) ,所以我们考虑构造一个 \(O(n^2)\) 的 阅读全文
posted @ 2021-10-15 01:04 BrotherCall 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 题面:CF446B DZY Loves Modification 题意: \(zyb\) 有一个 \(n \times m\) 的矩阵,他每次选某一行或者某一列,使自己的快乐值加上这一 行/列 的总和。之后这一 行/列 的所有数字大小减去 \(p\) 。问 \(k\) 次操作之后最大快乐值为多少。 阅读全文
posted @ 2021-10-15 01:02 BrotherCall 阅读(14) 评论(0) 推荐(0) 编辑
摘要: CF1408D Searchlights 题意: 在以左下角 \((0 , 0)\) 为坐标原点的直角坐标系中 , 有 \(n\) 个强盗 \(m\) 个监控。每个监控能看到自己左下角的所有区域。而所有强盗可以且只能同时向右或向上移动一步,求为了让所有强盗摆脱监控,最少移动次数为多少。 解法: 实际 阅读全文
posted @ 2021-10-15 01:00 BrotherCall 阅读(26) 评论(0) 推荐(0) 编辑
摘要: CF1416B Make Them Equal 题意: 一个数列 \(a_1 , a_2 ... a_n\) 。\((a_i \geqslant 1)\) 每次可以选一个三元组 \((x , y , z)\) 且 \(x\) 非负 ,\(a_i -= x \cdot i\) , \(a_j += x 阅读全文
posted @ 2021-10-15 00:59 BrotherCall 阅读(47) 评论(0) 推荐(0) 编辑
摘要: CF1244C The Football Season 题意: 解方程组:\(x+y+z=n\) , \(wx + dy = p\) , 要求 \(x ,y , z\) 都非负。 \(1 \leqslant n \leqslant 10^{12} , 1 \leqslant p \leqslant 阅读全文
posted @ 2021-10-15 00:58 BrotherCall 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题意理解及思路转换详见:link 同样的道理,我们只需要预处理出来 \(nxt\) 数组和 \(del\) 数组,然后直接莫队维护就可以了。 摆一段最关键的函数吧: void work(int l , int zx){ if(dq[a[zx]].empty()) { nb[a[zx]] = fals 阅读全文
posted @ 2021-10-15 00:56 BrotherCall 阅读(26) 评论(0) 推荐(0) 编辑