caioj
Rose_max
这个作者很懒,什么都没留下…
展开
-
[caioj1456][FFT][拆系数板子]累加
【题意】 给出一串数a[i],定义数组b经过累加变换a得到。 如a{1,2,3,4} 则第一个b是{1,3,6,10} 此后的b则为累加变换b得到 如b{1,3,6,10} 则第二个b{1,4,10,20} 我们想知道第k次变换后的b数组 【输入】 第1行,2个数N和K,中间用空格分隔,N表示数组的长度,K表示处理的次数(2 <= n <= 50000, 0 <= k <= 10^原创 2017-09-13 13:16:40 · 821 阅读 · 0 评论 -
[caioj1469][后缀数组]连续重复子串
问题描述 求两个字符串的最长公共子串。(长度不超过100000)样例输入 yeshowmuchiloveyoumydearmotherreallyicannotbelieveit Yeaphowmuchiloveyoumydearmother样例输出 27题解 咳咳首先掩饰一发蒟蒻妄图使用KMP&FFT来D本题的尴尬 然后马上发现kmp和FFT的定义都不是酱的。。原创 2017-09-26 20:20:22 · 272 阅读 · 0 评论 -
[caioj1462][exkmp]回文串
题意 给出26个字母所代表的权值和一个字符串,要求把字符串分成两段(每一段长度至少为1,也就是必须要有字符),假如这一段子串是一个回文串,那么加上该串所有字符权值之和,求最大的权值和。输入格式 输入一个整数T,表示数据组数 每组数据第一行输入26个数,表示26个字母的权值,第二行输入一个字符串(保证字符串内全是小写字母,2<=字符串长度<=500000) 输出格式 输出每组数原创 2017-09-20 13:45:30 · 362 阅读 · 0 评论 -
拓展kmp&Exkmp
caioj1178 【题目描述】 给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](1<=i<=lenA),求出A[i..lenA]与B的最长公共前缀长度 【输入格式】 输入A,B两个串,(lenB<=lenA<=1000000) 【输出格式】 输出lenA个数,表示A[i…lenA]与B的最长公共前缀长度,每个数之前有空格 【样例输入】 aab原创 2017-09-19 20:37:13 · 560 阅读 · 0 评论 -
字典树小总结[caioj1463]
学了一发字典树 发现其实就是一个储存数据结构的东西。。可以省空间 首先有一个根,这个根无实际意义 根往下到叶子节点的每条路径,储存的都是一个串 这样就显而易见了对吧 由于许多个字符串开头有可能相同的,那我们就可以用一个类似树型结构的东西存啦 类似下面这张图 那么abcd就储存在了从左往右的第一条链 abd就存在了第二条链 以此类推…… 查找就更加简单啦。看看对于每个节原创 2017-09-20 21:17:38 · 409 阅读 · 0 评论 -
[caioj1441][主席树]第K小的数
【问题描述】 给n(1<=n<=100000)个数字 a[1],a[2],……,a[n(0<=a[i<=1000000000),m(1<=m<=100000)次询问l到r之间的第k小的值。【输入文件】 第一行为n和m。 接下来一行输入n个数。 接下来m行,每行三个数l,r和k。【输出文件】 m行,每行对应一个答案。【输入样例】 7 3 1 5 2 6 3 7 4原创 2017-10-21 15:42:59 · 395 阅读 · 0 评论 -
[caioj1442][主席树][树状数组]第K大的数 II
【问题描述】 给n(1<=n<=50000)个数字,进行m(1<=m<=10000)次操作,有两种操作: Q l r k:询问l到r第k小的数。 C x k:改变第x个数的值为k。【输入文件】 第一行为n和m。 接下来一行n个数。 接下来m行为m个操作。【输出文件】 遇到Q操作就输出。【输入样例】 5 3 ...原创 2017-10-22 16:36:45 · 349 阅读 · 0 评论 -
[bzoj1878][caioj1445][莫队]HH的项链
【题目描述】 给n(1<=n<=50000)个数,a[1],a[2],……,a[n](0<=a[i]<=1000000) m(1<=m<=200000)个询问。每个询问包含两个数l和r,求这个区间内不同数字的个数。【输入数据】 第一行两个数n和m。 接下来一行n个数。 接下来m行,每行两个数l和r。【输出数据】 m行,对应相应的询问。【输入样例】 6 1 2 3 4原创 2017-10-23 12:48:22 · 295 阅读 · 0 评论 -
[caioj1206][kdtree]最近点对的距离
【题意】 给出n个点的坐标,求最近两点间的距离。【输入格式】 第一行一个整数n(2 ≤ n ≤ 50000)。 下来n行,每行两个实数x和y表示点坐标。【输出格式】 一行一个实数,表示最近两点间的距离(保留4位小数)。【样例输入】 5 0 0 0 5 5 0 5 5 2 0【样例输出】 2.00原创 2018-01-24 10:27:29 · 1038 阅读 · 0 评论