@wcqk
前言:
这期还是采用我的CuSn马蜂,很方便哈
难度:
* 红 橙 黄 绿 蓝 紫 黑
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T1:一个格的价
思路解析
这题其实很简单:给定皮皮虾等级 ( S ) 和质量 ( x )(克),求应付金额。
* 等级与每千克单价对应关系:
* ( A ) 级:( 60 ) 元/kg
* ( B ) 级:( 45 ) 元/kg
* ( C ) 级:( 30 ) 元/kg
* 质量单位是克,要换算成千克。1kg=1g1kg=1g1kg=1g
* 应付金额:
ans=x1000×price\text{ans} = \frac{x}{1000} \times \text{price} ans=1000x ×price
* 输出保留两位小数。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码实现
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T2:一个戏的游
思路解析
我们有 NNN 个技能,每个技能有冷却 CiC_iCi 和伤害 DiD_iDi 。
系统按顺序给出 MMM 个强化点,每个强化点指定给某个技能 UkU_kUk :
* 类型 111:伤害增加 SjS_jSj
* 类型 222:伤害增加 Sj%S_j\%Sj %(向下取整)
最后计算平均伤害和:
⌊∑i=1NDiCi⌋\left\lfloor \sum_{i=1}^{N} \frac{D_i}{C_i} \right\rfloor ⌊i=1∑N Ci Di ⌋
结果对 917809201917809201917809201 取模。
(这个不确定要不要,先挂这)
代码实现
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
T3:一个宫的迷
思路解析
这是一个三维迷宫最短路问题。
* 迷宫尺寸为 N×N×NN \times N \times NN×N×N,每个格子是墙 #、路 .、起点 SSS 或终点 EEE。
* 移动方向:上下前后左右共 666 个方向。
* 求从起点到终点的最短步数,若不可达输出 −1-1−1。
由于 N≤20N \leq 20N≤20,三维网格最多 203=800020^3 = 8000203=8000 个格子,直接用 BFS 求解即可。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码实现
T4:一个法的书
思路解析
题目问的是:经过若干次乘方操作后,能否用恰好 kkk 次相邻交换使数组变为非递减顺序。
关键点:
* 相邻交换排序的最小次数 = 逆序对数量(冒泡排序交换次数)
* 乘方操作会改变数值,但排序可行性只取决于能否用 ≤k\leq k≤k 次交换完成
判断方法:
* 若当前数组的逆序对数量 ≤k\leq k≤k 且 (k−逆序对数)(k - \text{逆序对数})(k−逆序对数) 是偶数,则可以(因为可以多余交换来回抵消)
* 否则不行
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
代码实现
成功TLE&WA
正确代码:
CODE:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总结:
* 代码有部分不太好
* 格式难看
* Markdown\tt MarkdownMarkdown难评
* ...