CSPJ2023简析

一、小苹果

        这个题是说每次从第一个每隔两个拿一个苹果,问多少次会把苹果拿没,第n个苹果第几次拿走。

        看一眼数据规模在1e9上,所以如果第一时间想到链表啥的快算了吧。很明显的,每3个苹果拿走1个,二十来次应该能拿完所有苹果,第二个输出在while(n)判定n与3的关系可以,也可以直接根据n%3的具体情况直接计算。

二、公路

        这个题是说公路上有若干个加油站都有无限多的油,你的车也有无限大的油箱,问从头跑到尾最少花费多少油钱。

        很明显的贪心:在当前位置的油够跑到下一个更低价格加油站就可以。双指针,pcur是当前位置,pnxt是下一个更低价的加油站的位置,为了编码简单可以把最后一个加油站价格换成0啥的,往后跑pnxt就可以,每次发现一个更低的,那dist[pnxt]-dist[pcur]就是在当前位置需要加的油,累计即可得到答案。

三、一元二次方程

        这个问题正解就是按题目写的搬砖咯,把题目的要求if出来,然后写若干个小函数实现一下里面的操作就可以了。其实这个题还是不错的,基础考察比较到位,更体现了编程习惯对编码难易的影响。

        其中有2解的特殊性质占50%,所以优先实现这个甚至只实现这个是一个好的应考策略。

四、旅游巴士

        这个题看起来应该就是比较直白的在有向图上跑单源最短路(都不用换算的,速度为1),但是说每个道路有开放时间,那就是说记录的结构体里面多添加ai进去,从而使得尝试路径时可以拿到信息判断一下这条边现在能不能走:跑dijkstra的时候由于速度1,所以最短路的长度就是时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清晨曦月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值