luogu link
难度估计
红,红+,橙,橙,黄-,黄
T1
思路
签到题。
如果 x−⌊x⌋<0.5x - \lfloor x \rfloor < 0.5x−⌊x⌋<0.5,则小数部分 <0.5< 0.5<0.5,答案为 ⌊x⌋\lfloor x \rfloor⌊x⌋,否则答案为 ⌊x⌋+1\lfloor x \rfloor + 1⌊x⌋+1。
代码
T2
思路
一道二分题。
对于第 iii 个学生,其可能获得的最高分为 si,1+si,2+si,3+300s_{i,1} + s_{i,2} + s_{i,3} + 300si,1 +si,2 +si,3 +300,最低分为 si,1+si,2+si,3s_{i,1} + s_{i,2} + s_{i,3}si,1 +si,2 +si,3 。
先排序使得数组有单调性,然后用循环,对于每个学生计算他们的最高分,然后用二分查找出有多少人的最低分 >t> t>t,如果超过或等于 kkk 个,说明就算这个学生考了最高分,也进不了前 kkk。
代码
T3
思路
模拟题。
按照类似于双向链表的方法模拟即可。
代码
T4
思路
一道二分题。
和 T2 思路类似,排序 + 二分即可。
代码
T5(非正解)
思路
从技能 nnn 开始,学它之前,先把它所有前置技能都学完(每个前置技能再递归处理),最后加上当前技能的学习时间。
代码
T6
思路
一道 dp 题。
对于一组坐标 (i,j)(i,j)(i,j),如果:
* 地图上该点为 #
* =(0,0)= (0,0)=(0,0)
则将该点设置为 −1-1−1(可以在初始化时设置) 并 continue 该点。
否则两条路,dp[i-1][j] 和 dp[i][j-1] 到达该点,转移方程为 dp[i][j] = max(dp[i-1][j],dp[i][j-1]) + 1。
代码
@AC君 求置顶