摘要: " 题目传送门 " 这是一道双倍经验题 "Luogu P2195" 虽然Luogu P2195的题意很迷,但确实是双倍经验 先预处理出每棵树的直径,并用并查集维护哪些点在同一棵树里 对于$1$操作,直接输出就可以了 对于$2$操作,显然在两棵树直径的中点处连边最优。再用并查集维护一下即可 阅读全文
posted @ 2019-11-14 11:41 MorsLin 阅读(104) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 第一次写二维线段树 二维线段树模板题 感觉二维线段树很迷~~代码倒是挺好记~~ 还得再理解理解 阅读全文
posted @ 2019-11-14 11:37 MorsLin 阅读(121) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 神仙题 Alice和Bob怎么整天在一起玩一些神仙游戏 原序列为$x$,输入的序列为$a$。 因为题目中是 上升子序列 和 下降子序列 ,所以原序列中相同的元素没有贡献,因此不妨设$x$为$1$~$n$的一个排列 $a_i$是以$x_i$为结尾的最长上升子序列的长度,所以对于所有 阅读全文
posted @ 2019-11-14 11:36 MorsLin 阅读(145) 评论(0) 推荐(0) 编辑
摘要: " 比赛传送门 " 得出经验,打$CF$倒着开题比较爽。C题看了好久,没找到规律,看了看其他题,发现最后一题是个半裸的Tarjan 暴涨$236$分,飘了 不过新的名字颜色好丑,像$\color{blue}{\text{电脑蓝屏的那种蓝}}$ A. Integer Points 偶数会和偶数交于整数 阅读全文
posted @ 2019-11-14 11:33 MorsLin 阅读(166) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " “电脑运行速度很快!24的阶乘也不过就620448401733239439360000,yyy你快写个程序来算一算” 我想你可能需要 "神威·太湖之光" 因为一共就24张卡片,可以状压 设 ,表示使用集合$S$的卡片的方案数, 表示使用集合$S$的卡片所能到达的距离 转移就很简单 阅读全文
posted @ 2019-11-14 11:31 MorsLin 阅读(89) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 第一次分块 分块,将每一个块内部排序 对于A操作,块内部二分查找,两边的零散部分在原数组中暴力查找 对于M操作,给整块打上标记,两边的零散部分暴力修改 阅读全文
posted @ 2019-11-14 11:30 MorsLin 阅读(106) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " ~~好奇怪的人物名字~~ 和 "这道题" 的树状数组解法思想相同 我们要找区间中至少出现了两次的颜色,则区间内第一次出现的颜色没有价值,只有第二次出现的颜色才会对答案有所贡献。 先预处理出各个位置 ,表示下一个该位置上的颜色出现的位置。 将询问按左端点排序,对于一个询问,从左向右 阅读全文
posted @ 2019-11-14 11:29 MorsLin 阅读(74) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 第一次做用线段树维护DP的题目 算是个带权区间覆盖问题(瞎起的名字) 先将所有区间按左端点的升序排序,然后依次枚举 显然可以写出DP方程: 设 表示从要覆盖的区间的左端点$s$到点$i$之间(包括$i$)所有的点全被覆盖所需要的最小花费 其中 、``cow[p].t p``个区间 阅读全文
posted @ 2019-11-14 11:29 MorsLin 阅读(118) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 这道题的思路有点像 "这篇博客" 用线段树维护区间和、区间最大值。若区间最大值小于模数,则直接返回,不对此区间进行操作 阅读全文
posted @ 2019-11-14 11:28 MorsLin 阅读(90) 评论(0) 推荐(0) 编辑
摘要: " 比赛传送门 " ~~CodeChef = ccf~~ S10E 水题,直接模拟即可 SAKTAN 行和列分开处理,因为 奇数+偶数=奇数 ,所以分别求出加了偶数次的行$ea$和列$eb$,加了奇数次的行$oa$和列$ob$最后答案就是$oa\times eb + ea \times ob$ MA 阅读全文
posted @ 2019-11-14 11:26 MorsLin 阅读(124) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 很妙的差分题目 分别找到画布上每种颜色的最上、最下、最左和最右,然后进行差分,求出每个位置至少涂了几次。如果涂的次数 ,则肯定不是先涂的 有一种特殊情况,如果涂的次数 ,但只有一种颜色,且 ,则一定不是先涂的 阅读全文
posted @ 2019-11-14 11:25 MorsLin 阅读(180) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 这守卫怕不是铁憨憨,互相$TK$欢乐多 如果没有墙的话,可以将它的行和列分别看成点,对于每一块空地$(i, j)$,在$i$、$j$之间连一条边,然后跑二分图匹配就好了 然后考虑墙的影响,墙会把一行或一列分成几段互不影响的区间,将这几段区间的行(列)标上不同号,表示它们互不影响, 阅读全文
posted @ 2019-11-14 11:21 MorsLin 阅读(92) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 我可以说方伯伯浪费粮食么…… 首先要知道一个结论: 每次操作的右端点一定是$n$ 因为如果拔高一段区间,区间内部的玉米的相对高度不会发生变化,区间左边的点贡献增加$x$,但区间右边的点贡献会减少。如果我们将这段拔高区间的右端点挪到$n$上,区间左边的点贡献还是会增加$x$,区间右 阅读全文
posted @ 2019-11-14 11:20 MorsLin 阅读(92) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 这紫题……有点水 自底向上合并,每次找儿子里面最小的合并 用了vector,常数有点大,开O2才过 阅读全文
posted @ 2019-11-14 11:19 MorsLin 阅读(90) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 数据结构学傻了…… 对每个颜色开一个vector,记录该颜色出现过的位置 查询操作直接在vector里二分查找$l,r$,一减就可以 修改操作直接二分后swap就可以了 阅读全文
posted @ 2019-11-14 11:18 MorsLin 阅读(97) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 奇妙的题目 把操作离线下来,二分第$q$位置上的数$x$,将排列中大于$x$的数记为$1$,小于$x$的数记为$0$,然后就可以很简单的用线段树维护每个操作 最后判断$q$位置上的数是否为$1$ 时间复杂度$O(n\log^2 n)$ 阅读全文
posted @ 2019-11-14 11:13 MorsLin 阅读(111) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " DP是不可能DP的,只会搜索 先二分距离,然后此题转化为最小点覆盖,即选择最少的点去覆盖关键节点,覆盖范围为二分的$mid$ 对于覆盖,大部分题解都是用的DP,但是用剪枝后的搜索也能水过去 对于每个关键节点,如果它已经被覆盖了,就不管它,否则选择它的$k$级祖先进行覆盖 在用DF 阅读全文
posted @ 2019-11-14 11:12 MorsLin 阅读(95) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 简化题意 :一颗带有点权、以$1$为根的树,对于每个节点$x$,求出$x$的子树中有多少个点满足该点的点权大于$x$的点权 先将点权离散化 对这棵树进行DFS,在DFS到$x$时,加入该点点权,然后在DFS它的子树前记录一下当前有多少节点大于$x$,记为$last$。在回溯到该节 阅读全文
posted @ 2019-11-14 11:11 MorsLin 阅读(51) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 先把每两个点之间的LCA求出来 画图模拟,显然可以~~(也可能并不显然)~~发现集合点选为深度最小的LCA时最优 阅读全文
posted @ 2019-11-14 11:09 MorsLin 阅读(108) 评论(0) 推荐(0) 编辑
摘要: " 题目传送门 " 暴力乱搞大法好! 感觉这题难度有点虚,最多蓝题吧 一开始写了个没有一丝剪枝的搜索交了上去,水到了$60pts$ 于是加了个卡时,就$A$了 顺便说一句,数据略水(可能也是因为乱搞不好卡吧) 阅读全文
posted @ 2019-11-14 11:08 MorsLin 阅读(179) 评论(0) 推荐(0) 编辑