08 2022 档案
摘要:###NOIP2021数列 ###Analysis 先注意题目的关键点: 要满足 的二进制表示中 的个数不超过 一个合法数列的权值是一个 $v_{a_1} \times v_{a_2} \times
阅读全文
摘要:###降维方法 可持久化 条件:静态问题,且一般都是在线,因为可以离线的话,通常会用各方面更优的离线(分治)算法。 减少一个维度后,时间复杂度去掉一个log 对于二维问题,可持久化一维,如:二维数点用可持久化线段树在线维护 对于三维问题,选一个维度可持久化,即可持久化树套树,但不会写,应该不考。 扫
阅读全文
摘要:###补充 对于某一维限制如果是min(a,b),或者是max(a,b),可以分两种情况讨论然后用cdq解决这一维限制 ###概论 在OIwiki上可以看到cdq分治有三种不同的作用: 解决序列的点对问题 优化1D1D动态规划 将动态问题以多一个log代价,转化为静态问题。 但最本质的应该是第三个:
阅读全文
摘要:很厉害的题。在任务计划里躺了一年。。。 ###题目传送门 ###思考之路 题目要让我们在付出不超过m的代价在树上找到一个权值最大的连通块。 容易想到树形dp,设表示选的连通块中深度最小的点为,选的点的代价和为的情况下喜爱度的最大值。 那么转移时,对树上的每个点做一次$(
阅读全文
摘要:###算法流程 一开始每个连通分量是一个点本身,每轮,每个连通分量选择和其他连通分量相连的最小的边,然后合并,可以证明最多log轮后,只会剩下一个连通分量,复杂度O(mlog n) 证明: 正确性是显然的,每个联通分量向外连出的最小的边,一定在最小生成树中。 然后考虑,每个连通分量选择和其他连通分量
阅读全文
摘要:###问题模型 有若干颗动态开点线段树,总点数为M,现有如果按操作,操作为某个线段树上的查询,获将两颗线段树合并,这里的合并通常是同一下标对应数相加(也可以是其他形式的合并如Minimax) ###算法流程 设函数Merge(x,y)表示合并x,y两棵子树,那么: 如果x为空,则直接返回y 如果y为
阅读全文
摘要:首先声明两个误区: 代价函数满足四边形不等式是dp具有决策单调性的充分不必要条件,所以通过打表,发现dp具有决策单调性不能说明代价函数满足四边形不等式 仅有dp的的决策点单调这一个条件是无法用二分+单调队列优化的,因为二分+单调队列优化需要满足一个条件:在新求出一个fi时,考虑i可以作为那些位置的最
阅读全文
摘要:###有向无环图游戏模型 把所有局面看做点,操作看做有向边,则整个游戏为一个DAG。 这个DAG有一个初始点,两个人轮流操作,每次操作可以选当前点的任意一条出边的终点作为新的当前点。最终无法移动的人输。 ###证明博弈论的基本思路: 将所有局面划分为两个集合,一类对应先手必败,一类对应先手必胜。 证
阅读全文
摘要:虽然挺简单的,但用的不多的话,挺容易忘。 ###问题模型: 给定一个数论函数,定义 要求在低于线性的时间复杂度求出 ###基本原理: 构造一个数论函数,令 可以得到 $S_f(n)=\frac{1}{g(1)
阅读全文