随笔分类 - 测验
摘要:A 给出 \(n,m\),你要求对于所有长度为 \(n\) 的非负整数序列 \(A,B\) 中,满足 \(\sum A_i=\sum B_i=m\), 求 \((\sum |A_i-B_i|)^2\) 的总和。\(n\le 500,m\le 10^5\)。 首先我们发现 \(\sum (A_i-B_
阅读全文
摘要:A 你有长度为 \(2n\) 的排列,每次操作是:把 \(a_1,a_2,...,a_{2n}\) 变成 \(a_1,a_{n+1},a_2,a_{n+2},...,a_{n},a_{2n}\)。 问多少次操作后序列回到最初的状态。\(n\le 10^{14}\)。 我们先把 \(1\) 开始标号改
阅读全文
摘要:A 有 \(n\) 个火炬,分为寒冰的和火炬的,你要在这 \(n\) 个火炬前放置豌豆射手,给出每个豌豆射手的伤害。 求对于所有区间 \([l,r]\),在这些火炬前自由放置豌豆,到达最后一个火炬之后最大伤害的和。 其中如果最后是火炬/寒冰的豌豆伤害翻倍。\(n\le 1e6\)。 注意到如果有两个
阅读全文
摘要:A 给定序列 \(A\),构造 \(p_i\),使得 \(\sum |i-p_i|\) 最小,且 \(B=\{A_{p_i}\}\) 满足奇偶交错出现,且最小化 \(B\) 字典序。 \(n\le 1e5\)。 如果没有最小化字典序,那么我们奇偶分别按照相对顺序分配位置即可。 最小化字典序怎么做呢?
阅读全文
摘要:A 给定序列 \(A\),满足对于 \(i\) 为奇数的 \(A_i=\frac{i+1}{2}\),\(i\) 为偶数的 \(A_{i}=n+1-\frac{i}{2}\)。 多次给出 \(s\),求有多少 \(l,r\in[1,n]\) 满足 \(\sum_{i=l}^rA_i=s\)。\(n\
阅读全文
摘要:A 你有序列 \(A_i\),使得 \(A_i\) 增加 \(1\) 的代价是 \(b_i\),问使得所有 \(A\) 互不相同的最小代价。\(n\le 1e5,A_i\le 1e9\) 对于 \(A_i\) 相同的,取 \(B_i\) 最大的留下,剩下的都 \(+1\),跟后面的继续比较。 B 你
阅读全文
摘要:A 你要求 \([L,R]\) 里面有多少数 \(x\) 满足 \(x\) 十进制下数码的种类数为 \(A\)。\(L\le R\le 10^{2\times 10^5}\)。 如果我们直接数位 dp,状态多记一维表示当前出现的数码种类集合,会导致超时且超空间。 我们发现如果没有最高位限制,即随便填
阅读全文
摘要:A 给定 \(n\) 个 01 串 \(s_1\sim s_n\),构造字典序最小的排列 \(p_1\sim p_n\),使得串 \(T=s_{p1}+s_{p2}+...+s_{pn}\) 满足对于所有 \(i\bmod m=b\) 的 \(T_i=1\),其它为 \(0\),或报告无解。\(n\
阅读全文
摘要:7.16 A 给定 \(m=\frac{n(n+1)}{2}\) 个线段,分别为 \([l,r]\),其中 \(1\le l\le r \le n\),两两不同,每条线段选或不选,总共 \(2^m\) 种情况中,问最多能选出 \(k\) 条互不相交的线段的方案数,\(n,k\le 500\)。 这是
阅读全文
摘要:A 给出一个 \(n\) 个顶点的有向图,求有多少个长度小于 \(k\) 的环(环可以经过重复的结点)。两个环不同当且仅当顶点序列不同。\(n\le 35,k\le 1e6\)。 矩阵乘法模板题。枚举起点,求出走 \(\le k\) 步到达自己的方案数。 只需要记录 \(f_i\) 表示以 \(i\
阅读全文
摘要:A 你需要求 \(n\times m\) 格子里随机撒 \(k\) 个点,期望扫多少次使得相邻的格子没有同时有点。 \(n\times m\le 80,k\le 20\)。 直接状压求出方案数即可。 B 你需要维护一个数组,支持区间求和 或执行覆盖操作 for i:=l to r do a[i]:=
阅读全文
摘要:A 你在平面上有 \(n\) 个点,你每次可以从一个点跳到其右下或左上任意的点,| 对每个点 \(i\),求所有点到 \(i\) 至少跳多少次的和。 点的坐标值域为 \(M=2500\)。\(n\le 2.5e5\). 我们先考虑某个点,到所有点跳多少次。首先右下,左上都是跳一次即可。 我们先考虑右
阅读全文
摘要:A \(q\) 次询问,你需要求一个区间里有多少个子序列满足和整除 \(m\).\(m\le 20,n,q\le 2e5\). 考虑分治,每次处理跨过 mid 的区间,只需要从 mid 开始往左右做背包就行了。 复杂度 \(O(nm\log n+qm)\). B [CQOI2008] 传感器网络 只
阅读全文
摘要:A 每道题有做出的时长 \(t\),价值为 \(k\),你需要求最大的 \(c(c\in [0,1])\): 若 \(T=\sum t\),设一道题做出的时间为 \(x\),那么分数为 \(f(i,x,c)=k_i(1-\dfrac{cx}{T})\), 在分数和最大的情况下,任意一种办法,使得每道
阅读全文
摘要:A 一个字符串,你要选最多的区间出来,满足两两不交,且右边的区间必须是左边区间的严格子串。 \(n\le 5e5\). 注意到答案是 \(\sqrt n\) 级别的。 那么我们设计一个 dp,设 \(f_{i,j}\) 表示 \([j,j+i-1]\) 这个区间以及右边是否能选出 \(i\) 个。
阅读全文
摘要:A 你有一个数组 \(a\),初始为 \(0\),你要使 \(a_i\ge h_i\),你可以把任意相邻两个 \(a\),一个加一,另一个加二。 问最少操作多少次。\(n,h\le 1e6\)。 B 你需要求大小为 \(n\) 的环的个数,使得旋转后都不同。 你可以选若干个点出来染上 \(k\) 个
阅读全文
摘要:A \(n\) 个点,有 \(m\) 种操作 \((w,l,r)\),代表贡献是 \(w\),并消除 \([l,r]\) 的所有点。 操作的条件是必须消除一个点,问最多的贡献是多少。\(n,m\le 300\). 考虑从小区间开始操作,不难联想到区间 dp。\(dp_{i,j}\) 代表 \([l,
阅读全文
摘要:A 一棵树,\(q\) 次询问,每次给定 \(x,d_x,y,d_y\),你需要找到一个 \(u\) 使得 \(dis(u,x)=d_x,dis(v,x)=d_y\)。 \(n,q\le 1e6\)。 稍微转化为对于点 \(k\),找到一个距离为 \(d\) 的点,使得不走 \(x,y\) 这边子树
阅读全文
摘要:A 一个圆上有 \(2n\) 个点,你需要选出 \(n\) 个点对连一条线段,其中一些点对已经被选。 问所有点对方案中,联通块个数的和,联通的含义是线段相交,那么两条线段的端点都互相可达。 \(n\le 300\)。 线段相交,把圆放到序列上就是区间相交然而不包含。 我们拆贡献,计算每个区间 \([
阅读全文