欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

梦想杯 "2017年江苏省小学生夏令营 信息与未来编程题PK信息技术高手

最编程 2024-04-25 21:29:38
...
4 任务调度 (15 )
乌龟因为动作太慢,有 n 个任务已经超过截止日期
了。乌龟处理第 i 个任务需要 a i 单位时间。从 0 时刻
开始,乌龟可以选择某项任务,完成它,然后再开始另
一项任务,如此往复直到所有任务都被完成。
由于已经超过截止日期,乌龟会为此受到一定的惩
罚,惩罚值等于所有任务完成时刻之和。例如,有 2
任务分别需要 10 20 单位时间完成。如果先完成任
1 ,惩罚值为 10 + 30 = 40 ;如果先完成任务 2 ,惩
罚值为 20 + 30 = 50
乌龟希望你求出惩罚值最小的完成任务的顺序。
输入 两个整数 n , R 1 ,表示任务的数量和生成数
列的首项。处理任务 i ( 1 i n ) 的时间 a i = ( R i
mod 100) + 1
输出 一个整数,表示完成所有任务的最小惩罚值
样例输入 10, 2
样例输出 1641
数据规模
1 n 1000
5 基因组分析 (20 )
乌龟得到了他的基因组,一个只包含“ ATCG ”四
种字母的字符串。乌龟想起科学家说,基因组中很多片
段都多次重复出现,而且这种重复是很有意义的,于是
他想计算一下自己基因组里片段的重复情况。
给定一个基因组,其中一个长度为 k 的子串称为一
个“ k - 片段”。乌龟希望你计算出基因组中不同的 k -
段数量。例如,基因组 “TACAC” 2 - 片段有 “TA”,
“AC”, “CA”, “AC” ,其中不同的片段数量有 3 个。
输入 整数 n , k , R 1 ,表示基因组的长度、片段的
长度和数列生成的首项。基因组第 i ( 1
i
n ) 个字
符在 R i mod 4 的值为 0, 1, 2, 3 时分别为
A, T, C, G
输出 一个整数,表示不同的 k - 片段的数量
样例输入 20, 2, 37
样例输出 10
数据规模 30% 的数据满足 n 100 ; 100% 的数据
满足 1 n 10 5 , 1 k 10
6 加强版密码锁 (20 )
乌龟偶然获得了一个宝箱,宝箱上又有一把密码锁。
密码锁由 n 个拨盘组成,每个拨盘初始时有一个 0
99 之间的整数。向上拨使数字 x 变为 ( x + 1) mod 100
向下拨使数字 x 变为 ( x + 99) mod 100
因为密码锁年久失修,拨盘拨动的次数越多越费力。
如果一个拨盘被拨动 k 次,需要花费 k 2 单位时间。
密码锁只有在所有的拨盘上的数字形成一个从左到
右严格递增的数列时才会解开。乌龟再次请你帮忙,求
解解开密码锁的最少时间。
入 两个整数 n , R 1 ,表示拨盘的数量和数列生
成的首项。从左向右数第 i ( 1 i n ) 个拨盘的初始
数字为 R i mod 100
输出 一个整数,表示解开密码锁的最少时间
样例输入 10, 4
样例输出 3338
数据规模
30 % 的数据满足 n 3 ,所有数据满足
1 n 100
代码: “梦想杯”2017年江苏省信息与未来小学生夏令营IT小能手PK之程序设计试题-C++文档类资源-****文库