总结
文章平均质量分 88
616156
赛高______↑
展开
-
NOIP2017提高组总结
考前一周wls找到我们,告诉我们一个悲痛的消息:今年巴蜀有三十多个高二企图霸场 本来没心没肺准备NOIP的蒟蒻瞬间就有压力了。。。。Day0期中考试考差了被老爸半夜拉出来骂了一顿,爽翻,没睡觉(12:00以后睡的)Day1毕竟还只是第二次参加NOIP(种种问题导致我们连前几年的NOIP题都没做),并不清楚NOIP的画风,还天真地以为今年第一天又是1水+2神的配置。于是企图先秒掉第一题,然而。。。原创 2017-11-13 16:27:29 · 470 阅读 · 3 评论 -
【总结】后缀数组
前言据说后缀数组是个比较常用的玩意。。。不过我也没在什么大赛上遇到过。。。但防范于未然嘛。。。CQOI2018的Matrix-Tree定理惨案。。。不能再发生了概述后缀数组是一种高效字符串处理的工具,主要就是快速计算静态的LCP(动态可以考虑平衡树+字符串hash:详见BZOJ1014[JSOI2008])虽然看起来没什么卵用,但LCP用处可就大了。其应用相当广泛,具体的可以在...原创 2018-08-01 07:59:55 · 216 阅读 · 0 评论 -
【总结】【数论】原根和指标
前言:原根和指标在数论中有大量的性质和规律,这里无法一一列举,只能简要写写用到的概率大一些的内容。本文是博主在复习时总结用,许多证明都已经略去,不建议初学者参考(速食主义者除外)。 主要包括:原根的定义及基本性质,求法,指标的定义,以及指标的基本应用。原根定义及性质:要说明原根的完整定义,又要扯到阶那一块,这里就直接用一句话大致表示了:若aaa为模m的原根 那么必然满足(a...原创 2018-09-03 14:05:03 · 2589 阅读 · 0 评论 -
【总结】NOIP模拟赛记录
时间栏为粗略时间,并不精准。10.5三校联考(100+60+0)操作内容时间备注通看所有题意10minT1正解+调试30minT1暴力+数据生成器,并开始对拍10minT2思考正解10minT2正解+调试50min中途发现线段树爆内存,换为SplayT2暴力+数据生成器,并开始对拍10minT2发现仍然卡内存,思...原创 2018-10-15 16:54:35 · 241 阅读 · 0 评论 -
【总结】【字符串】AC自动机&KMP算法
前言:AC自动机与KMP算法,都是用于优化字符串匹配的算法。KMP算法应用于单模式串的匹配。而AC自动机是应用于多模式串的匹配。但并不意味着KMP算法可以被完全取代(尽管两者的算法思想本质上是一样的)。KMP算法:相对而言,KMP算法比较容易一些。首先,考虑如何暴力匹配?很显然,可以以主串的任意一个位置开头,然后开始匹配,失配后,再找下一个位置开头。这样的复杂度显然是O(n*m)的...原创 2018-10-22 19:43:58 · 489 阅读 · 0 评论 -
NOIP2018游记
今年可真是画风清奇啊。。。D1全场水过。。。D2集体被卡。。。说多了都是泪。。。Day0下午去巴蜀试机子,键盘垃圾到爆。。。晚上没怎么复习Day1刚进考场就出事故了,键盘崩了,好几个键被抠下来。。。巴蜀那边的老师在机房里到处装键盘,等给我装完都开始15分钟了。。。心里几句mmp被题目憋回去了。我擦,原题?好像还做过3次?看了三遍,确认那是原题。。。然后写了正解和暴力对拍9:00...原创 2018-12-03 16:42:53 · 189 阅读 · 0 评论 -
【线性代数】多项式各类算法总结
前言:这可能是本蒟蒻在2018省选以前写的最难的东西了。 考虑到时间紧迫,所以有些东西我自己也不能完全理解,只能照搬课件。 只能以后再看机会填坑了再说回多项式,几乎所有的多项式算法都是基于NTT的优化,也就是说,要想办法把所有的运算,转化为可以使用NTT优化的表达方式。首先给出几个在之后的证明中可能用到的概念: 一个多项式AAA的最高次幂,称为该多项式的度,记为degAdegAd...原创 2018-04-04 08:30:32 · 5146 阅读 · 0 评论 -
【总结】斯特林数
前言目前由于时间关系,只研究了第一类斯特林数。有关第二类斯特林数的问题将尽快补上。第一类斯特林数第一类斯特林数的定义是:[nm]表示将n个数,放入m个圆排列的方案数{n \brack m}表示将n个数,放入m个圆排列的方案数[mn]表示将n个数,放入m个圆排列的方案数圆排列:只考虑元素之间的相对位置,不关心绝对位置。换言之可以像圆一样转动。类似置换群中的循环。有一个很显然的递推式...原创 2019-01-12 12:07:00 · 245 阅读 · 0 评论 -
【总结】【筛法】Min_25筛
简介:对于积性函数f(x)f(x)f(x)求∑i=1i≤nf(i)(其中n≤1011左右)\sum_{i=1}^{i\leq n} f(i)(其中n\leq 10^{11}左右)i=1∑i≤nf(i)(其中n≤1011左右)必须满足的条件是:当p为质数时,F(P)F(P)F(P)必须能表示为一个多项式的形式,即F(P)=A0+A1P+A2P2+……F(P)=A_0+A_1P+A_2P^2...原创 2019-03-18 20:40:19 · 289 阅读 · 0 评论 -
【总结】动态DP&全局平衡二叉树
前言:本算法是树剖DDP算法的加速版,复杂度更小(不是特意卡树剖其实看不出来),但还是比较好写,因此在这里提一下动态DP动态DP听起来很黑科技,但其实并不难首先,能动态的DP本身就很少,需要满足很多限制而且一般动态DP的题都会给普通DP留部分分,如果有暴力写得好的,甚至可以在低风险下拿到和DDP差不多的分。扯回正题,动态DP就是把常规DP的转移用矩阵(其实不一定是矩阵,用数据结构特...原创 2019-03-23 16:11:59 · 477 阅读 · 0 评论 -
【总结】最小树形图 朱刘算法
前言省选复习的时候,发现没写博客。。。来补一篇。。最小树形图就是有向图的最小生成树,满足从根出发,能到达所有节点,且边权和尽可能小。朱刘算法很暴力的方法,每个点在指向它的边中,选择最小的一条(根节点不选)。然后答案加上每个点选出的边权。然后可能有环,就缩环成点,然后改一下边权val’-=val,表示之后若选择val’,则必须断开val一直这样做下去,直到某一次找不到环了就停止...原创 2019-04-04 15:13:34 · 674 阅读 · 0 评论 -
【总结】伯努利数
分析:伯努利数满足:B0=1,∑i=0i≤nBiCn+1i=0B_0=1,\sum_{i=0}^{i\leq n} B_iC_{n+1}^i=0B0=1,i=0∑i≤nBiCn+1i=0根据这个性质,可以推导出一些结论:∑i=0i≤nBiCn+1i=0\sum_{i=0}^{i\leq n}B_iC_{n+1}^i=0i=0∑i≤nBiCn+1i=0∑i=0i<...原创 2019-03-27 17:07:49 · 691 阅读 · 0 评论 -
【离散对数BSGS】总结
BSGS算法简述对于一个方程: Ax≡B(mod&nbsp;C)Ax≡B(mod&nbsp;C)A^x\equiv B(mod\space C) 求能满足条件的最小的x(GCD(A,C)=1)x(GCD(A,C)=1)x(GCD(A,C)=1) 由于GCD(A,C)=1GCD(A,C)=1GCD(A,C)=1,所以一定满足Aφ(C)≡1(mod&nbsp;C)Aφ(C)≡1(mod&nb...原创 2018-03-23 21:22:34 · 507 阅读 · 0 评论 -
【总结】概率与期望
前言作为NOIP级的知识点,概率与期望算是比较困难的类型了。 但其实也不是无法解决的难题。本文主要通过作者本人的刷题经历,对概率期望类题目进行总结。概率51Nod1639绑鞋带:有n根鞋带混在一起,每根鞋带有两个鞋带头。现在重复n次以下操作:随机抽出两个鞋带头,把它们绑在一起。求最终只形成一个环的概率?依次考虑每一步操作,现在已经选出来了一个头,它必须和非它所在的链的另一...原创 2018-05-31 15:54:31 · 2502 阅读 · 0 评论 -
【总结】FFT算法在信息竞赛中的应用
FFT算法本身就是一种优化,优化(类似)卷积运算的时间复杂度 (卷积:∑i,jai∗bj−i∑i,jai∗bj−i\sum_{i,j}a_i*b_{j-i})。 FFT的本质,其实是利用复数的一些特殊性质,将一个多项式快速地在点值和系数两种表示方法间来回切换。再利用两个多项式点值表示法相乘的复杂度为O(n),来达到降时间的目的。FFT算法的前导概念首先介绍关于复数的一些定义及性质 ...原创 2018-02-05 11:45:06 · 1377 阅读 · 0 评论 -
【数据结构】可持久化线段树&Trie总结
可持久化:可以访问历史版本的“升级版”的数据结构,利用访问历史版本的性质,可以做到许多在区间上的操作。可持久化线段树:例题: cqoi2111:区间第k大 给定一个长度为n的序列,m个询问,每个询问的形式为:l,r,k表示在[l,r]间中的第k大元素. (n<=100000, m<=100000,1<=l<=r<=n, 1<=k<=r-l+1)如果用线段树来储存某个区间的第i大,显然是原创 2017-11-22 14:12:55 · 1288 阅读 · 0 评论 -
【数据结构】范浩强Treap(非旋转平衡树)&可持久化Treap总结
范浩强Treap这是一种很神奇的数据结构(似乎我每个数据结构都要这么说) 尽管可能是我的模板太丑了,速度实测出来似乎并不比splay快,不过要做到可持久化的话, 这种数据结构就是首选。 另外,这种数据结构相当好写。简单地说,这种treap基于两种操作: Merge(int x,int y)->将x的子树和y的子树合并起来,且满足 x的子树的最大值小于等于y子树的...原创 2017-12-02 17:52:36 · 3430 阅读 · 1 评论 -
【比赛总结】Codeforce 451 Div2
B:给出x,y,nx,y,n,求xa+by=nxa+by=n的一组a,ba,b的取值,要求a,ba,b均为非负数。本来直接暴力枚举就可以搞完的事,当场脑子抽了想写EXGCD,浪费时间不说,还WA了一次(没看到均为非负数)。C:给出n个人的通讯录,名字相同属于同一个人,每个人的通讯录有m个电话号码,如果一个电话号码为另一个的后缀,则改电话号码无效。 求总人数,以及最终每个人有效原创 2017-12-20 13:05:43 · 278 阅读 · 0 评论 -
AtCoder Regular Contest 088
C:给出一个X,Y 求出一个序列AA,满足Ai−1|Ai且Ai−1≠Ai,Ai∈[X,Y]A_{i-1}|A_i且A_{i-1}≠A_i,A_i∈[X,Y],求这个序列的最长长度。模拟,序列第一位为X,每一位为之前一位的两倍,O(logY)O(logY)。D:给出一个01串,可以将01串上任意连续的长度不小于k的一个子序列翻转,求k的最大值。很容易发现一点,假设我们将原创 2017-12-24 23:05:32 · 250 阅读 · 0 评论 -
Codeforces 456 Div2
(写到一半突然断电。。。。。无力,原谅我不写题意了)B:很显然,如果k=1k=1,答案就是n 若k≥2k≥2,答案就是n的第一个1开始,将后面所有位全部转换为1后的值。#include#include#include#define SF scanf#define PF printf#define MAXN 1010using namespace std;原创 2018-01-06 15:12:36 · 254 阅读 · 0 评论 -
【总结】北大2018冬令营题目&总结
6道题,6道与概率计数相关的题,6道都涉及998244353这个魔性数字的题Day1T1:给出一颗n个节点的二叉树,每个叶节点有一个权值(权值均不相同),每个非叶节点有一个概率P,表示:该点的权值有P的概率为它所有子节点中的最小值,同时有(1-p)的概率为所有子节点的最大值。 现在将根节点所有可能的权值从小到大排序,设分别为V1,V2,V3...Vm" role="presentat原创 2018-02-02 02:43:38 · 2530 阅读 · 0 评论 -
【比赛总结】Codeforces472 Div1
前言:第一次打Div1的比赛,本来准备睡到11:30再打,结果睡过头了。还忘了注册,赣。 慌里慌张的,题都没看明白就开始交,企图挽回失误,结果受到天罚了:B题Wa了两次,调了一个小时就因为看错题意。也直接导致了最后C题也没能调出来。果然掉回蓝名去了,爽翻(话说CF评测机停电是什么操作。。。)不过简单题还是比较好做的(ABC),后面的还没来得及看。。现在时间紧就弃了。A:C...原创 2018-03-26 20:10:01 · 241 阅读 · 0 评论 -
【总结】CQOI2018爆炸记
Day0各种模板都背得差不多了,下午去看了考场,路上教练说可能我们最近OI赛制的比赛打得很少,估计会有影响,要多注意。(flag高高悬起) 听LJH大爷,码了一发FFT一发NTT让这俩货对拍,键盘是软式的,一不留神就多敲了几个键,还好码了一会就习惯了。隐约听到后面的教练在说:“今年似乎不开O2优化……”。当初还不怎么在意。。。(flag再次高高悬起)Day1教练做了简单的提醒...原创 2018-04-16 14:45:59 · 1040 阅读 · 0 评论 -
【莫队算法】总结&CF940F Machine Learning
题意:给出一个长度为N序列(为什么D、E、F都是序列) 需要支持两种操作: 1、定义一个区间的值为:这段区间任意元素出现次数的集合的mex,给出l,r求原串中[l,r]这段区间的值 2、修改某个点的值 对mex的定义与SG函数中是相同的,表示一个自然数集中未出现的最小的整数。 例如:1、3、2、1、2、2、21、3、2、1、2、2、21、3、2、1、2、2、2这个序列的值为3: 3...原创 2018-02-25 20:57:59 · 951 阅读 · 0 评论 -
【总结】积性函数前缀和(杜教筛)
前言:据CCH和LJH说,杜教筛似乎是一个非常套路的东西,几乎所有的杜教筛的题目推理方式都是一模一样的(但实测有些推理还是很恶心的)。所以复习杜教筛不需要太多时间,粗略看一遍,留下印象即可。杜教筛其实是一种简化运算的推理方式,它的使用条件并不仅限于积性函数(?),只是积性函数可以将复杂度进一步优化。例题:求欧拉函数前缀和因为杜教筛是一种推理方式,所以直接给出例题反而容易上手...原创 2018-03-09 12:02:48 · 2306 阅读 · 0 评论 -
【总结】FWT算法
前言:作为FFT又一个衍生算法,FWT相对(NTT)来说比较特殊,特殊在它的运算全部是逻辑运算(即与,或,异或等),这也导致FWT的代码看上去和FFT并不类似,但总的来说FWT是一个相对容易的算法(只不过需要背一些东西)。算法介绍FFT算法,是用于优化卷积,而FWT是用于优化逻辑运算卷积。形如下图: C[x⊕y]=∑A[x]B[y]C[x⊕y]=∑A[x]B[y]C[x\op...原创 2018-03-12 10:48:40 · 7577 阅读 · 0 评论 -
【总结】MTT算法
前言51nod1258真是道好题。。。一道题,学会了3个东西:伯努利数,自然数幂和,MTT…前置科技(其实学MTT的人估计都会。。。)CRT(中国剩余定理)NTTNTT算法的局限众所周知,NTT是通过原根的性质来进行快速傅里叶变化不过,同时也对其模数做出了要求,对于一个模数M,若φ(M)\varphi(M)φ(M)中,2的次数较少(小于要转的序列长度)就不可做了所以,也因此衍生出...原创 2019-03-27 17:34:56 · 4053 阅读 · 0 评论