随笔分类 - 测验
摘要:A \(n\) 个人之间有若干认识关系,你要把这些人划分为两个集合,使得集合里的每个人都认识偶数个人。 求方案数,\(n\le 1000\)。 设每个人的状态为 \(0/1\) 表示两个集合,那么第 \(i\) 个人在其集合里认识的人个数是 \(\sum_{j}(x_i\otimes x_j\oti
阅读全文
摘要:A \(n\times n\) 的平面上有 \(m\) 条通道,从 \((a_i,b_i)\) 到 \((c_i,d_i)\),代价为 \(|a_i-c_i|+|b_i-d_i|-1\)。 同时你可以花 \(1\) 的代价移动到四联通的点。问所有点之间两两最短距离之和。\(n\le 1e9,m\le
阅读全文
摘要:A 对于长度为 \(2^n\) 的序列 \(A,B\),求 \(c_{k}=\max_{i|j}a_i+b_j\),\(n\le 18\)。 考虑分治:每次分成 \(A_0,A_1,B_0,B_1\)。 那么,\(C_0=\max(A_0+B_0),C_1=\max(A_0+B_1,A_1+B_0,
阅读全文
摘要:A 一个基环树上,给出每条边可以存在的时间,你还有 \(L\) 的时间可以分配给边。 你要安排边开始存在的时间,使得联通的时间最长,求这个值。\(n\le 10^5\)。 先不考虑 \(L\)。如果是树,那么答案是边存在时间的最小值。 如果是基环树,那么把环上次小边加上最小边,并删掉最小边,变成树求
阅读全文
摘要:以后不记录躺尸题了。 B 有 \(n\) 个序列对应 \(n\) 个人,每个序列长度为 \(k_i\)。你可以花费 \(a_{i,j}\) 的时间把第 \(i\) 个人从 \(j-1\) 提升到 \(j\) 级。 求前 \(m\) 个时刻,每个时刻里每个人级数的和的和最大值。\(\sum k\le
阅读全文
摘要:A 你可以花费 \(x^2\) 的代价使 \(A_i\) 加上 \(x\),\(x\ge 0\),最后再加上代价为 \(c\sum |A_i-A_{i-1}|\),问最小代价。 \(n\le 10^5\)。 我们可以把序列分成若干“山峰”以及“山谷”,山峰是不会加的。考虑从山谷开始做,即每次取出最小
阅读全文
摘要:A 有序列 \(A\),你可进行若干次操作:选定 \(A_i,A_j\),使 \(A_i=\gcd(A_i,A_j)\),\(A_j=lcm(A_i,A_j)\)。 \(n,A_i\le 10^6\)。 把每个质因数独立开,发现无论怎么操作,每个数某质因数的次数的集合不变。 所以贪心地,从大往小放置
阅读全文
摘要:A 有长度为 \(n\) 序列 \(A\),你要把构造长度相同的序列 \(B\) 使得 \(\sum B_i=m\)。 满足随机打乱 \(B_i\) 后,期望 \(\sum [A_i>B_i]\) 最小,求这个值。\(n\le 1000,m\le 5000\)。 我们考虑背包,也就是 \(0\sim
阅读全文
摘要:A \(n\) 个点的完全图,\(i\to j(i<j)\) 的边权是 \(u_j-u_i\),问最小生成树。\(n\le 3e5\)。 考虑 boruvka 算法。boruvka 算法是重复以下过程,直到只有一个连通块。 找到所有连通块的连向外面的最小边,并把这些边加入最小生成树。不难发现这是最多
阅读全文
摘要:A 给定序列 \(S\),一开始只有一个数 \(x\) ,每次操作是把每个 \(S_i\) 替换为 \(S_i\) 的所有约数(从小到大排序) 求 \(k\) 次操作后序列前 \(m\) 的位置的和。\(x,k\le 10^{12},m\le 10^7\)。 因为把每个 \(S_i\) 替换为 \(
阅读全文
摘要:A 有一个数 \(n\) 和 \(m\) 种操作,第 \(i\) 次操作使得 \(n\gets n/A_i\),问最多遍历多少个数。 \(n\le 10^5,m\le 10\)。 不难发现暴力即可通过。 B 给定集合 \(S\),对于每个 \(i\in [1,m]\) 你需要求出选择数最多和最少的值
阅读全文
摘要: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\)。 这是
阅读全文