sss

<更新提示>

<第一次更新>


<正文>

2019/3/8 USACO测试

这一次是到高中的第一次考试,考得不太好,原因有很多。

先看一下试题安排:

题号 试题分组 考察算法 思维难度 代码难度
1 金组(T1) 建图+最短路 ★★★ ★★
2 银组(T1) 后缀统计+暴力更新
3 银组(T2) 离散化+线段树 ★★ ★★★
4 银组(T3) (topsort)判环 ★★

很显然(T1)(T3)是最难的,一道思维难度大,另一道代码难度大。

考试的时候,我对题目的大致难度也已经察觉到了,时间安排是这样的:

  • 读题 (20min)
  • 推样例 (15min)
  • (T2)思考+代码 (20min)
  • (T3)思考 (30min)
  • (T3)代码 (35min)
  • (T4)思考 (30min)
  • (T4)暴力代码 (20min)
  • (T1)暴力代码 (20min)
  • 检查细节+检查文件 (20min)

这样(3)个半小时就过去了,我认为大致时间安排是合理的,写出来了两道题,写了两道暴力,但是成绩就是另外一回事了。

(/) (T1) (T2) (T3) (T4) (total)
(score) (10) (20) (30) (100) (160)

其实主要原因还是出在写挂上,算法的思路是完全没有问题的,和正解几乎一模一样。

关于(T2),其实主要出的问题是计算平均分是没有用浮点数来比较大小,这样就导致答案误差会很大,改正之后直接(AC)了。这其实是一个稍微想一想就能解决的问题,虽然自己学校翻译的题面是没有很明显的说清楚,但是还是应该要想到的。这种错误可以用来吸取教训,但是以后不能再错了。

还有的就是输出格式有一点问题,这个不是我的锅。

关于(T3),错误是漏判了一个条件,当同一头牛两次作为第一名时,它的分数也可能是不一样的,这种情况需要特判,不用累加答案,改了之后也(AC)了。其他的好像没有什么问题,线段树也自己可以写出来了,就是离散化还要再熟练一点(写了博客:『离散化 discrete』)。

这个(T4)倒是挺惊奇的,数据水得不得了,我暴力模拟(1000)遍再统计既然直接(AC)了。正解应该直接建图((i)号点向(a_i)连一条边),然后(topsort)判环,输出所有环的大小之和即可,这是应该想到的。

(T1)是一道建图题,考场上直接写了暴力模拟,思维难度确实是有点大,考试后还想了很久,看了题解,想这样不可能写出来的题,写一个暴力是好的选择。

那么以后要注意的是:

  • 1.想完一道题之后先尝试检验算法正确性,或找找反例
  • 2.写完一道题之后多出几组数据测一测,死磕出来的难题可以考虑直接写个暴力对拍
  • 3.做完后至少留(20-30)分钟的时间检查细节,有没有漏判情况之类的

摘几句机房某(dalao)的备注:

写代码时请注意:
1.(long long)
2.数组大小,边界
3.数据范围
4.精度
5.特判
6.至少做一些部分分
思考提醒:
1.最大值最小(最小值最大),二分
2.尝试贪心,贪心不行尝试(DP)
3.优化
4.维护区间用什么数据结构
5.统计方案是否用(DP),是否要取模
6.逆向思维


<后记>

原文地址:https://www.cnblogs.com/Parsnip/p/10498216.html