2024.01.16【提高A&B&C组】模拟 总结反思

本文讲述了四个编程竞赛中的问题解决方案,涉及日期计算、动物饲养策略、数值操作和贪吃蛇游戏。强调了正确理解题意、使用恰当的数据结构(如堆和队列)、处理模数运算以及避免常见错误的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Print & Rank

\儒略日 (julian)动物园(zoo)函数调用(call)贪吃蛇(snakes)all
估分1001003070300
应得1001007570345
实际100100100210

Rank 17


Problem 1 :julian

题目大意

计算第 n n n 个儒略日的日期,定义参见百度百科

正解

赛时

分儒略历和格里高利历做模拟

赛后

翻一下百度百科发现公式:
在这里插入图片描述
人麻了,太抽象了


Problem 2 :zoo

题意

给出一些动物和一些要求,每个要求有a和b,表示若一开始买饲料a,则要买饲料b。问在不多买饲料的情况下能再养多少只动物。

思路

把动物编号或起来,然后用要求判断一下那些饲料不能买,然后统计一下,记x,输出 2 x − n 2^x-n 2xn
特判 x = 64 , n = 0 x=64,n=0 x=64,n=0 的情况


Problem 3 :call

题意

有三种操作:

  1. 给出 a i , d i a_i,d_i ai,di,将下标为 a i a_i ai的数加上 d i d_i di
  2. 给出 q i q_i qi,将所有数乘上 q i q_i qi
  3. 给出若干个数,依次执行对应的操作

赛时

暴力,原可以得75分,但模数把“998244353”打成“998244343”,也没找出来成功挂了

正解

拓扑+类似线段树的懒标记


Problem 4 :snakes

题意

有一些蛇,每次最大的蛇可以选择吃掉最小的蛇,消耗小蛇长度的长度,也可以选择结束,每只蛇在保证自己不被吃的情况下尽量吃,问最终剩下多少只蛇

赛时

贪心(堆)70->(堆打错)40->0(MLE)

正解

改为队列维护


总结

  1. 不要打挂,不要挂分
  2. 堆要看清是否打错
  3. 模数要打对,且尽量每算一次就模一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值