摘要: 受限于博主水平,本博客可能会有一些错误。请勿轻信。欢迎指正。 博主是一个正在OI路上摸爬滚打的现役OIER, 我的个人博客 申请友链请联系我 QQ 博客园消息 自二月十五日之后的博客题目链接会尽量改为镶嵌页面(权限题和加载过慢的网站除外),题解提交一条龙服务哦$qwq$阅读全文
posted @ 2018-12-26 18:57 wxyww 阅读(130) 评论(0) 编辑
摘要: 那些短暂的相遇,短暂的美好,会不会在心里埋下长久的种子 D2019 6 12号 话说到一半机房断网很难受。。。 上午考试。。后两个题比较水。。 第一题。。。哎不说了。就是菜呀。。。 提前交完想去小机房修一修耳机来着。。可为啥我怎么也听不到“电流声”。。 想让$yjg$给$sxy$再回家试一试。。 。阅读全文
posted @ 2018-12-01 20:17 wxyww 阅读(511) 评论(6) 编辑
摘要: "大坑待填"阅读全文
posted @ 2019-06-13 18:29 wxyww 阅读(4) 评论(0) 编辑
摘要: 题目链接 题意 思路 ~~调到哭系列~~ 其实就是kd tree的模板题。用堆维护出距离最小的m个点。然后在$kd tree$上查询。 这一个小地方从上午9点调到下午4点半。。。。。真的快气哭了。。。 代码 cpp //调的心累呀!!!! / @Author: wxyww @Date: 2019 0阅读全文
posted @ 2019-06-13 16:40 wxyww 阅读(12) 评论(0) 编辑
摘要: 题目链接 思路 $KD tree$模板题 代码 cpp include include include include include include include include using namespace std; typedef long long ll; define ls TR[rt阅读全文
posted @ 2019-06-13 09:01 wxyww 阅读(20) 评论(0) 编辑
摘要: 题目链接 思路 这个"$K$远“点对一直理解成了距离第$K$大的点对$233$。 要求第$K$远,那么我们只要想办法求出来最远的$K$个点对就可以了。 用一个大小为$2K$(因为每个点对会被统计两次)的小头堆维护距离最大的$K$个点对,然后在$KD tree$上查询最远点对,如果查到的点对之间的距离阅读全文
posted @ 2019-06-13 08:50 wxyww 阅读(12) 评论(0) 编辑
摘要: 题目链接 思路 先考虑没有额外收益的时候怎么做。 从$S$向第$i$点连一条容量为$A_i$边,表示种在$A$中的收益。 从第$i$个点向$T$连一条容量为$B_i$的边,表示种在$B$中的收益。 然后求出来最小割,用总收益减去即可。 完成之后如下图: 然后考虑如何处理额外收益 对于每一个额外的收益阅读全文
posted @ 2019-06-10 10:56 wxyww 阅读(14) 评论(0) 编辑
摘要: 题目链接 题意 你要解雇一些员工,其中有一些限制。即若要解雇x则必须解雇y。解雇每个人都会有一定的收益。现在要让这个收益最大。输出解雇的人数和最大收益。 思路 最大收益直接跑最大权闭合子图就好了。 然后考虑怎么统计解雇的人数。 根据最大闭合权子图的连边方式可以看出。割掉$S\rightarrow x阅读全文
posted @ 2019-06-09 20:13 wxyww 阅读(15) 评论(0) 编辑
摘要: 题目链接 题意 给出一个长度为$n$的序列$a$,问有多少个区间$[l,r]$满足:在区间$[l,r]$内,$[1,r l+1]$的每个整数都恰好出现了一次。 $n \le 3 \times 10 ^ 5$,$a_i \le n$ 思路 可以发现,其实最后的答案一定不会很大。 所以:暴力出奇迹!!!阅读全文
posted @ 2019-06-06 16:57 wxyww 阅读(64) 评论(0) 编辑
摘要: 题目链接 题意 给出n条线段。m次询问,每次询问给出一个区间$[l,r]$问最少需要多少条线段才能覆盖区间$[l,r]$。 所有坐标$\le 5\times 10^5$。$n,m\le 2\times 10^ 5$ 思路 其实是比较经典的线段覆盖问题。 $f[i][j]$表示从i开始走$2^j$条线阅读全文
posted @ 2019-06-06 15:01 wxyww 阅读(114) 评论(0) 编辑
摘要: 题目链接 题意 给出一个长度为$n$的序列$a$,要求分为恰好$K$段。第$i$个点的贡献是$a_i \times f(i)$,$f(x)$表示x所属的是第几段。 思路 非常巧妙的一个思路。 先让每个元素都选K遍。然后不断的删除。 具体做法就是,先求一遍前缀和。然后找出前缀和最小的$K 1$个前缀,阅读全文
posted @ 2019-06-06 08:09 wxyww 阅读(45) 评论(0) 编辑
摘要: 定义 所谓笛卡尔树,就是将给定的$n$个二元组$(key,val)$建成一棵树。使得如果只关注$key$,那么这是一个堆。如果只关注$val$,那么这是一棵二叉搜索树。 有没有很像$treap$。 与$treap$不同的是,笛卡尔树是可以在$O(n)$时间内构建的。而且如果给定key,那么$trea阅读全文
posted @ 2019-06-05 22:07 wxyww 阅读(17) 评论(0) 编辑
摘要: 题目链接 思路 用$f(i,j)$表示前i个元素,以i为右端点,j为左端点时的答案。 用个"区间修改,单点查询"的线段树维护出第二维。在从左往右枚举i的过程中。将$[lst_i+1,i]$的答案+1.将$[lst_{lst_i}+1,lst_i]$的答案 1。 代码 cpp / @Author: w阅读全文
posted @ 2019-06-05 11:51 wxyww 阅读(15) 评论(0) 编辑
摘要: 题目链接 题意 给出一棵树,每条边有边权。求$\sum\limits_{i=1}^n{f(i,j)}$,$f(i,j)$表示从i到j路径的异或和。 思路 $g_i$表示从根到$i$的异或和,两点之间的路径异或和就可以用$g_i \otimes g_j$表示。 先然$g_i$可以一次$dfs$求出来。阅读全文
posted @ 2019-06-05 08:46 wxyww 阅读(15) 评论(0) 编辑
摘要: 题意 t次询问,每次给你一个数n,求在[1,n]内约数个数最多的数的约数个数 $t \le 500,n \le 10^{19}$ 思路 首先可以想到将n质因数分解。即$n= \prod\limits_{i=1}^n{a_i}^{p^i}$ 答案就是$\prod\limits_{i=1}^n{p_i+阅读全文
posted @ 2019-06-01 17:35 wxyww 阅读(19) 评论(0) 编辑
摘要: 题目链接 思路 用一个平衡树维护点的编号和权值。这里的权值是自己赋上去的。 操作1,就把x从平衡树中删掉,然后将其权值变为最小值,重新插入。 操作2,与操作1类似,只要将其权值变为最大值再重新插入就行了。 操作3,其实就是将x与他的前驱或者后继交换。也很容易实现。 操作4,查询排名。 操作5,查找第阅读全文
posted @ 2019-05-25 17:55 wxyww 阅读(22) 评论(0) 编辑
摘要: 题目链接 思路 首先这是一个阶梯博弈。 我们将金币两两组合,如果对方移动前一个,那么我们把后一个移动相同的距离,局面相当于没有变化。如果对方移动后一个,就相当于$NIM$游戏中,取走了一些石子。 所以这个游戏也就是金币两两组合后,有$\lceil \frac{m}{2}\rceil$ 堆石子,进行$阅读全文
posted @ 2019-05-15 09:52 wxyww 阅读(34) 评论(1) 编辑
摘要: 题目链接 题意 有n个bug和s个系统。每天会等概率的在某个系统中找一个某一个bug。问找到全部n个bug并且在每个系统中都找到bug的期望天数。 思路 f[i][j]表示在j个系统中找到了i个bug的期望天数。 某天有四种可能: 1.在新的系统中找到新的bug,概率为$\frac{(n i)\ti阅读全文
posted @ 2019-05-14 16:19 wxyww 阅读(15) 评论(0) 编辑
摘要: 题目链接 思路 首先观察题目最后的式子$\lfloor \frac{n}{p + 1} \rfloor \le q$ 并且$\lfloor \frac{n}{q+1} \rfloor \le p$。 这个式子其实就是告诉我们$p$和$q$都要尽量大。 然后这道题就可以分成两个小题: 1.求一个子图,阅读全文
posted @ 2019-05-11 15:47 wxyww 阅读(65) 评论(0) 编辑
摘要: 题目链接 吐槽 竟然让$nlog$的做法卡过去了。。 思路 因为$1 \le q \le 10^5$,所以可以先对每个 标准操作 ,所操作的位置进行重标号。这样所有的下标都是在$10^5$以内的。 乘和加操作都可以写成$kx+b$的形式。然后对于这些操作维护一个 前缀 。然后就可以得到一个区间内的操阅读全文
posted @ 2019-05-11 14:00 wxyww 阅读(45) 评论(0) 编辑
摘要: 题意 给出一张图,将其分为一个团和一个独立集。问有多少种方案。 团和独立集都不能为空 思路 先考虑找可行方案应该怎么做 显然是个$2 sat$。可以将分到团和独立集中分别看为0和1。 如果两个点之间右边,那么必定不能同时在独立集中。如果两个点之间没有边,那么必定不能同时在团中。然后连边$求2 sat阅读全文
posted @ 2019-05-02 15:52 wxyww 阅读(31) 评论(0) 编辑
摘要: 题目链接 思路 既然$x$的数量那么小,我们就可以先把每个$x$搜索一遍。 枚举x的时候不需要把$a,b,c$全枚举一遍,只要枚举其中的两个就可以枚举到当前位置选任何车的情况。 然后就变成了只有$'a','b','c'$的序列。寻找满足题目要求的方案。 $2 sat$模型。 连边的时候注意一些技巧,阅读全文
posted @ 2019-04-30 21:17 wxyww 阅读(40) 评论(0) 编辑