(怎么自动变成两天一更了?)
——因为我菜啊 T_T
Day 5
今天上午刷得爽啊!5 道 NOIP,前四题直接 1A,然而最后一题还是 WA 了一发才 A。。。
第一题是个简单的贪心,题意大概是 n 个城市从 1 到 n 依次开过,每经过一个城市 i 就可以瞬间加上 s_i 升油,加完油后每在这个城市再等 k 的单位时间就能接着加 s_i 升油,第 i 个城市到第 i+1 个城市的路程为 d_i,即需要花费 d_i 的单位时间和 d_i 升油才能从城市 i 到达城市 i+1,求从 1 走到 n 所用的最短时间。
话说这题我一开始还想错了呢……我想成了经过一个城市不能瞬间加上 s_i 升油,而是可以选择呆在这里 k 单位时间加上这 s_i 升油,且每个城市只能加一次。【神犇:你要怎么读题才能把题目意思看成这个? 小蒟蒻:被神犇 D 飞了,其实这是我看到这个题面背景回忆起来的之前做过的一道题。。。】读者不妨思考一下怎么做。【神犇:不就用个堆吗,有什么好思考的? 小蒟蒻:……(已被虐哭)】
第二题是个数学 + 模拟。题目是说有一个盒子里面有 n 面镜子,左右各有一个小孔,距离底边分别有 h_l 和 h_r 厘米,然后从左边射进来一束光,打到镜子上不断反射,不能两次打到同一面镜子,每打到一面镜子就得到一定的分数,求最大分数。一开始做这题我就感觉光的反射,每次是有周期的,所以可能跟 gcd 什么的有关?后来发现枚举转折点个数解方程然后再模拟一遍检验答案就行了。这题特别缺德,给的图片跟样例不相符,但又是那么的像,使人产生一种错觉,要不是题目最后一句话,我样例估计又得调 1h+ 了。。。
第三题就是字符串模拟,每次取 10 位检验它是不是一个合法的日期(详见我的博客“戳这里”),然后看出现次数最多的是哪个,我懒得写哈希了,就大肆用 STL,先是 string,再是 map,不知道常数大到哪里去了。
第四题挺逗(详情“戳这里”),开始我写了个 dp,然后发现我把状态数估小了,后来又发现这题贪心地将每一位数字分解即可,于是又发现我 dp 没白写,用它打了个表然后就 AC 了。
第五题(“点我”)又是贪心 + 高精度,发现这场比赛真是贪得无厌,5 道题 3 道要用贪心。。。只不过这题的贪心要更加码农一些,也没什么意思。
下午就不一样了。。。UR16 掉 rating 记。。。
这次 UR 有一句话题意了,点赞。
开场 20 min 左右,我想到了第一题 50 分做法(比赛详见这里),发现第一题就是奇数偶数情况强行拼凑在一起,也就是两道题。。。奇数的情况简单,dp 推一下式子再矩阵快速幂即可。然而只有 50 分啊,首上午的影响,我也变得“贪得无厌”起来,心想不 A 掉一题怎么可能涨 rating 呢?于是我就往后翻题目,然后我一眼看到了第三题:“平面上有 n 个点,m 次询问,每次询问一个三角形内的点数。(边界上的点也包含)”,蛤?这不是 k-d 树吗?然后急急忙忙开始写,抱着 A 掉此题的决心。但作为初(幼)中(儿)生(园)的我并不会判断一个点是否在三角形内部的简单做法,所以上网搜啊!发现运用向量这个问题太方便了,就套进来搞了一下,写完了。然而发现向量积会爆 long long,于是我把所有的东西都换成了 long double,然而大样例 T 飞了!这是感觉自己真是 Too naive。转眼看比赛只剩两分多种了,就把这份代码交了上去。
结果很悲惨:第三题 T 成暴力分,第一题会写的 50 分没有写。。。
这一天就在掉 rating 中结束了。。。这个故事告诉我,k-d 树不是随便用的。。。
Day 6
昨天 UR 真是一颗赛艇,搞得今天都起晚了。
一到学校,便找杨老师要了基本高中几何的书,因为昨天的第三题虽然写挂了,但还是告诉我高中数学的重要性,一上午就在看书中度过。
后来杨老师突然要我做 openjudge 上的题,就点开来看看,发现里面的题还是相当有水平的,我下午就搞了三道(即今天更的三篇题解)【神犇又发话了:你这做题速度不行啊,调代码太慢! 小蒟蒻:是是是,以后做题都得限时了。】
本来我还想再写一点的,但看字数那么多了,现在也 10 点多了,还是去睡觉好了。。。