posted @ 2019-09-28 11:03 water_mi 阅读 (2) 评论 (0) 推荐 (0) 编辑
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
posted @ 2018-12-25 16:51 water_mi 阅读 (4) 评论 (0) 推荐 (0) 编辑
摘要: 10.13 初赛 Day 1 考前 这一次的考场从暗♂德华兴改到了长沙市一中,一进去:我一看,考场在哪???这一中比长郡大了好多,而且连指示牌都没有,这时碰见了谢总,谢总告诉我们在第二教学楼。路上还碰见了 psj 和 fdf,匆匆忙忙进了考场,发现考场内没什么人,于是决定去上个厕所愉♂悦身心,之后聊了一会 阅读全文
posted @ 2018-11-10 20:39 water_mi 阅读 (647) 评论 (8) 推荐 (0) 编辑
摘要: 链接: "HNOI2019 游记" 阅读全文
posted @ 2019-04-08 09:25 water_mi 阅读 (180) 评论 (1) 推荐 (0) 编辑
摘要: 链接: "JXOI2017 2018 解题报告" 代码预览: "Github" 阅读全文
posted @ 2019-03-28 14:19 water_mi 阅读 (170) 评论 (0) 推荐 (0) 编辑
摘要: 链接: "网络流 20+4 题解题报告" 代码预览: "Github" 阅读全文
posted @ 2019-03-15 18:38 water_mi 阅读 (248) 评论 (0) 推荐 (0) 编辑
摘要: 题面 "CodeForces" 题解 横着切和竖着切是互相不影响的。 假设现在横着切成了很多段,显然此时面积最大的矩形的一边长就是这些段中长度最长的一段。竖着切的也是一样的。 所以就可以用 setset 来维护切过的横、纵坐标与每一段的长度。 修改时,先找到相邻的两刀,再找到对应的长度,删去这个长度,再加 阅读全文
posted @ 2019-02-03 17:19 water_mi 阅读 (246) 评论 (0) 推荐 (0) 编辑
摘要: 题面 "CodeForces" <! more 题解 因为要保证两两不同,所以不能单纯的开堆来维护,堆维护一个二元组,个数为第一关键字,编号为第二关键字,对于一个相同的颜色,统计一下这个颜色的个数再用堆来维护就好了。 阅读全文
posted @ 2019-02-03 17:08 water_mi 阅读 (185) 评论 (0) 推荐 (0) 编辑
摘要: 题面 "Bzoj" 题解 很显然,我们只需要考虑单独取线段上方的情况,对于下方的把坐标取反再做一遍即可(因为我们只关心最终的答案) 建立树状数组维护一个横坐标区间内有多少个点,维护双向链表实现查询一个点左(右)横坐标最大(小)的与它相同的点。 首先枚举没有取到的颜色,找出所有不包含这种颜色的区间,更 阅读全文
posted @ 2019-02-03 16:57 water_mi 阅读 (228) 评论 (0) 推荐 (0) 编辑
摘要: 题面 "Bzoj" "洛谷" 题解 考虑用并查集维护图的连通性,接着用线段树分治对每个修改进行分治。 具体来说,就是用一个时间轴表示图的状态,用线段树维护,对于一条边,我们判断如果他的存在时间正好在这个区间内,那就把它用并查集并起来。最后对于一个询问,直接用并查集找就好了。 但是因为有撤销操作,所以 阅读全文
posted @ 2019-02-03 16:44 water_mi 阅读 (236) 评论 (0) 推荐 (0) 编辑
摘要: 题面 "Bzoj" 题解 对于每个节点,我们可以用树链剖分和线段树维护以下信息: 单独在某个点分配 ii 个人的最大收益(可以 O(m)O(m) 计算) 分配 ii 的最大收益(可以 O(m2)O(m^2) 计算) cpp include include include using std::min; using std 阅读全文
posted @ 2019-02-03 16:33 water_mi 阅读 (302) 评论 (0) 推荐 (0) 编辑
摘要: 题面 "Bzoj" "洛谷" 题解 考虑一个什么样的区间满足重组之后可以变成 33 的倍数。不妨设 tottot 为一个区间内 11 的个数。如果 tottot 是个偶数,则这个区间一定是 33 的倍数,接着考虑奇数的情况。 如果只有 11 11,那么无论如何都不行,只需考虑 33 11 的情况,因为其他的 11阅读全文
posted @ 2019-02-03 15:41 water_mi 阅读 (271) 评论 (0) 推荐 (0) 编辑
点击右上角即可分享
微信分享提示