Professional Documents
Culture Documents
JacderZhang
2021 年 10 月 4 日
编译选项
【注意事项(请仔细阅读)】
1. 文件名(包括程序名和输入输出文件名)必须使用英文小写。
3. 若无特殊说明,结果比较方式为忽略行末空格、文末回车后的全文比较
4. 程序可使用的栈空间大小与该题内存空间限制一致。
6. 若无特殊说明,输入文件与输出文件中同一行的相邻整数均使用一个空格分隔。
【输入格式】
【输出格式】
输出到文件 toccare.out 中。
一行一个整数,表示答案。
【样例 1 输入】
1 3 1
2 1 2 3
3 1 2
4 2 3
【样例 1 输出】
1 6
【样例 1 解释】
合法的点集有 {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 2, 3},共 6 种。
1
【样例 2】
【样例 3】
【测试点约束】
测试点编号 n≤ m= 特殊性质
1∼2 100 5 无
3∼4 500,000 1 树是一条链
5∼6 500,000 6 树是一条链
7∼8 500,000 1 无
9 ∼ 10 500,000 7 无
2
尼伯龙根 (nibelungen)
【问题描述】
【输入格式】
【输出格式】
输出到文件 nibelungen.out 中。
一行一个长度为 m 的字符串 t,如果 si 是优美的,那么 ti = 1,否则 ti = 0。
【样例 1 输入】
1 7 3
2 abaabaa
3 1 4
4 2 6
5 5 7
【样例 1 输出】
1 110
【样例 1 解释】
3
【样例 2】
【样例 3】
【测试点约束】
测试点编号 n≤ m≤
1∼3 400 400
4∼7 5,000 5,000
8 ∼ 12 300,000 5,000
13 ∼ 20 500,000 500,000
4
先人祭 (dziady)
【问题描述】
给定一张无向简单图,没有重边和自环,保证每条边属于最多一个简单环。
你可以进行如下两种操作:
2. 复制这张图,并在对应点之间连边。
形式化的,假设原图有 n 个点,m 条边,分别为 (u1 , v1 ), · · · , (um , vm ),那么新图中将有
如下 3 类边:
(a) (ui , vi )
(b) (ui + n, vi + n)
(c) (ui , ui + n)
请构造一个操作序列,使操作结束后,剩余的边数尽可能少。
由于操作 2 的代价非常大,你只能进行一次操作 2。
注意:你只需要最小化操作完后的剩余边数,不需要最小化操作次数。
【输入格式】
【输出格式】
输到文件件 dziady.out 中。
第一行输出两个非负整数 m′ , k,表示操作完后剩下的边数和操作序列的长度。
接下来 k 行,每行表示一个操作:
2. 如果使用第二种操作,输出“2”。
5
【样例 1 输入】
1 7 7
2 1 2
3 2 3
4 3 1
5 2 4
6 2 5
7 3 6
8 3 7
【样例 1 输出】
1 0 13
2 1 4
3 1 2
4 1 1
5 1 6
6 1 3
7 2
8 1 1
9 1 2
10 1 3
11 1 4
12 1 5
13 1 6
14 1 7
【测试点约束】
测试点编号 n≤ m≤ 特殊性质
1∼2 10 10 无
3∼4 300,000 450,000 保证每个点的度数为 2。
5∼7 300,000 450,000 保证图中每个点属于最多一个简单环。
8 ∼ 10 300,000 450,000 ∀u ∈ [2, n],点 u 的度数为 2
11 ∼ 20 300,000 450,000 无