编辑: 5天午托 | 2014-05-24 |
in sumsum.in merge.in 输出文件名 timezone.out sumsum.out merge.out 每个测试点时限 2.0 秒6.0 秒1.0 秒 内存限制
512 MB
512 MB
512 MB 测试点/包数目
1 10
10 测试点是否等分 否是否提交源程序文件名 对于 C++ 语言 timezone.cpp sumsum.cpp merge.cpp 对于 C 语言 timezone.c sumsum.c merge.c 对于 Pascal 语言 timezone.pas sumsum.pas merge.pas 编译选项 对于 C++ 语言 -O2 -std=c++14 对于 C 语言 -O2 -std=c14 对于 Pascal 语言 -O2 NOIP 模拟题 第13 套 飞行时间(timezone) 飞行时间(timezone) 【问题背景】 小h前往美国参加比赛.小h的女朋友发现小 h 上午十点出发,上午十二点到达 美国,于是感叹到 现在飞机飞得真快,两小时就能到美国了 . 小h对超音速飞行感到十分恐惧.仔细观察后发现飞机的起降时间都是当地时间. 由于北京和美国东部有
12 小时时差,故飞机总共需要
14 小时的飞行时间. 不久后小 h 的女朋友去中东交换.小h并不知道中东与北京的时差.但是小 h 得 到了女朋友来回航班的起降时间.小h想知道女朋友的航班飞行时间是多少. 【问题描述】 对于一个可能跨时区的航班,给定来回程的起降时间.假设飞机来回飞行时间相 同,求飞机的飞行时间. 【输入格式】 从文件 timezone.in 中读入数据. 一个输入文件包含多组数据. 输入第一行为一个正整数 T,表示输入数据组数. 每组数据包含两行,第一行为去程的 . 起.降时间,第二行为回程的 . 起.降时间. 起降时间的格式如下 h1:m1:s1 h2:m2:s2 或h1:m1:s1 h3:m3:s3 (+1) 或h1:m1:s1 h4:m4:s4 (+2) 表示该航班在当地时间 h1 时m1 分s1 秒起飞;
第一种格式表示在当地时间 . 当.日h2 时m2 分s2 秒降落;
第二种格式表示在当地时间 . 次.日h3 时m3 分s3 秒降落;
第二种格式表示在当地时间 . 第.三.天h4 时m4 分s4 秒降落. 对于此题目中的所有以 h:m:s 形式给出的时间,保证
0 ≤ h ≤ 23,
0 ≤ m, s ≤ 59;
对 于不足两位数的情况,保证添加了前导零补齐两位. 第2页共8页NOIP 模拟题 第13 套 飞行时间(timezone) 【输出格式】 输出到文件 timezone.out 中. 对于每一组数据输出一行一个时间 hh:mm:ss,表示飞行时间为 hh 小时 mm 分ss 秒. 注意,当时间为一位数时,要补齐前导零.如三点四分五秒应写为 03:04:05. 【样例输入】
3 17:48:19 21:57:24 11:05:18 15:14:23 17:21:07 00:31:46 (+1) 23:02:41 16:13:20 (+1) 10:19:19 20:41:24 22:19:04 16:41:09 (+1) 【样例输出】 04:09:05 12:10:39 14:22:05 【限制与约定】 保证输入时间合法,飞行时间不超过
24 小时. 第3页共8页NOIP 模拟题 第13 套 二阶和(sumsum) 二阶和(sumsum) 【题目描述】 数列的 二阶和 在数值分析、物理模拟等领域非常常见.现在我们要构造一个数 据结构来维护 二阶和 . 给出一个长度为 n 的数列 {a1, a2,an} 并对其进行 m 次操作.操作分为两类: 1. 区间加.给出三个参数 l, r, d,对于 l ≤ i ≤ r,将数列中的 ai 替换成 ai + d. 2. 区间询问二阶和.给出两个参数 l, r,输出子数列 { al, al+1,ar } 的二阶和除以 1, 000, 000,
007 的余数. 对于长度为 m 的数列 {b1, b2,bm},它的 . 一.阶.前.缀.和.数.列是一个长度为 m 的数列 {s1, s2,sm},其中 si = i ∑ j=1 bj 它的 . 二.阶.和为 m ∑ i=1 si 也就是说,一个数列一阶前缀和的第 i 项等于数列前 i 项之和,二阶和等于所有一阶前 缀和之和. 现在请你处理上述操作. 【输入格式】 从文件 sumsum.in 中读入数据. 输入的第一行包含两个正整数 n, m,第二行包含 n 个非负整数 ai,保证