试题概览】1.倒水。
题目描述】一天,树树买了n个容量可以认为是无限大的瓶子,初始时每个瓶子里有1升水。树树发现瓶子实在太多了,于是他决定保留不超过k个瓶子。每次他选择两个当前含水量相同的瓶子合并,把一个瓶子的水全部倒进另一个瓶,然后把空瓶丢弃(不能丢弃有水的瓶子)。
显然在某些情况下树树无法达到目标,比如n=3,k=1.此时树树会重新买一些新的瓶子(新瓶子容量无限,开始时有1升水),以达到目标。
现在树树想知道,最少需要买多少新瓶子才能达到目标呢?
输入文件】一行两个正整数n,k(1≤n≤109,k≤1000)
输出文件】一个非负整数,表示最少需要买多少新瓶子。样例输入】
样例输出】
数据规模】对于30%的数据,n≤3*105;
对于100%的数据如题目。
2.象棋比赛。
题目描述】有n个人要参加国际象棋比赛,该比赛要进行k场对弈。
每个人最多参加两场对弈,最少参加零场对弈。
每个人都由一个与其他人不相同的等级(用一个正整数来表示)。
在对弈中,等级高的人必须用黑色的棋子和一次白色的棋子。
为了增加比赛的可观度,观众希望k场对弈中双方的等级差的总和最小。
比如有7个选手,他们的等级分别是30;17;26;41;19;38;18,要进行3场比赛。
最好的安排是player2 vs player 7,player 7 vs player5,player 6 vs player 4,此时等级差的总和等于 (18-17)+(19-18)+(41-38)=5达到最小。
输入文件】第一行两个正整数n,k;
接下来有n行,第i行表示第i+1个人等级。
输出文件】在第一行输出最小的等级差得总和。样例输入】
样例输出】
数据规模】在90%的数据中,1≤n≤3000;
在100%的数据中,1≤n≤100000;
保证所有输入数据中等级的值小于108,1≤k≤n-1。
3. 演出队列。
题目描述】
今年是镇海中学的百年校庆。校庆演出时,导演需要一列连续的身高递增的学生来演出一个节目。现在有一列连续排列的学生,可以从这些学生中筛选掉最多一段连续的几个学生。
然后从剩下的学生中,选出连续的若干个,这些学生的身高依次连续递增。
求可以得到的身高连续递增队列的最大长度?。
输入】 输入文件的第一行只有一个整数n。
第二行有n个正整数(互相之间以一个空格分隔),表示连续排列的每个学生的身高。
输出】 输出文件中仅有一行,该行只有一个整数,表示符合要求的最长队列的长度。
样例输入1】
样例输出1】
样例说明1】
筛选掉第三个(179 177 178)后,得到长度最长的连续递增序列:171 172 173 175 176 177
样例输入2】
样例输出2】
样例说明2】
长度最长的连续递增序列为第3-7个:171 172 173 175 176
数据说明】
30%的数据n≤20
70%的数据n≤200
100%的数据n≤5000,高度不超过109。
4. 利比亚行动。
题目描述】
2023年3月16日以来,利比亚爆发的骚乱不断升级,已严重危及到普通民众和各国在利比亚工作的人员的安全。为了尽快救出在利比亚的同胞,根据利比亚的形势,我国**告诉每个在利比亚的公民,如何行动才能最快地到达安全的地方,然后由我国派出的飞机、轮船、汽车接回国。
假设将利比亚的地图划分为一个n行m列的长方形,待拯救的同胞小a在1行1列处,安全的目标位置在n行m列处。
利比亚是一个多沙漠的国家,经过某些位置需要消耗一定数量的食品,某些位置存储有很多很多食品。假定小a现在在位置i行j列,如果身上带有足够在新位置处需要消耗的食品的话,小a的下一个位置将到达i-1行j列、i+1行j列、i行j-1列、i行j+1列这四个位置之一,如果新位置处有食品的话,小a最多能拿一份该位置处的食品。当然如果小a已有的食品加上新位置处的一份食品数量超过小a能带食品的最高上限,小a就不能拿该位置处的食品了。
如果身上的食品不够到下一位置处的消耗,小a就不能到下一位置去,否则会面临生命危险的。当然,小a可以数次经过同一个位置,每次到此位置,都需要先消耗食品,然后可以拿一份食品(如果有的话),也就是小a可以多次到同一个地方来攒食品,也可以多次到同一个地方来消耗食品。若一个位置既要消耗食品,又可以拿食品,则小a必须先消耗食品,然后才能拿一份食品。
给出利比亚的地图,请告诉小a如何最快地从起点(1,1)走到终点(n,m)。程序只要输出最短路径长度就可以了。
输入】 输入文件的第一行有4个正整数n,m,t,maxc(1≤n≤200,1≤m≤200,0≤t≤maxc≤270),它们之间以一个空格分隔。表示利比亚的地形可以分为n行m列,小a一开始时的食品数量为t,身上最多能带maxc的食品。
接下来n行,每行m个字符,分别表示地图中该位置的信息。其中:
字符“*”表示这个位置是建筑物、河流、有地雷等人无法走到的位置(保证起点终点不是“*”
数字字符“1”~“9”表示这个位置有该数量的食品;
小数点“.”表示人可以走到该位置,但该位置没有食品。
第n+2行只有一个正整数k,表示到达这k个位置会消耗食品。接下来k行,每行三个正整数x,y,w,表示每次到第x行y列处会消耗数量为w的食品。数据保证同一个位置不会出现两次。
输出】 输出文件只有一行,该行只有一个正整数。表示小a从起点到终点,在保证自身安全情况下走过的最短路径长度。
样例输入1】
样例输出1】
样例输入2】
样例输出2】
数据说明】
70%的数据中,没有需要消耗食品的地方和存储有食品的地方。即在这些70%的数据中,输入的t=0,maxc=0,k=0,n行m列输入的地图只有小数点和*二种字符。
在上述70%的数据中,其中有40%的数据n,m均不超过100。
模拟练习题答案
一 填空题 2分 10 20分 1 冷冲压工艺是在压常温下,在压力机上,利用模具对材料施加压力,使其产生分离或塑性变形从而获得所需零件的压力加工方法。2 普通冲裁件断面具有圆角带 光亮带 断裂带和毛刺带四个明显区域。3 弹性卸料装置除了起卸料作用外,还兼起压料作用。它一般用于材料厚度相对较薄材料厚度...
T 财务组练习题
5 管理费用下增加 办公费 差旅费 工资 折旧费 明细科目,并进行部门辅助核算。6 销售费用的设置同5 7 在 现金流量项目 中对于 收到的其他与经营活动有关的现金 中,借方对应科目增加 财务费用 利息收入 科目。二 期初余额。1 现金1000元,银行存款 中国银行 29000元 2 应收账款下,利...
2019noip复赛模拟练习18 答案
1.tom有一个无穷序列中如下 110100100010000100000。请你帮助tom找出在这个无穷序列中指定位置上的数字。输入格式 input format 第一行一个正整数n,表示询问的次数 接下来的n行一个正整数ai,ai表示在序列中的位置。输出格式 output format n行,每一...