摘要:
题目大意 题目链接 大致题意:给定一棵 \(n(n\leq 10^5)\) 个点的边权为 $1\sim 9$ 的树,询问有多少有序点对 \((u,v)\) 满足从 \(u\) 到 \(v\) 的路径上的权值组成的数被 \(m\) 整除(像字符串一样拼在一起)。 题解 点分治。 设当前分治到的根为 \ 阅读全文
摘要:
题目链接 #include <bits/stdc++.h> using namespace std; #define RG register int #define LL long long template<typename elemType> inline void Read(elemType 阅读全文
摘要:
题目大意 给定一个长为 \(n(n\leq 10^5)\) 的数列 \(\{a_n\}\),其中每个数 \(a_i\) 都在 $1\sim n$ 之中。求这个数列所有连续子数列的$\mathrm$值的 \(\mathrm{mex}\)。 题解 想了好久,想了个巨难写的做法,太菜了。 首先把数列中的所 阅读全文
摘要:
把近期做的CF题总结一下,会比较简短。 CF618D Hamiltonian Spanning Tree 给定一张 \(n(n\leq 200000)\) 个点的无向完全图,每条边的边权均为 \(y\) 。再给出这张图的一棵生成树,每条树边边权都为 \(x\),求该图的最短哈密顿路径。 考虑 \(x 阅读全文
摘要:
#include <bits/stdc++.h> using namespace std; #define RG register int #define LL long long namespace Mod{ class Modulus{ public: static const LL mo=10 阅读全文
摘要:
题目大意 给你一个数列 \(\{a_n\}\) ,一个集合 \(b\) , 对于每个 \(b\) 中的元素 \(x\), \(a_x\) 不能修改,其他都可以修改,问最少多少次可以将 \(a\) 修改为严格单调递增的。如果不存在,输出 \(−1\) 。\(a\) 中的所有元素在任意时刻必须都是整数。 阅读全文
摘要:
题目大意 给定一个序列 \(a_1,a_2,\dots,a_n\),要求构造出长度为 \(n\) 的序列 \(\{b_n\},\{c_n\}\),满足 \(a_i=b_i+c_i\),并且 \(\{b_n\}\) 是不下降序列,\(\{c_n\}\) 是不上升序列。有 \(q\) 次操作,每次操作可 阅读全文
摘要:
题目大意 给出一棵 \(n\) 个节点的树。有 \(m\) 个询问,每一个询问包含两个数 \(a,b\)。 我们可以对任意两个不相连的点连一条无向边,并且使得加上这条边后 \(a,b\) 处在一个环内。 对于每一个询问,求这样的环的期望长度。 $2\leq n,m\leq 10^5$ 题解 树形dp 阅读全文
摘要:
题目链接 题解 正难则反,我们可以去计算出不合法的字符串数量,然后用 $26^m$ 减去不合法的字符串数量即为合法的字符串数量。发现计数时需要维护到枚举到字符串当前位置时的后缀,按照套路,这个东西可以放到AC自动机上来做。先把所有单词丢到AC自动机上,然后设 \(dp[i][p]\) 表示枚举到第 阅读全文
摘要:
题目描述 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机。打字机上只有 $28$ 个按键,分别印有 $26$ 个小写英文字母和 B、P 两个字母。经阿狸研究发现,这个打字机是这样工作的: 输入小写字母,打字机的一个凹槽中会加入这个字母(这个字母加在凹槽的最后)。 按一下印有 B 的按键, 阅读全文