08 2019 档案
摘要:题意 给定两个字符串,求长度大于等于k的公共子串数。 分析 将两个字符串中间加个特殊字符拼接,跑后缀数组。 将题目转化为对每一个后缀求∑i1j=1lcp(i,j),且后缀i和j属于不同字符串。 由于lcp只跟h数组的区间最小值有关,因此对于单调递减的$h[i]
阅读全文
摘要:hdu6703 array 题意 给定一个1到n的全排列,两种操作,将apos修改为apos+1000000,询问第一个大于等于k的且不在a1...ar的数。 分析 由于$k using namespace std; const int N=1e5+50; con
阅读全文
摘要:题意 一列n个点,给定一个特殊的图,有两种边E(1,i)和E(i1,i),多个询问,每次给一个d,求所有路径长度加上d后1到n的最短路。 分析 首先这图很特殊,大胆猜测不是图论。 1到n的最短路包括pi,即1直接到i的距离,i作为中转点,加上$dis_{i
阅读全文
摘要:题意 给定多个01模式串,问是否存在一个无限长的字符串不包含任何一个模式串。 分析 好像数据有点水,网上一大堆~~题解~~连样例都没过??? 多模式串,先把AC自动机建出来再说。 反向考虑,若存在一个无限长的字符串不包含任何一个模式串,那就说明这个字符串可以在AC自动机上无限匹配,所以我们在AC自动
阅读全文
摘要:题意 n个位置,每个位置一个栈,三种操作,询问区间栈顶的和,区间入栈某个数,单点出栈某个数。 分析 用一个线段树来维护栈顶的和,区间(单点)更新和区间询问。 用一个主席树来维护每个位置最新一次入栈的时间,即 主席树存的是时间,然后取出的时间也能作为主席树的下标来访问对应时间的版本 。 因此区间入
阅读全文
摘要:题意 有一个n个数的序列,已知其中的k个数,然后有m个信息,每个信息给出区间[l,r],和k个数,表示区间[l,r]中这k个数大于剩下的rl+1k个数,求出一个方案。 分析 ~~抄~~做的第一题线段树优化建图的题目,很巧妙。 大小关系我们可以看成是一条有向边,由小
阅读全文
摘要:B Coffee Chicken 题意 定义一个字符串的斐波那契数列,求从第k位开始的后面十个字符。 分析 把第n项求出来是不可能的。 斐波那契数列的增长是很快的,而且由于题目保证$k using namespace std; typedef long long ll; int T,n; ll k,
阅读全文
摘要:题意 一个n m的矩阵,初始值全为0,每一行每一列操作一次可以加1或者减1,问能否操作得到给定矩阵。 分析 行和列的分别的加减是可以相互抵消的,因此我们只需要考虑行的加和列的减。 对于给定矩阵每一个数x,假设对应行u加上ru次,对应列v减去cv次,即ru+cv=x,转
阅读全文
摘要:D Knapsack Cryptosystem 题意 求一个有唯一解的超大01背包的方案。 分析 使用折半搜索,前18个数先dfs爆搜求出所有可能的方案,存到map里,再爆搜后18个数,从map里查询即可。 代码 c++ include using namespace std; typedef lo
阅读全文
摘要:基础模板 求和大于等于S的最小子段 HDU5056 题意 给定一个字符串,要求出串内所有字符出现次数都小于等于k的子串个数。 分析 同样是尺取法的思想,不过写法略微不同。 cnt同样是维护当前区间每种字母的个数,全速推进r,没加入一个字符s[r],如果$cnt[s[r] 'a'] usi
阅读全文
摘要:A All one Matrices 题意 求所有极大全一矩阵的个数。 分析 预处理每个点向下延伸的高度值,同一行再用单调栈预处理每个高度作为最小值能延伸的左右边界。 枚举每个1的点,先判断这个点的高度左右延伸覆盖的区间是否在前面已被覆盖过(即已统计过),如果否,再判断对应这段覆盖区间的上一行是否全
阅读全文
摘要:digits 题意 给定一个n,要构造一个数,本身是n个倍数,每一位的数加起来也是n的倍数。 分析 输出n个n即可,显然可以整除得到1..0..1..0..1,而且无论每一位上的数是什么,个数都是n个倍数,因此和可以整除n。 代码 c++ include using namespace std; i
阅读全文
摘要:A String 题意 给定一个01串,求最少的划分次数,使得每部分的01串都是循环字典序最小。 分析 从最长的整个串贪心,暴力判断是否是循环字典序最小,若是,直接输出前面的串,然后后面的串再进行新一轮判断。 代码 C Governing sand 题意 有n种树,每种树有高度,数量,砍一颗的花费三
阅读全文
摘要:D RGB Substring 题意 给定一个只含RGB三种字符的字符串,问最少修改多少个字符,能使得修改后的字符串存在一个长度为k的子串是...RGBRGB...这个循环字符串的子串。 分析 只含有3种字符,考虑从...RGBRGB...这个循环字符串大力枚举。 子串要和这个循环字符串匹配只有
阅读全文
摘要:A Garbage Classification 题意 给定一个字符串代表垃圾,26个字符每个字符代表某种组成成分,根据题意判断垃圾类别。 分析 温暖的签到题,注意别写成除法就行。 代码 B Shorten IPv6 Address 题意 给定一个128位的二进制数,先要转成32位十六进制数,每4位
阅读全文