9.15练习赛

廉价感情. 提交于 2019-11-29 16:25:12

CSP2019 练习赛

3 小时完成
(请选手务必仔细阅读本页内容)
一. 题目概况

中文题目名称 碎片 龙珠 仓库
英文题目名称 piece dragon warehouse
可执行文件名 piece dragon warehouse
输入文件名 piece.in dragon.in warehouse.in
输出文件名 piece.out dragon.out warehouse.out
每个测试点时限 1 秒 1 秒 1 秒
测试点数目 10 10 10
每个测试点分值 10 10 10
附加样例文件
结果比较方式 全文比较
过滤行末空格
及文末回车
全文比较
过滤行末空格
及文末回车
全文比较
过滤行末空格
及文末回车
题目类型 传统 传统 传统


二. 提交源程序文件名

对于 pascal 语言 piece.pas dragon.pas warehouse.pas
对于 C 语言 piece.c dragon.c warehouse.c
对于 C++语言 piece.cpp dragon.cpp warehouse.cpp


三. 运行内存限制

内存上限 128M 128M 256M


四. 注意事项
1、 文件名(程序名和输入输出文件名)必须使用小写。
2、 C/C++中函数 main()的返回值类型必须是 int,程序正常结束时的返回值必须是 0。
3、 全国统一评测时采用的机器配置为: CPU 1.9GHz,内存 1G,上述时限以此配置为准。各省在自测时可
根据具体配置调整时限。
模拟赛 提高组



1. 碎片

【问题描述】
给你一个由字母构成的字符串 S。每一步操作,我们可以擦除其中一个子序列。 单要求
被擦除的子序列必须是一个回文词。问,要擦除掉整个字符串,最少需要多少步操作?
例如,将“abcba”从“abyczbea”中擦除,就是合法的一步。
【输入】
一行,一个字符串。
【输出】
一个整数。表示最小操作次数。
【输入输出样例】

输入样例 1 样例输入 2 样例输入 3
aa abb abyazbya
样例输出 1 样例输出 2 样例输出 3
1 2 2


【样例说明】无
【数据范围】
对于 100% 的数据: 字符串的长度<=16



2. 龙珠

 

【问题描述】
你得到了一个龙珠雷达,它会告诉你龙珠出现的时间和地点。
龙珠雷达的画面是一条水平的数轴,每一个窗口时间,数轴的某些点上会出现同一种
龙珠,每当你获得其中一颗龙珠,其它龙珠就会消失。下一个窗口时间,数轴上又会出现另
一种龙珠。总共有 n 个窗口时间,也就是总共有 n 种龙珠。
假设你会瞬间移动,你从数轴的 x 点移动到 y 点,耗时 0 秒,但是需要耗费|x-y|的体
力。同时,挖出一颗龙珠也需要耗费一定的体力。请问,最少耗费多少体力,就可以收集齐
所有种类的龙珠。
【输入】
第一行,三个整数 n,m,x,表示共有 n 个窗口时间,每个窗口时间会出现 m 个龙珠, x
是一开始你所处的位置。
接下来有两个 n*m 的矩阵。
对于第一个矩阵,坐标为(i,j)的数字表示第 i 个窗口时间,第 j 个龙珠的位置。
对于第二个矩阵,坐标为(i,j)的数字表示第 i 个窗口时间,挖取第 j 个龙珠所需的体力。
【输出】
一个整数,表示所需最小体力。
【输出输出样例】

输入样例 1 样例输入 2
3 2 5
2 3
4 1
1 3
1 1
1 3
4 2
5 3 55
71 88 27
45 6 71
43 36 1
85 12 72
69 7 45
19 4 12
5 17 11
3 13 11
6 15 4
9 5 16
样例输出 1 样例输出 2
8 113


【样例说明】
【数据范围】
所有数据均为整数
数轴范围在 0 到 30000
挖一颗龙珠所需体力不超过 30000
结果保证在 int 范围
对于 50%的数据, 1<=n<=50,1<=m<=500。
对于 100%的数据, 1<=n<=50,1<=m<=5000。

 

 

3. 仓库


(warehouse.pas/c/cpp)
【问题描述】
某星系有 n 个星球,星球以及星球间的航线形成一棵树。
从星球 a 到星球 b 要花费[dis(a,b) Xor M]秒。(dis(a,b)表示 ab 间的航线长度,
Xor 为位运算中的异或) 。
请计算星球 i(1<=i<=n)到其它所有星球花费的时间之和。
【输入】
第一行包含两个正整数 nM
接下来 n-1 行,每行 3 个正整数 a,b,c,表示 ab 之间的航线长度为 c
【输出】
n 行,每行一个整数,表示星球 i 到其它所有星球花费的时间之和。 保证答案不超过
2*10^9
【输出输出样例】

输入样例 1 样例输入 2
4 0
1 2 1
1 3 2
1 4 3
6 3
1 2 2
1 3 1
2 4 3
2 5 1
5 6 2
样例输出 1 样例输出 2
6 8
10
12
15
3
19
23
17
17


【数据范围】

6 0
100 5
2000 9
50000 0
50000 0
50000 1
50000 6
100000 10
100000 13
100000 15



 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!