07 2017 档案
摘要:给出一个n的排列,m次询问(l,r),求其中最长值域连续段的长度。 n,m≤5×104 分析 这个问题看似很难做,但它不要求在线,所以可以考虑离线然后使用莫队算法。 记录值域上每个位置左右两边各有多少个连续存在于当前区间的位置。在中间插入一个位置的时候,修改左右两
阅读全文
摘要:"题意" 给出一个n个点m条边的无向图,给出每个点的初始点权,q次操作: 修改一个点的点权 询问两点间的所有路径中最小点权最小的路径上的最小点权 n,m,q≤105,w≤109 分析 一个结论 一个经典的结论是:一个点数大于等于3的 点双连通分量 中对于任意 不同 的
阅读全文
摘要:"题意" 给出一个n个点m条边的无向连通图,问删掉每一个点后的最小生成树权值和为多少(如果不存在最下生成树就输出inf)。 n≤2×104,m≤105 分析 换了个超级爽的青轴键盘后写题就开始加速了啊!这样非常不好!!!这道题在写的时候出了很多问题,以后还是要
阅读全文
摘要:"题目" 给出一棵n个点的树,从1到n编号,m次询问LCAv∈[L,R]。 n,m\le 3\times 10^5 分析 我的做法是直接对LCA进行倍增,即f[i][j]表示从i号点开始的2^j个点的LCA,O(n\log ^2 n)预处理$O(
阅读全文
摘要:"题目" 给一个n个点m条边的无向连通图,Q次往图中加边,每次加边后问图中的桥有多少个。(加边后边留着)。 n\le 10^5,m\le 2\times 10^5,Q\le 10^5。 分析 容易发现一条边为桥当且仅当它不在任意一个环中。 于是我们对最开始的图先得到它的生成树,然后把
阅读全文
摘要:"题意" 开始给出一个长为n的数字串,有m次操作按顺序执行,每次把当前数字串中的某一个数码替换成一个数字串t(可以为空或多位),最后问操作结束后的数字串十进制下模10^9+7的值。 n,m,\sum t\le 10^5。 分析 这题很妙啊! 直接做肯定是不行的,因为替换的时候长度
阅读全文
摘要:"题意" 给出一个主串s,长度为n,再给出m个字符串t_i,q次询问,每次询问形如(a,b,c,d),问t_a\cdots t_b中s[c:d]在哪个字符串中出现次数最多,出现了多少次(一样次数取编号小的)。 $n\le 5\times 10^5,m,\sum t_i
阅读全文
摘要:"题意" 有n只袋鼠,每只袋鼠有一个体积,如果一个袋鼠的体积小于等于另一个袋鼠体积的一半,那么这个袋鼠就可以被那一个袋鼠装进袋里。一个装了袋鼠的袋鼠不能再装或被装。被装进袋子的袋鼠就看不到了。 问如何装袋让能看到的袋鼠最少。 分析 这是一个贪心问题。 首先,如果一个袋鼠能装另一个袋鼠,那么装必定
阅读全文
摘要:"题目" 开始给出一个长度为n的小写字母串,m次操作,每次选一个区间,把这个区间进行升序或降序排序。最后输出所有操作结束后的串。 n\le 10^5,m\le 5\times 10^4 分析 神思路!! 其实主要是要注意到这个字母表为26非常小,所以可以考虑使用 基数排序 !事实上排序也
阅读全文
摘要:题意 给一个n个点的图,标号为1到n,进行m次连边(a,b,c,d,w): 有K次机会可以消除一条边的权值(即走过但不算),问1到n的最短路。 n\le 5\times 10^4,m\le 10^4,0\le K\le 10,w\le 10^3 分析 K次消除
阅读全文
摘要:"题目" 一个n\times n的零矩阵a,m次操作: x_0\ y_0\ x_1\ y_1\ c,对a[x][y],x\in[x_0,x_1],y\in[y_0,y_1]异或上一个数c x_0\ y_0\ x_1\ y_1,询问这个子矩阵的异或和 $n\le 1000,
阅读全文
摘要:题意 给出一个数列a,当这个数列不是不下降的时候我们删除其中一个数,直到它是不下降的。 问有多少种删除方案。n\le 2000。 分析 直接算方案数比较难办,转而计算序列数。 如果不考虑不合法的删除(变成不下降之后继续删),那么设长度为i的不下降子序列有g_i个,那么得到长度为i
阅读全文
摘要:题意 给出一些母01串,多次询问,每次询问一个01串,问一个最大的L,使得可以在询问串中选出若干个不相交的,长度大于等于L的子串,这些子串都在母串中出现过,且子串的长度和大于等于询问串总长的90\% 。 文件大小小于等于1100000字节。 分析 首先如果一个L可行,那么小于L的
阅读全文
摘要:题目 给出一棵树,每个节点上有权值a_i,多次询问一条路径上选择一些点权值异或和最大值。n\le 2\times 10^4,q\le 2\times 10^5,0\le a_i\le 2\times 2^{60}。 分析 选择一些点的异或和最大值显然用到线性基,这又是一个树上的路径问题,所以
阅读全文
摘要:"题目" 有一个长度为n的十进制数,用s表示。有m个限制条件,每个条件形如:(l_1,r_1,l_2,r_2),表示s[l_1:r_1]=s[l_2:r_2]。 现在给出这些限制条件,问有多少个数满足条件。 n,m\le 10^5 。 分析 这个题这是神奇!! 首先如果暴力的
阅读全文
摘要:"题目" 给出一颗树,m次询问树上不相同的三个点A,B,C。我们称一个点x被A占领当且仅当dist(A,x) dist(B,x),dist(A,x) dist(C,x)。 问A,B,C这三个点分别占领了多少个点。 n,m\le 10^5。 分析 如果是两个点的话,我们找到
阅读全文
摘要:"题目" 给出一个n个点的树,每个点有权值a_i,再给出一个d,问有多少个非空点集满足: 点集在树上构成联通子图 \max _{v\in S}a_v \min _{v\in S}\le d,即集合内权值最大减最小在d以内 n,a_i,d\le 2\times 10^3 。
阅读全文
摘要:题目 给出n个字符串,问每个字符串有多少个子串满足这个子串被这n个字符串中至少k个字符串包含。(一个字符串本质相同位置不同的子串算多个)。1\le k\le n, \sum |s|\le 10^5。 分析 这是一个多串问题,考虑广义后缀自动机,建出广义后缀树。 在广义后缀树上可以方便
阅读全文
摘要:"题目" 一棵树,从根节点开始 dfs ,每层以随机顺序进入每个子节点,问走到每个点的时候期望经过了多少个点。 (这里经过多少个点指的是经过多少个不同的点,即经过一个点多次算一个) (其实这个题不如说求期望dfn序)。 n\le 10^5。 分析 一个很明显的思路就是:$f[x]=1+f[fa]
阅读全文
摘要:"题目" 一棵树上有一个古籍,这个古籍可以影响到与它距离为 d 以内的点。现在给出被影响到的点,问古籍可能在多少个点上。 0\le m,d\le n\le 10^5。 分析 原问题不好做,把问题转化为求每个点距离最远的古籍的距离,最后统计有多少个符合要求的。 这是一个树形dp的经典问题,于是
阅读全文
摘要:"题目" 一棵树的重心定义为一个点满足删除这个点后最大的连通块大小小于等于原来这颗树大小的一半。 给出一棵树,一次操作为删除一条边再添加一条边,操作结束后必须仍为一棵树。问这颗树的每个点是否可以通过 一次 操作使它变成新树的重心。 n\le 4\times 10^5。 分析 如果一个点原来不是重
阅读全文
摘要:"题目" Description 今天Karen要去买东西。 一共有 n 件物品,每件物品的价格为c_i,同时每件物品都有一张优惠券,可以对这件物品减价 d_i . 使用第 i 件物品的优惠券的条件是买这件物品并且使用了第 x_i 张优惠券。现在给出Karen带的钱数 b ,
阅读全文
摘要:"题目" 开始给出母串,多次询问一个串的所有不同循环串的在母串中的出现总次数。母串长和询问总长小于等于10^6 。 Input Output 分析 设计到子串的问题我们可以考虑后缀自动机。 问题就变成如何在后缀自动机中连续地匹配一个串的循环串。设需要匹配的串长为n,我们首先把它倍长,放进自动
阅读全文
摘要:给出一个长度为m(m\le 20)的字符串s,问有多少个长度为n的字符串满足其中不包含子串s。0\le char\le 9,\ n\le 10^9。 思路 一开始想的是容斥。 如果我们一位一位地看这个问题,它会变得简单很多。每次我们往已有的字符串的后面添加一个字符,然后看看匹配情
阅读全文
摘要:有n个字符串互不包含,\sum len\le 10^5。求一个最短的字母序列的长度,使得这个字母序列中出现了m次那n个字符串。举个例子: 那么符合要求的字符串有 所以输出为5,即abcab为最短的符合要求的。n\le 200,m\le 10^9。 思路 读懂题就能知道,让一个字符
阅读全文