2020年10月28日

摘要: C. Chef Monocarp 这道题目给的tag实在是多,dp,二分图匹配,最小费用流都能写,反正由于数据量比较小,所以被各路神仙用各种方法过穿了,这里只写一下我看到的dp写法 dp[i][j]表示在排好序的a[i]数组中拿去i个元素且遍历到第j位时的状态,应该有如下转移方程 $$dp[i][j 阅读全文
posted @ 2020-10-28 21:57 zhyunx 阅读(126) 评论(0) 推荐(0) 编辑
 

2020年8月8日

摘要: 题目要求实现的操作都是线段树的,区间增加,旋转...自己重新打别人的代码的时候都快裂开了,这么多的函数,啊这,平板电视到底怎么用啊(((φ(◎ロ◎;)φ)))... #include<bits/stdc++.h> using namespace std; typedef long long LL; 阅读全文
posted @ 2020-08-08 23:19 zhyunx 阅读(220) 评论(0) 推荐(0) 编辑
 
摘要: 平衡树的题目,原本应该构建一个treap,但是看题解似乎set自带的属性也能过,于是赶紧学了一手,实在是太香了... 注意事项1.set中lower_bound返回的是指针2.为了防止lower_bound返回指针是set.end()–>即寻找不到,应当预处理一下,在set当中预先加入+-INF方便 阅读全文
posted @ 2020-08-08 23:14 zhyunx 阅读(127) 评论(0) 推荐(0) 编辑
 

2020年8月7日

摘要: 点分冶是一种在树上处理区间问题的一种方式,对于一个树上两点之间的的路径,如果我们设置一个指定节点p(为树的重心)为根节点,那么会存在两种情况: 路径经过了根节点p 路径包含于p的某一棵子树中 对于第二类我们可以递归进行处理,对于第一类,我们将路径分为"x~p"和"p~y"两段,从p开始进行dfs,求 阅读全文
posted @ 2020-08-07 00:11 zhyunx 阅读(90) 评论(0) 推荐(0) 编辑
 

2020年8月5日

摘要: 进阶指南上面的题目都十分经典,但是经典题难度一点都不低,特别是对于我这种还没入门的萌新来说╥﹏╥...题目的意思是求一段[l,r]之内数量为偶数的数字的总数量,这道题的标注是分块,但是我分块的经验几乎为零,无法,只能去找题解了。搜寻过程中发现了神犇hzwer的博客,实在是宝藏http://hzwer 阅读全文
posted @ 2020-08-05 22:19 zhyunx 阅读(76) 评论(0) 推荐(0) 编辑
 
摘要: 比亚特兰蒂斯的数据要简化,同样是扫描线的入门题目,不需要对数据进行离散化,题目这次要求的是周长,和面积比起来,我们需要在线段树中增加更多成员。记录下当前线段树有效长度len和记录线段树当前线段数量的num,同时设置rb,lb标记左右节点是否被覆盖。每一次ans增加的值为当前有效长度+(上次线段数量- 阅读全文
posted @ 2020-08-05 22:05 zhyunx 阅读(73) 评论(0) 推荐(1) 编辑
 

2020年8月4日

摘要: 刷到了进阶指南题单数据结构的练习部分,是对之前的知识的巩固提升,一步步写过来真的很难受,归根结底还是自己太菜了/(ㄒoㄒ)/~~ 这次的题目主要考察线段树lazy和对结构体元素的建立,果然,仅仅会一个线段树是远远不够的,最重要的是他的变形。这一题我刚开始就没想出来怎么设置元素来实现功能,但是看了别人 阅读全文
posted @ 2020-08-04 23:33 zhyunx 阅读(76) 评论(0) 推荐(0) 编辑