Print & Rank
\ | 儒略日 (julian) | 动物园(zoo) | 函数调用(call) | 贪吃蛇(snakes) | all |
---|---|---|---|---|---|
估分 | 100 | 100 | 30 | 70 | 300 |
应得 | 100 | 100 | 75 | 70 | 345 |
实际 | 100 | 100 | 10 | 0 | 210 |
Rank 17
Problem 1 :julian
题目大意
计算第 n n n 个儒略日的日期,定义参见百度百科
正解
赛时
分儒略历和格里高利历做模拟
赛后
翻一下百度百科发现公式:
人麻了,太抽象了
Problem 2 :zoo
题意
给出一些动物和一些要求,每个要求有a和b,表示若一开始买饲料a,则要买饲料b。问在不多买饲料的情况下能再养多少只动物。
思路
把动物编号或起来,然后用要求判断一下那些饲料不能买,然后统计一下,记x,输出
2
x
−
n
2^x-n
2x−n
特判
x
=
64
,
n
=
0
x=64,n=0
x=64,n=0 的情况
Problem 3 :call
题意
有三种操作:
- 给出 a i , d i a_i,d_i ai,di,将下标为 a i a_i ai的数加上 d i d_i di
- 给出 q i q_i qi,将所有数乘上 q i q_i qi
- 给出若干个数,依次执行对应的操作
赛时
暴力,原可以得75分,但模数把“998244353”打成“998244343”,也没找出来成功挂了
正解
拓扑+类似线段树的懒标记
Problem 4 :snakes
题意
有一些蛇,每次最大的蛇可以选择吃掉最小的蛇,消耗小蛇长度的长度,也可以选择结束,每只蛇在保证自己不被吃的情况下尽量吃,问最终剩下多少只蛇
赛时
贪心(堆)70->(堆打错)40->0(MLE)
正解
改为队列维护
总结
- 不要打挂,不要挂分
- 堆要看清是否打错
- 模数要打对,且尽量每算一次就模一次