暑期训练第二周第二天

A

给你一个数为x,你可以进行两个操作:让x减一,如果x为偶数,那么让x乘3/2.问x能否通过操作变为y。

这个题比较水,不写思路了。
过程: 这个题虽然水,但一开始我用的方法是错的,这就导致错了几次。最后我换了个方法才过的。

B

给你一个数组,数组中包含1-n这n个数(但没有顺序)。你可以进行如下操作:交换两个相邻位置的数。但交换过的位置不能再次交换。问如何操作才能使得该序列字典序最小。

B. Minimize the Permutation
这个题做了三遍了,都快背过了。。。

C

给出一个路径(由UDRL组成,U是向上走,D是向下走,R是向右走,L是向左走),要求删除最小个数的字母并把剩余的字母重新排序,使得机器人可以从原点出发,最后返回原点并且路径上没有重合。

D

你有m个英雄,第i个英雄有力量p[i]和耐力s[i]。你想去清理一个有n个怪物的地牢,每个怪物的力量是a[i]。
每天你可以派一名英雄去地牢,英雄会去挑战之前没有打过的第一只怪物。如果该英雄的力量大于这个怪物的力量,那么英雄就会打败它,否则他会撤退。每打败一只怪物,英雄的耐力会减一,当英雄的耐力为0或者地牢的怪全被打完时或者这只怪物的力量大于该英雄的力量时,该英雄会撤退。
问清理地牢最少要花多少天。
D. Yet Another Monster Killing Problem

E

你在玩一个游戏,你有m个士兵,每个士兵的敏捷度是a[i]。你要从位置0出发,到位置n+1去打boss。
这一路上有k个陷阱,每个陷阱都有l[i],r[i],d[i]三个属性。当士兵位于l[i]的位置时,就会触发陷阱,如果士兵的敏捷度a[i]小于d[i],那么这个士兵会被杀掉。不过当你位于r[i]的位置时,你可以排除该陷阱(你不会触发陷阱)。
你有t秒的时间去进行移动,你有两种移动方式:1.如果你位于x位置,那么你可以移动到x+1或者x-1的位置上。2.如果你和你的部队都在x位置上,你可以带着你的部队移动到x+1或者x-1的位置上(你也可以不带部队行动)。两种行动都只花费一秒。
问你最多可以从m个士兵中带多个人去打boss,使得移动时间不超过t秒,且在路上没有伤亡。
D.A Game with Traps

F

给你一个数组a[],你可以删除至多一个数。要求找出最长的单调上升的子序列的长度。
D.Remove One Elemen

G

在x轴上给出n条线段,每条线段都给出了左右端点l[i]和r[i]。如果有某个点上覆盖了多于k条线段,那么这个点就是一个坏点。问:我们最少要删除多少条线段,使得x轴上不存在坏点。
D2.Too Many Segments

感想

其实今天比赛的题都是之前的原题,就是复习了,所有的题我都是先想起思路,然后跟着思路回忆代码,就写出来了。当然有的时候回忆并不是那么准确,所以就会错上几次,这也就是复习的意义了。

你可能感兴趣的:(训练日记)