Codeforces Beta Round #2

本文解析了一场编程比赛中三道题目的解决方案,包括通过遍历寻找最大值的策略、使用动态规划解决路径选择问题以减少乘积后的0的数量,以及采用模拟退火算法来逼近最优解。

我对第二场的唯一感想是……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显然过不了……

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值