01 2020 档案
摘要:题意 给定n个整数a_i和一个整数m。请找到n个非负整数 ,满足$b_0 const int N=305; using std::max; typedef long long ll; int n; ll m,a[N],f[2][2][N][N]; int main(){ scanf(
阅读全文
摘要:题意 求所有n元逆序对数为k的排列所对应的笛卡尔树中(每次选区间最小连在父亲下,再分为左右两部分递归),求每个位置在所有树中的深度和 1 \le n \le 300 思路 是设f_k表示逆序对数为k的n排列的数量,那么其生成函数: $$F(x)=\prod_{i=0}^{n
阅读全文
摘要:题意 给定一张n个点m条边的无向图。 一个点只有当与它直接相连的点中最多只有一个点未被遍历过时才可被遍历。 询问对于每个k \in [0,n],遍历k个点的方案数。 n \le 100,m \le \frac{n(n 1)}2 ,答案对10^9+9取模。 "传送门" 思路 首
阅读全文
摘要:题意 给定你一棵树,结点编号为 1 n 现在用问号的个数代表每个节点编号那个数字的长度,请你还原这一颗树,任意输出一个方案,可能无解。 "传送门" $n using std::queue; const int INF=200000,N=100; int n,a[100],f[100][100],
阅读全文
摘要:题意 给定一个 n \times n 的棋盘,其中有 n 个棋子,每行每列恰好有一个棋子。 求有多少个 k \times k 的子棋盘中恰好有 k 个棋子。 "传送门" n \le 3 \times 10^5。 思路 因为每行每列恰有一个棋子,实际上就是统计 $\max \min
阅读全文