夜未央Test1

时间:2024-07-01 22:05:08

积木游戏(block.pas)  

【题目描述】

春春幼儿园举办了一年一度的“积木大赛”。今年比赛的内容是搭建一座宽度为n的大厦,最高的积木的最终需要达到h。

在搭建开始之前,没有任何积木(可以看成n块高度为 0 的积木)。接下来每次操作,小朋友们可以选择一段连续区间[L, R],然后将第L块到第R块之间(含第L块和第R块)所有积木的高度分别增加1。

为了锻炼小朋友们的动手能力,幼儿园准备让他们记录下每一步操作,即记下总步数,和每一次的区间,但是这样的话,幼儿园老师们的统计工作就变得很麻烦,因为还需要通过计算某时刻某区间的操作覆盖次数(即有多少次操作在上面进行过)来分析他们的比赛心理。所以请你写一个程序,来完成这一操作,为了方便你的编程,直接把春春幼儿园数据整理成两种操作:

1 x y: 区间[x,y]叠上积木;

2 x y: 求区间[x,y]最大操作次数.

【输入说明】

第一行n,m表示大厦宽度和操作数

接下来m行操作。

【输入样例】

5 4

1 1 3

2 2 5

1 2 4

2 3 5

【输出样例】

1

2

【数据范围】

对于20%的数据,n,m<=100
     对于60%的数据,n <=1000,m<=50000
     对于100%的数据,n,m<=50000

数字游戏(math.pas)               

【题目描述】

直接切入主题,有n个自然数两两组成了一个方程,即(以3为例):

x1+x2=a1;

x1+x3=a2;

x2+x3=a3;

这时候你也许会说,这不是高斯消元吗?而且只要n个方程就够了,不用两两组成啊。所以题目要加大一点难度了,这里所给出的a并非是按照上表的顺序的,而是乱序给出,就是说你不知道方程的左右两边的匹配情况,那么现在请你解出方程并且将其从小到大排序后输出。

【输入说明】

第一行,仅一个n,表示未知数的个数

接下来给出两两组成的方程组的右边部分,即a1,a2,a3……

【输出说明】

仅一行,从小到大输出方程的解。

【输入样例】

4

6 5 4 3 2 1

【输出样例】

0 1 2 4

【数据范围】

对于全部的数据1<=n<=100

造梦(dream.pas)                     

【题目描述】

“梦是一种来自自身潜意识的压力宣泄,确切的说,是一种具体意识的抽象表现,不过,在梦中的自我操控并非不可实现,当一个人在自我意识极强的情况下进入梦境,可以对虚拟的世界进行人为操控,但是……”        ——《forever97梦理论》

“巨石阵是古老的一种祭祀方式,是原始人用来表示对于太阳神的敬仰,巨石阵的建造非常的困难,要求每一块基石基本相同,即长度相差不超过5个长度单位,巨石阵的高度象征着一个部落的发展,但是奇怪的是,其高度的计算是按照最矮的那段石柱来的。那不是说,即使……”         ——《forever97古迹研究》

现在WZOI掌握了梦理论,准备在虚拟世界建造一个巨石阵,由n块虚拟巨石组成,但是在梦中不能创造出材料,需要在梦空间中自行搜罗材料,现在找到了m块虚拟石料,请问,WZOI最多可以建造多高的巨石阵。

【输入说明】

第一行,m,n如题

接下来m块材料的长度

【输出说明】

仅一行,表示最多可以建造多高的巨石阵

【输入样例】

5 5

3 4 5 6 8

【输出样例】

4

【样例说明】

将长度为8的石料切为4和4,选取4,5,6,建造巨石阵,则高度为4。

【数据范围】

对于30%的数据,n,m<=1000
      对于60%的数据,n ,m<=300000
      对于100%的数据,n,m<=1000000

题解

夜未央Test1数据