-
P5978 [CEOI2018] Global warming
考虑到答案的形成 我们考虑枚举第一段的最右侧端点 ,前面的显然是以 为结尾的 ,后面的我们考虑类似维护后缀 的方式 这里用到了一个新技巧,传统的 只能做从小到大的 我们维护递减序列,然后用 $greater()$ 123lower_bound(a+1,a+n+1,x,greater<int>()); //第一个小于等于x的值的编号 upper_bound(a+1,a+n... -
鲜花
历经3天终于把站建好了,接下来就是把博客园剩下的文章搬过来 准备是每个题都单独开一个博客,方便打 和复习,后面慢慢整理 这段时间还是完成了不少事情的,做了第一个 ,第一次建站 建议不想折腾的人还是 解决一切吧,主题也比较好配置,要搞主题也最好选那种有使用手册的主题,这个 配了好久好久才搞好 联赛也快到了,反正就尽人事,听天命 -
建站ing
感谢博客【新手】使用Github+hexo搭建个人博客_哔哩哔哩_bilibili Node.js 安装配置 | 菜鸟教程 (runoob.com) Git下载安装教程:git安装步骤手把手图文【超详细】 - 知乎 (zhihu.com) Node.js下载安装及环境配置教程【超详细】_nodejs下载_WHF__的博客-CSDN博客 创建博客hexo init时报错Github被墙的解决方... -
IDA* 拯救世界
IDA* 是神! 缺点:状态数无法计算,队列自带常数 转 就是利用 实现 框架,并且利用 的剪枝完成优化 优点:好写,不用计算状态数 缺点:常数稍微有点大 例题 归途游吟有一个名为「浅塘」的游戏 给定「浅塘」的某一个局面,求通关的最快步骤 输入 输入一个 的矩阵 其中 表示位置为空, 表示小红鱼,否则所有相同的 表示一个木块。 如【题目背景】图中的初始局面可以表示为: 1... -
启发式合并
启发式合并并查集按轶合并 数组合并P3201 [HNOI2009] 梦幻布丁 考虑每次把数量小的颜色合并到数量大的颜色上去 每次合并不同颜色 至少 ,最多合并 次,复杂度为 我们考虑如何把数量大合并到数量小的变成数量小的合并成数量大的上面 我们用 vec[col] 存所有 的 ,考虑到 实际上是个指针的特性,我们可以直接交换 的 指针,这是 的 12if(col[x].siz... -
基环树 Dp
基环树 个点 条边的图,一个或多个一个环上挂了一堆树的单元组成 对于基环树的题,常见的套路就是断掉其中一条边,变成树的处理方式 需要注意的是,如果出现重边,只可能是 , 这样的二元环构成 例题P1453 城市环路 考虑树怎么做,就是没有上司的舞会 并查集找环,标记环上任意两点和这条边 分别对两个点跑树形 ,然后取 注意这里断边必须标记边,而不是标记点,否则就会被二元环卡掉,因为... -
连续段 Dp
连续段 Dp简介求个满足条件的排列数个数,存在一些例如 的限制条件 假如我们记录哪些数出现过,那么显然状态会爆炸,无法记录 我们可以从大到小,或从小到大来填数 状态转移的过程可能与相邻的已插入元素的具体信息相关,如插入一个新元素时,需要知道与其插入位置相邻的两个元素的值是多少 推荐文章 基本操作它的元素插入操作只会在连续段的两端进行,通过新建连续段,插入至已有连续段的两端,合并两连续段三类... -
斜率优化 Dp
斜率优化 介绍一般为 等降掉一个 的 优化 本质上基于决策单调性,单调队列维护 方程大概长成: 注: 为常数 https://www.cnblogs.com/MashiroSky/p/6009685.html https://www.cnblogs.com/Xing-Ling/p/11210179.html StepP3195 [HNOI2008] 玩具装箱 例题 朴素 化... -
cdq 分治
Here’s something encrypted, password is required to continue reading.
-
Dfn序 && 欧拉序
Dfn 序 点修改+子树查询/子树修改+点查询 树状数组维护单点/差分 子树修改+子树查询 线段树区间加区间和 路径修改+点查询 维护 和每个点到根的路径和,转成 ,,, 从下往上差分,一个点的差分为它的值-所有儿子的值 1234mdf(dfn[x],d);mdf(dfn[y],d);mdf(dfn[p],-d);if(fa[p]) mdf(dfn[fa[p]],-d);pri...