该文被密码保护。 阅读全文
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 阅读(179) 评论(1) 推荐(0) 编辑
摘要: 链接: "JXOI2017 2018 解题报告" 代码预览: "Github" 阅读全文
posted @ 2019-03-28 14:19 water_mi 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 链接: "网络流20+4题解题报告" 代码预览: "Github" 阅读全文
posted @ 2019-03-15 18:38 water_mi 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 题面 "CodeForces" 题解 横着切和竖着切是互相不影响的。 假设现在横着切成了很多段,显然此时面积最大的矩形的一边长就是这些段中长度最长的一段。竖着切的也是一样的。 所以就可以用$set$来维护切过的横、纵坐标与每一段的长度。 修改时,先找到相邻的两刀,再找到对应的长度,删去这个长度,再加 阅读全文
posted @ 2019-02-03 17:19 water_mi 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 题面 "CodeForces" <! more 题解 因为要保证两两不同,所以不能单纯的开堆来维护,堆维护一个二元组,个数为第一关键字,编号为第二关键字,对于一个相同的颜色,统计一下这个颜色的个数再用堆来维护就好了。 阅读全文
posted @ 2019-02-03 17:08 water_mi 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 题面 "Bzoj" 题解 很显然,我们只需要考虑单独取线段上方的情况,对于下方的把坐标取反再做一遍即可(因为我们只关心最终的答案) 建立树状数组维护一个横坐标区间内有多少个点,维护双向链表实现查询一个点左(右)横坐标最大(小)的与它相同的点。 首先枚举没有取到的颜色,找出所有不包含这种颜色的区间,更 阅读全文
posted @ 2019-02-03 16:57 water_mi 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题面 "Bzoj" "洛谷" 题解 考虑用并查集维护图的连通性,接着用线段树分治对每个修改进行分治。 具体来说,就是用一个时间轴表示图的状态,用线段树维护,对于一条边,我们判断如果他的存在时间正好在这个区间内,那就把它用并查集并起来。最后对于一个询问,直接用并查集找就好了。 但是因为有撤销操作,所以 阅读全文
posted @ 2019-02-03 16:44 water_mi 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题面 "Bzoj" 题解 对于每个节点,我们可以用树链剖分和线段树维护以下信息: 单独在某个点分配$i$个人的最大收益(可以$O(m)$计算) 分配$i$的最大收益(可以$O(m^2)$计算) cpp include include include using std::min; using std 阅读全文
posted @ 2019-02-03 16:33 water_mi 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 题面 "Bzoj" "洛谷" 题解 考虑一个什么样的区间满足重组之后可以变成$3$的倍数。不妨设$tot$为一个区间内$1$的个数。如果$tot$是个偶数,则这个区间一定是$3$的倍数,接着考虑奇数的情况。 如果只有$1$个$1$,那么无论如何都不行,只需考虑$3$个$1$的情况,因为其他的$1$可 阅读全文
posted @ 2019-02-03 15:41 water_mi 阅读(268) 评论(0) 推荐(0) 编辑