10 2018 档案
摘要:题意 "题目链接" 分析 将询问差分并不断加入颜色。 每种颜色,一个位置 $p$ 都只会走到与之左右相邻的两个位置之一,分类讨论 $\rm |A B|$ 的符号。 实现可以使用树状数组。 总时间复杂度为 $O(nlogn)$。 代码 ~~~cpp include using namespace st
阅读全文
摘要:题意 一个长度为 $n$ 的序列,每个权值互不相同,给出形如 $l,r,p$ 的信息表示 $[l,r]$ 区间中最小的数是 $p$ ,问第几个信息开始出现矛盾。 $n\leq 5 \times 10^5$ . 分析 二分答案再判前 $mid$ 个信息是否合法。 相同 $p$ 的区间的 $p$ 一定出
阅读全文
摘要:题意 给你一个长度为 $len$ 的环,以及 $n$ 个区间,要你选择尽量少的区间,使得它们完全覆盖整个环。问最少要多少个区间。 $len,n\leq 10^6$ . 分析 考虑普通的区间覆盖的贪心做法,这里只需要倍增一下。 如果区间 $r 处理区间覆盖的技巧:记录 后缀最小值 $mn$,如果$mn
阅读全文
摘要:题意 给定一棵以 $1$ 为根的树,你每次可以选择跳到某个叶子节点,再跳到和他深度差不超过 $k$ 的祖先。询问最多能够跳到多少个叶子节点。 $n,k\leq 10^6$ . 分析 最后的决策一定是跳很多叶子然后回到 $u$ 后向下跳上不来。 发现如果能够跳进 $u$ 子树再跳回 $u$,取决于最浅
阅读全文
摘要:题意 给定 $n$ 个节点的树,点有点权 $w$ ,划分成多条儿子到祖先的链,要求每条链点数不超过 $L$ ,和不超过 $S$,求最少划分成几条链。 $n\leq 10^5$ . 分析 贪心,从叶子节点开始向上合并,倍增计算出以一个节点为链底,能够最多到达哪个祖先 ${up}_u$。 每个节点合并和
阅读全文
摘要:题意 给出 $n$ 个点的树,求 $\sum_{i=1}^n{\sum_{j=i}^n{\lceil \frac{dis(i,j)}{2} \rceil}}$ . $n\leq 2 \times 10^5$ . 分析 点分治SBT.考虑更快速的做法。 如果直接统计总的贡献唯一的问题在于奇数路径统计时
阅读全文
摘要:题意 求有多少长度为 $n$ 的排列满足 $a_1 a_3 a_2 a_4\cdots $. $n\leq 4200$ . 分析 影响决策的在于有多少个数字大于当前的数字,而不在乎这些数字具体是多少。 定义状态 $f_{i,j}$ 表示选择到了第 $i$ 个位置,还有 $j$ 个数字比 $a_i$
阅读全文
摘要:题意 给定一棵 $n$ 个节点的树,可以断掉一条边再连接任意两个点,询问新构成的树的直径的最小和最大值。 $n\leq 5\times 10^5$ . 分析 记断掉一条边之后两棵树的直径为 $A,B$ ,最长直径为 $A+B+1$ 最短为 $\max\{A\ ,B\ ,\lceil \frac{A}
阅读全文
摘要:题意 一个大小为 $n m$ 的棋盘,知道每一列放了多少棋子,求有多少摆放方案满足要求。 $n,m\leq 50$ . 分析 如果是求是否有方案的话可以考虑网络流,行列连边,列容量为 $b_j$,行容量为 $m$ 。 考虑转化成一个最小割问题,假设$S\rightarrow row$ 有 $i$ 条
阅读全文
摘要:题意 给你长度为 $n$ 的两个排列 $A,B$ 组成的序列,求最少的交换相邻数字的次数使得 $A,B$ 分别有序。 $n\leq 2000$ . 分析 如果只有一个排列时最少交换次数为逆序对数,方案可从小到大枚举数字 $a_i$,并向左移动直到前面的数有序且没有比 $a_i$大的数为止。 发现当前
阅读全文
摘要:题意 "题目链接" 分析 直接背包之后可以 $O(n)$ 去除一个物品的影响。 注意特判 $[p==1]$ 的情况。 总时间复杂度为 $O(n^2)$ 。 代码 ~~~cpp include using namespace std; define go(u) for(int i=head[u],v=
阅读全文
摘要:题意 给定一个 $n$ 点 $m$ 边的边权非负的有向图,边有字符,求以每个点为开头的最长路字典序最小的路径 $hash$ 值。 $n,m\leq 10^6$ 分析 首先建反图拓扑排序后入度不为0的点的答案为 $inf$ 。 在 $dep$ 相同时,怎么比较两种转移的优劣?注意到建完反图之后可以通过
阅读全文
摘要:题意 $n$ 个节点二叉树的叶子节点的期望个数。 $n\leq 10^9$ . 分析 实际询问可以转化为 $n$ 个点的不同形态的二叉树的叶子节点总数。 定义 $f_n$ 表示 $n$ 个节点的二叉树的个数, $g_n$ 表示 $n$ 个节点的不同形态的二叉树的叶子节点总数。 设一棵 $n$ 个节点
阅读全文
摘要:题意 给出一个序列的以每一项结尾的 $LIS$ 的长度a[],求一个序列,使得以每一项为开头的最长下降子序列的长度之和最大。 $n\leq 10^5$ 。 分析 最优解一定是一个排列,因为如果两个数字的大小相同,完全可以区别他们的大小,以得到更多的贡献。 考虑的 $a$ 给定的限制,显然对于所有的相
阅读全文
摘要:题意 "题目链接" 分析 "Imagine的完美回答" 重点大概是证明我们选出要救的小矮人一定可以根据 $a_i+b_i$ 的大小进行排序救出。 注意这里关注的对象是可以保留的高度,所以我们的dp值才会表示成最少减少的高度。 代码 ~~~cpp include using namespace std
阅读全文
摘要:题意 询问有多少个数位为 $n$ 的形如 $11223333444589$ 的数位值不下降的数字在$\mod p$ 的意义下同余 $0$。 $n\leq 10^{18}\ ,p\leq 500 $ 。 分析 考虑普通的状态,矩乘和考虑每种数字选择什么都没法做,要另辟蹊径。 发现这样的数字都可以拆分成
阅读全文
摘要:题意 给定 $n$ 个节点和 $n 1$ 个限制,每个节点有一个权值,每个限制形如:$a_i a_v$ $$f_{u,j+k}=\binom{j+k}{k}\binom{{son}_u+{son}_v 1 j k}{{son}_v k} f_{u,j} \sum_{x=0}^{k 1}f_{v,x}
阅读全文
摘要:题意 给定各项系数,求一元 $n$ 次方程的有理数解。 $n\leq 100$。 分析 设答案为 $\frac{p}{q}$ ,那么多项式可以写成 $a_0\frac{p}{q}+a_1\frac{p^2}{q^2}+\cdots a_n\frac{p^n}{q^n}$ 的形式。 左右乘以 $q^n
阅读全文
摘要:题意 "题意很清楚 \滑稽" 分析 对于每一个询问 $k$ ,记 $g(x)$ 表示 $x$ 对情侣 都错开 的方案总数,那么答案可以写成如下形式: $$ {ans}_k= \binom{n}{k}\times A_n^k\times 2^k\times g(n k) $$ 考虑如何求 $g(x)$
阅读全文
摘要:题意 给定 $n$ 个区间,必须去掉其中的 $K$ 个,询问能够保留的区间并的最大值。 $n \leq 10^5\ ,K \leq 100$ 。 分析 定义状态 $f_{i,j}$ 表示前 $i$ 个区间中去掉了 $j$ 个且强制选 $i$,最多能够得到多大的区间并。 转移比较显然: $f_{i,j
阅读全文
摘要:题意 有 $n$ 门课程,每门课程可以选择在 $a_i$ 或者 $b_i$ 天参加考试,每天最多考一门,问最早什么时候考完所有课程。 $n\leq 10^6$。 分析 类似 [BZOJ4883]棋盘上的守卫 一题。 将每门课程对应的两天连边,如果课程 $i$ 要在第 $x$ 天考,则对应边指向 $x
阅读全文
摘要:题意 有一大小为 $n m$ 的棋盘,要在一些位置放置一些守卫,每个守卫只能保护当前行列之一,同时在每个格子放置守卫有一个代价 $w$ ,问要使得所有格子都能够被保护,需要最少多少的代价。 $2\leq n,m\leq 10^5\ ,n m\leq 10^5$ 分析 将行列看成 $n+m$ 个点。将
阅读全文
摘要:题意 $n$ 元素各有一个高度 $h$ 和关键数字 $b$ 。求有多少个下标序列和高度序列,满足对任意 $i$,$j处理组合计数问题的技巧: 插入数字 或者 保留位置 ; 排列 $\rightarrow$ 组合:强制放置有序即可; 代码 ~~~cpp include using namespace
阅读全文
摘要:题意 多组询问,每次给定 $n$ ,求:$\sum_{i=1}^nlcm(i,n)$ 。 $\rm T \leq 3\times 10^4\ ,n \leq 10^6$。 分析 推式子: $$\sum_{i=1}^n{\frac{in}{gcd(i,n)}}$$ 枚举 $gcd$ : $$n\sum
阅读全文
摘要:题意 "题目链接" 分析 考虑分治,记当前分治区间为 $l,r$ 。 枚举左端点,然后发现右端点无非三种情况: 极大极小值都在左边; 有一个在左边; 极大极小值都在右边; 考虑递推 $l$ 的同时递推最靠右的满足最大最小值在左边的位置 $p_1,p_2$. 根据不同的情况计数即可,注意计算以 $\r
阅读全文
摘要:题意 "题目链接" 分析 首先明确 $xor$ 运算和 $\rm gcd$ 没有联系! 注意到一个数字取 $\rm gcd$ 且保证每次取 $\rm gcd$ 值都会变小的话,最多取 $\log$ 次。 比较显然,如果每次都变小的话至少都除以了因子 $2$ ,变为原来的二分之一。 所以考虑一个暴力分
阅读全文
摘要:题意 "题目链接" 分析 分数规划之后可以得到式子:$max min r mid+l mid\geq k mid$ . 贪心选择,肯定区间的端点是极小或者极大值。特殊处理区间长度 $\leq L$ 的情况。 有两种情况分别对应 $r$ 作为最大和最小值。 $r$ 作为最大值:枚举 $a_r r mi
阅读全文
摘要:题意 给你一个 $n$ 个点 $m$ 条边的 $\rm DAG$ ,询问最多能够删除多少条边,使得图的连通性不变 $n\leq 3\times 10^4\ ,m\leq 10^5$ 。 分析 假设有点 $u,v,x$ ,且有边 $u \rightarrow v,\ u \rightarrow x,\
阅读全文
摘要:题意 "题目链接" 分析 显然可以看成一个位数为 $n$ 的二进制数然后每一位分开考虑然后求和。最后的答案是 $w^n$ 的形式。 考虑一个dp。 定义状态 $f_{i}$ 表示选择了长度为 $i$ 的三角的方案总数。 根据题意容易得到如果 $A_{i,j}$ 可以为1,那么 $A_{i 1,j}\
阅读全文
摘要:题意 给定长度为 $\rm |S|$ 的 $\rm 01$ 串并将其倍长 $k$ 次得到一个 $\rm|S|\times k$ 位的二进制数 $R$ ,求有多少种在 $[0,R 1]$ 中选择 $m$ 个互不相同的数字使得其异或和为 $0$ 的方案。 $\rm |S|\leq 50\ ,k \leq
阅读全文
摘要:题意 给定长为 $n$ 序列 $a$ ,要求支持两种操作: $1.$ 询问在一个区间 $[l,r]$ 中,是否能够选出两个交集为空的集合 $ \rm X\ ,Y$, 使得 $\sum_{i\in \rm X}{a_i}=\sum_{j\in \rm Y}{a_j}$。 $2.$ 将区间 $[l,r]
阅读全文
摘要:题意 在长度为 $n$ 的序列 $a$ 中选择尽量长的子序列,使得选出子序列中任意两个数的和不为质数。 $n\leq3000\ ,a_i\leq10^5$. 分析 直接按照奇偶性建立二分图,两个数之和如果为质数连边,跑独立集。 假设$a+b= p_1\ ,a+c=p_2$ ,在除了 $1+1=2$
阅读全文
摘要:题意 $n$ 张卡牌 $m$ 种颜色,询问有多少种本质不同的序列满足相邻颜色相同的位置数量等于 $k$。 分析 首先本质不同不好直接处理,可以将同种颜色的卡牌看作是不相同的,求出答案后除以 $\prod {a_i!}$ 即可。 如果我们能够得到一个至少存在 $k$ 个魔术对的排列数,就可以容斥了。
阅读全文
摘要:$\color{purple}{markdown\text{入门笔记}}$ 字体 ${\tt for(int\ i=1;i, \leq, \geq, \neq, \in, \subset, \Leftrightarrow$ 大公式 $$f(x) = \sum_{i = 0}^{n} \frac{f^
阅读全文