随笔分类 - 总结
摘要:总结: 这一年的清华集训题虽然没有非常毒瘤的题但总体来说难度较大(可能是我比较蒟蒻),覆盖的算法比较全面且很有思维难度,在这里做一下题目总结及简略题解(详细题解请转至对应题目题解的博客)。 Alice和Bob又在玩游戏 $solution$:$SG$函数+trie树合并 显然每棵树是一个单一游戏,求
阅读全文
摘要:这次省选真的经历了很多,虽然最后一波三折进了省队,但还是留下了许多遗憾。 DAY1 进考场先看T1,区间线性基?想了想大概像超级钢琴那样做?但trie树上怎么查区间第k大?一时间没想出来。咦!暴力60分很好拿诶!拿完60走人!去看第二题,好像找到每个A串的前缀B串然后连边跑一遍拓扑序DP就好?-1的
阅读全文
摘要:前言: $FWT$是用来处理位运算(异或、与、或)卷积的一种变换。位运算卷积是什么?形如$f[i]=\sum\limits_{j\oplus k==i}^{ }g[j]*h[k]$的卷积形式(其中$\oplus$为位运算)就是位运算卷积。如果暴力枚举的话,时间复杂度是$O(n^2)$,但运用$FWT
阅读全文
摘要:本来不打算写游记的,但后来想了想这么一次难忘的经历总该留下点痕迹吧...... DAY-1 走之前的最后一天,因为前一天晚上打了CF,所以早上9点才到机房。写了一道圆方树深深地体会到了来自仙人掌的恶意,orz旁边的Winniechen提前一天进入WC生活。 DAY0 中午11点的飞机,早上9点多就到
阅读全文
摘要:前言: 树的直径指树上距离最远的两点间的距离,它在树上问题上有许多应用,往往通过树的直径的性质可以将一个高时间复杂度的解法变为线性求解。对于树上两点间距离通常有三种定义,我们根据这三种情况分别讨论一下它的性质。 树的直径的求法: 树的直径有两种求法,时间复杂度都是$O(n)$。 贪心求法: 贪心求直
阅读全文
摘要:前言: 边分治和点分治一样属于树分治的一部分,相比于点分治,边分治对于与度数相关的问题有着很大的优势,同时边分治也是解决树上最优化问题的一种重要的算法。 分治过程: 边分治的分治过程与点分治类似,同样每次分治时找到一条分治中心边使这条边两端的两个联通块中较大的一个尽量小。以分治中心边为界限,恰好将当
阅读全文
摘要:三元环是一个不怎么常见的黑科技,它的求解方法是一种基于分块思想的方法,比较简单好写,在这里介绍一下三元环的计数方法及正确性与时间复杂度证明。 对于一个$n$个点$m$条边的无向图,三元环是指对于图上的三个点,两两点之间都直接有边相连,这三个点组成的环就是三元环。 三元环的计数方法:记录图中每个点的度
阅读全文
摘要:DAY-1 临近考试莫名的慌张,上午考了yirannn的题,三道题爆炸,70分实力ranksum,这让本就慌张的我更加的慌了。下午写着各种模板,LCT不会考吧?还是写一下吧;点分治也考不了吧?万一能用到呢,也写一下吧。打完模板看了几道期望dp,毕竟初赛都考了好几个期望概率,复赛一定能考吧。晚上11点
阅读全文
摘要:博弈论入门: 巴什博弈: 两个顶尖聪明的人在玩游戏,有一堆$n$个石子,每次每个人能取$[1,m]$个石子,不能拿的人输,请问先手与后手谁必败? 我们分类讨论一下这个问题: 当$n\le m$时,这时先手的人可以一次取走所有的; 当$n=m+1$时,这时先手无论取走多少个,后手的人都能取走剩下所有的
阅读全文
摘要:树链剖分是解决树上问题的一种常见数据结构,对于树上路径修改及路径信息查询等问题有着较优的复杂度。树链剖分分为两种:重链剖分和长链剖分,因为长链剖分不常见,应用也不广泛,所以通常说的树链剖分指的是重链剖分。在这里讲解并总结一下树链剖分的实现、优秀性质及应用。 重链剖分 先来介绍几个重链剖分的专业名词:
阅读全文
摘要:莫比乌斯反演是数论中非常重要的一部分,它可以将一个本来只能用时间复杂度极高的枚举求和过程,通过反演变成一个线性时间复杂度甚至根号级别的时间复杂度的问题。在这里,总结一下本人在学习莫比乌斯反演(附带一部分欧拉反演)时的经验和技巧。 在说反演之前先说一个大多数反演问题都能用到的部分——整除分块 什么是整
阅读全文
摘要:线性筛法在数论中起着至关重要的作用,对于一部分求解有关积性函数的问题可以大大降低时间复杂度。线性筛法中,除了线性筛质数,所要筛的函数必须是积性函数,而线性筛这些函数的基础也是线性筛质数。先来解释一下什么是积性函数?积性函数就是指对于一个函数f,f(1)=1且对于任意两个互质的数x,y满足f(x)*f
阅读全文
摘要:线段树是一种非常实用的数据结构,可以将区间上一些满足结合律的信息(比如最大最小值,区间和,区间异或和)统计起来,便于查询。线段树也就是将分块的思想用树形结构来体现。而今天要讲的不是普通的线段树而是将线段树可持久化。 在讲可持久化线段树之前先说一种别样的线段树——权值线段树。我们知道一般的线段树每个叶
阅读全文
摘要:在刷了许多道平衡树的题之后,对平衡树有了较为深入的理解,在这里和大家分享一下,希望对大家学习平衡树能有帮助。 平衡树有好多种,比如treap,splay,红黑树,STL中的set。在这里只介绍几种常用的:treap、splay和替罪羊树(其中treap包括旋转treap和非旋转treap)。 一、t
阅读全文
摘要:在没学AC自动机之前以为这是一个很高深很难的算法,但其实AC自动机并不难,理解之后就变得非常简单了。 先来介绍一下AC自动机:AC自动机全称Aho-Corasick automaton(不是Accept自动机qwq),是著名的多模匹配算法,在多模匹配问题上相比于kmp效率更快。举个例子:询问多个单词
阅读全文
摘要:点分治 在说点分治之前先说一下序列分治,序列分治大家都知道吧,就是把序列从某个位置(一般是中间点)分成两部分,统计跨越两部分的答案再递归处理两部分。树的点分治的道理和序列分治很像,但树没有中点,该怎么分治呢?再对比序列分治,序列相当于一条链,而序列的中点就是这条链的重心,那么树的分治点就可以是这棵树
阅读全文
摘要:作为一名OIer,无论是蒟蒻还是神犇都难免会犯一些低级错误,而这些低级错误在考试时就有可能会让你从AC变成爆零。所以在考试时应当避免这类错误。在这里给大家总结一些常见的低级错误来与大家共勉。 一、文件类 1、许多OIer习惯在写代码前先写上文件操作然后注释掉,写完之后就经常会忘记删除注释。只是考场上
阅读全文

浙公网安备 33010602011771号