摘要: 【BZOJ1018】[SHOI2008]堵塞的交通 题面 bzoj 洛谷 洛谷 题解 菊队讲要用线段树维护连通性,但是好像没人写 解法一 将所有的加边删边离线,然后以最近删除时间为边权,$LCT$维护最大生成树即可 代码 解法二 没打,但是可以参考这篇文章 阅读全文
posted @ 2018-12-25 21:30 heyujun 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 【LG4735】最大异或和 题意 "洛谷" 题解 维护一个前缀异或和$S_i$ 对于一个询问操作$l$、$r$、$x$ 就是等价于求一个位置$p$($l\leq p \leq r)$使得$S_nxorS_{p 1}xorx$最大 可将此问题转化为求$p$使$S_{p 1}$ $xor$ $S_n x 阅读全文
posted @ 2018-12-20 21:55 heyujun 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 【POJ2482】Stars in Your Window 题面 "vjudge" 题解 第一眼还真没发现这题居然™是个扫描线 令点的坐标为$(x,y)$权值为$c$,则 若这个点能对结果有$c$的贡献,必须要矩形左下角的点的范围必须在$([x,x+w),[y,y+h))$之间 则按扫描线套路将一个 阅读全文
posted @ 2018-12-18 21:54 heyujun 阅读(301) 评论(1) 推荐(0) 编辑
摘要: 【POJ1733】Parity game 题面 "vjudge" 题解 比较简单的分类并查集 将一个查询操作看作前缀和$s_r s_{l 1}$的奇偶性 将每个点拆成一奇一偶然后分别连边即可 如果一个点的奇点和偶点被连在一起了就判无解即可 代码 cpp include include include 阅读全文
posted @ 2018-12-18 21:41 heyujun 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 【LG2495】[SDOI2011]消耗战 题面 "洛谷" 题解 "参考博客" 题意 给你$n$个点的一棵树 $m$个询问,每个询问给出$k$个点 求将这$k$个点与$1$号点断掉的最小代价 其中$n\leq250000$ $m\geq1$ $\Sigma k_i\leq500000$ 暴力 考虑直 阅读全文
posted @ 2018-12-18 21:30 heyujun 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 【LG4175】[CTSC2008]网络管理 题面 "洛谷" 题解 感觉就和 "普通的整体二分" 差不太多啊。。。 树上修改就按时间添加,用树状数组维护一下即可 代码 cpp include include include include include include using namespac 阅读全文
posted @ 2018-12-18 20:21 heyujun 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 【LG2481】[SDOI2011]拦截导弹 题面 "洛谷" 题解 可以看出第一问就是一个有关偏序的$LIS$,很显然可以用$CDQ$优化 关键在于第二问 概率$P_i=$ $总LIS数$ / $经过i的LIS数$ 分别正反跑两遍$CDQ$可以统计出分别以$i$为终点和起点的$LIS$数 乘起来就是 阅读全文
posted @ 2018-12-14 22:50 heyujun 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 【LG1975】[国家集训队]排队 题面 "洛谷" 题解 又是一个偏序问题 显然$CDQ$ 交换操作不好弄怎么办? 可以看成两次删除两次插入 排序问题要注意一下 代码 cpp include include include include include include include using 阅读全文
posted @ 2018-12-14 22:39 heyujun 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 【LG1393】动态逆序对 题面 "洛谷" 题解 $CDQ$分治,按照时间来分治 应为一个删除不能对前面的操作贡献,所以考虑一个删除操作对它后面时间的操作的贡献 用上一个答案减去次贡献即可 代码 cpp include include include include include include 阅读全文
posted @ 2018-12-14 22:33 heyujun 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 【LG1527】[国家集训队]矩阵乘法 题面 "洛谷" 题解 我也不知道为什么取个这样的名字。。。 其实就是区间$kth$扩展到二维 还是用整体二分搞啦,把树状数组换成二维的 其他的基本没有什么差别 复杂度$nlog^3$ 代码 cpp include include include include 阅读全文
posted @ 2018-12-14 22:25 heyujun 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 【LG3527】[POI2011]MET Meteors 题面 "洛谷" 题解 整体二分。 每次二分$mid$,如果到时间$mid$以收集过$P_i$就存入子序列$L$,否则存入子序列$R$ 修改可以树状数组区间修改单点查询做 每个王国的掉落地点用$vector$存一下即可 看起来复杂度是平方的实则 阅读全文
posted @ 2018-12-14 22:19 heyujun 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ1176】[BOI2007]Mokia 摩基亚 题面 "bzoj" "洛谷" 题解 显然的$CDQ$$/$树套树题 然而根本不想写树套树,那就用$CDQ$吧。。。 考虑到点$(x1,y1)$和$(x2,y2)$区域内既有上限又有下限我们不是很好算 于是将这个区域的贡献写成另外一种形式, 记 阅读全文
posted @ 2018-12-14 22:09 heyujun 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 【POJ2104】K th Number 题面 "virtual judge" 题解 其实就是一道主席树$sb$题 但是为了学习整体二分的需要就用整体二分写了。。。 所以主要利用此题讲一下整体二分到底是个啥(以下部分参考李煜东《算法竞赛进阶指南》): 两个例子 $Eg1$ 给定一个正整数序列$A$及 阅读全文
posted @ 2018-12-14 21:54 heyujun 阅读(286) 评论(0) 推荐(1) 编辑
摘要: 【LG4169】[Violet]天使玩偶/SJY摆棋子 题面 bzoj权限题呀 "良心洛谷" 题解 cdq分治 其实题目就是说 实时插入点,并且给定点$(x,y)$ 求$min_{i=1}^{n}$${|x x_i|+|y y_i|}$。 我们考虑$cdq$分治,如何做呢? 绝对值很丑,其实可以分别 阅读全文
posted @ 2018-12-14 17:49 heyujun 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ3110】【LG3332】[ZJOI2013]K大数查询 题面 "洛谷" "BZOJ" 题解 和普通的整体分治差不多 用线段树维护一下每个查询区间内大于每次二分的值$mid$的值即可 然后再按套路做就行了 代码 cpp include include include include inc 阅读全文
posted @ 2018-12-12 00:17 heyujun 阅读(157) 评论(0) 推荐(0) 编辑