摘要:
一、字符串哈希 定义 字符串哈希实质上就是把每个不同的字符串转成不同的整数 这样相对于存储整个字符串来说占用的空间更少,而且也便于比较 实现 我们可以把每一个字符想象成一个数字,然后确立一个进制\(bas\) 比如一个字符串\(abc\) 我们可以把它表示为\((c-a+1)\times bas^{ 阅读全文
摘要:
题目描述 Since you are the best Wraith King, Nizhniy Magazin «Mir» at the centre of Vinnytsia is offering you a discount. You are given an array a a a of 阅读全文
摘要:
题目描述 分析 操作一、二、三为珂朵莉树的基本操作,操作四、五、六稍作转化即可 不会珂朵莉树请移步至这里 求和操作 把每一段区间分别取出,暴力相加 ll qh(ll l,ll r){ it2=Split(r+1),it1=Split(l); ll ans=0; for(it=it1;it!=it2; 阅读全文
摘要:
什么是珂朵莉树 珂朵莉树,又称$Old Driver Tree(ODT)$(老司机树)。 是一种基于$set$的暴力数据结构。 因此,再学习珂朵莉树之前,要掌握一些$set$和迭代器的知识 珂朵莉树的适用范围 线段树能干的它都能干(只要你不怕T) 使一整段区间内的东西变得一样,数据随机 比如下面这一 阅读全文
摘要:
A、数列 题目描述 分析 非常显然的矩阵快速幂 首先我们要构造如下的两个矩阵 \(\left[ \begin{matrix} b &c &d &1\\1 &0 &0 &0\\ 0 &1 &0 &0\\0 &0 &0 &1\end{matrix} \right]\) \(\left[ \begin{m 阅读全文
摘要:
题目描述 LHX教主要来X市指导OI学习工作了。为了迎接教主,在一条道路旁,一群Orz教主er穿着文化衫站在道路两旁迎接教主,每件文化衫上都印着大字。一旁的Orzer依次摆出“欢迎欢迎欢迎欢迎……”的大字,但是领队突然发现,另一旁穿着“教”和“主”字文化衫的Orzer却不太和谐。 为了简单描述这个不 阅读全文
该文被密码保护。 阅读全文
摘要:
7.14 在家中只待了两天,又回到了学校集训,这也算是一次新的开始。经过之前二十多天的学习,我的收获还是很大。在接下来的集训生活中,要继续把基础夯实,尤其是之前的错题,一定要再做一遍。明天是这次集训的第一次考试,要及时从考试中找到状态。 7.15 今天是集训的第二天。上午的考试在T1卡了很长时间,主 阅读全文
摘要:
一、二叉排序树 1、定义 二叉排序树$(Binary\ Sort\ Tree)\(,又称二叉查找树\)(Binary\ Search\ Tree)$,亦称二叉搜索树。 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 1、若左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2、若右子树 阅读全文
摘要:
常用网站 阅读全文
摘要:
1、历次模拟赛 集训模拟赛一(6.26) 第一次模拟赛,开端不错,第5名 集训模拟赛二(6.28) 模拟赛中考得最好的一次,第3名,+2 集训模拟赛三(6.29) 排名下滑,第13名,-10 集训模拟赛四(6.30) 有所恢复,第6名,+7 集训模拟赛五(7.1) 再次下滑,第11名,-5 集训模拟 阅读全文
摘要:
题目描述 WYT有一把巨大的刷子,刷子的宽度为M米,现在WYT要使用这把大刷子去粉刷有N列的栅栏(每列宽度都为1米;每列的高度单位也为米,由输入数据给出)。 使用刷子的规则是: 与地面垂直,从栅栏的底部向上刷 每次刷的宽度为M米(当剩余栅栏宽度不够M米的话,刷子也可以使用,具体看样例2) 对于连续的 阅读全文
摘要:
题目描述 有 n 个人,用1∼n 进行编号,每个人手里有一把手枪。一开始所有人都选定一个人瞄准(有可能瞄准自己)。然后他们按某个顺序开枪,且任意时刻只有一个人开枪。因此,对于不同的开枪顺序,最后死的人也不同。 Input 输入 人数 n<1000000 接下来 n 个数,依次为每个人的 aim Ou 阅读全文
摘要:
题目描述 如题,一开始有 n 个小根堆,每个堆包含且仅包含一个数。接下来需要支持两种操作: 1 x y:将第 x 个数和第 y 个数所在的小根堆合并(若第 x 或第 y 个数已经被删除或第 x 和第 y 个数在用一个堆内,则无视此操作)。 2 x:输出第 x 个数所在的堆最小数,并将这个最小数删除( 阅读全文
摘要:
题目描述 分析 很好的一道网格中的$DP$题 我们设$f[x][y]\(为小象到达坐标为\)(x,y)$的点时看到的最少的老鼠的数量 但是这样定义是不好转移的,因为小象可能从上面的格子转移下来,也可能从上面的格子转移过来 所以我们用三维数组记录状态,我们设$f[x][y][0]$为当前格子从正上方的 阅读全文
摘要:
题目描述 分析 第一次看这道题首先想到的就是时间复杂度为$\ n^{2}$的求最长上升子序列 for(int i=1;i<=n;i++){ f[i]=1; for(int j=1;j<i;j++){ if((a[i]&a[j])!=0) f[i]=max(f[i],f[j]+1); } ans=ma 阅读全文
摘要:
1、单调队列及优化DP 2、二分图KM算法 3、矩阵快速幂 4、数位DP 5、树的直径、重心问题 6、最小生成树Prim算法 7、Tarjan的应用 8、点分治 9、DP还要加强联系 10、图论难题 阅读全文
摘要:
总结 A. 不知道叫什么名字 题目描述 分析 一道裸的LCA板子题,就是卡常有点难受,注释在代码里 代码 #include<bits/stdc++.h> using namespace std; const int maxn=22,maxk=1000005; int f[maxk][maxn]; i 阅读全文
摘要:
总结 状压DP就是将一个状态压缩为一个整数(通常为二进制数),就可以在更为方便地进行状态转移的同时,达到节约空间的目的。 题型一、冲突问题 1.1 特殊方格棋盘 题目描述 分析 我们设f[i][j]为当前的状态为$i$,放置到第$j$行时的方案数 但是,因为我们要在$n \times n$的棋盘上放 阅读全文
摘要:
总结 ~~今天集齐了四种颜色~~ 这一次真是水翻了,除去第一题送分题,后三道题只拿了50分 开考后完全不在状态,最后的一个半小时一点代码都没有写出来 A、李时珍的皮肤衣 分析 $n$的数据最大达到了$10^{10}$,显然是一道结论题 枚举几组样例可以发现,最终的答案为$2^{n-1}+1$对$n$ 阅读全文
摘要:
集训日记 6.22 今天是集训第一天,就考了一次试。线性DP和树形DP的板子很久没有打了,所以第一道题就卡了不少时间。之后的题也不是很顺利,磕磕绊绊,因此在考试结束的时候才做了六道题。 通过这一次的考试,我开始认识到,自己在某些方面的知识上掌握的还不是很透彻。比如这次的第五题麻烦的聚餐,需要用到优化 阅读全文
摘要:
总结 第一题:n只有4,直接暴力 第二题:Tarjan缩点之后跑一个最长路 第三题:DP 第四题:思维量较大 A、翻转游戏 题目描述 分析 $n$的范围很小,所以我们考虑状压DP 我们设$f[i][j][k][m]$为第一行的状态为$i$,第二行的状态为$j$,第三行的状态为$k$,第四题的状态为$ 阅读全文
摘要:
题目描述 分析 我们从根节点开始搜索,搜索到叶子节点,回溯的时候进行维护 先维护节点的所有子节点到该节点最大边权(边权为叶子节点到同时到达它所需要时间) 然后维护答案,答案为最大边权减去所有到子节点的边权。 然后维护父节点的边权,父节点边权为该节点子节点的 最大边权+父节点到该节点的时间。 然后就回 阅读全文
摘要:
题目描述 分析 一开始看到这道题,首先想到的就是建好边后跑一个Tarjan缩点,将siz大于1的节点统计一下,输出结果 Tarjan非常显然易得,关键就是怎么建边 比较好想的一种思路就是枚举每一个兴奋程度 对于每一个兴奋程度,再将有趣程度枚举一遍 如果有趣程度是兴奋程度的倍数的话,在两个节点之间建一 阅读全文