我对第二场的唯一感想是……B题写得真tmd丑- -|||
A题:遍历一次找最大值,再遍历一次找第一个超过m的ren。不会用map,表示鸭梨甚大……
B题……先写了190+行,结果debug又加了四五十行,代码实在难看……
题目说找一条路径使得将路径上所有数字乘起来后缀的0最少,那么dp两次,第一次找2最少的,第二次找5最少的。注意路径上可能出现0,所以如果有0另外算,然后dp时将0跳过。
代码如下
C题
模拟退火……因为sin(A/2)=R/d,要算关于角A之间的差就要让A/2变成A,因此需要平方……原来用fabs显然过不了……
本文解析了一场编程比赛中三道题目的解决方案,包括通过遍历寻找最大值的策略、使用动态规划解决路径选择问题以减少乘积后的0的数量,以及采用模拟退火算法来逼近最优解。
515

被折叠的 条评论
为什么被折叠?



