• 2020CSP-S2总结


    人生最后一次CSP,但是还是做得非常不好。

    能做:100+100+100+70=370

    估分:100+100+100+0=300

    民间测试:100+60+100+0=260

    直接裂开。


    拿到题目很自然地看了所有的题。T1思想简单直接跳,T2显然是水题,T3一眼不会,T4似乎是个水题(后来发现题目大意看错了)。

    接下来思想就在T3和T4之间反复横跳,T4后来过了很久也理解了真正的题意,基本上理解了题意就会(O(nlg n))了。

    不过这T3倒是搞了好久,后来想到个朦胧的思路认为可行。

    第一个小时的想题时间结束了,于是开始写题。

    按顺序直接刚,结果刚T1的时候心态崩了,硬是搞了一个钟才过了所有的样例。

    刚T2花了不到10分钟,肉眼查了下没有发现问题,感觉比T1容易切,直接过。

    接下来搞T3,搞出来之后发现WA了。后来进过长时间的手推、玩样例,搞清了所有的细节,过了第一个样例。但第二个样例过不了,调试时发现拓扑排序的时候并没有遍历所有点。发现不到一个小时了干T4去,后来回来查的时候想起新开的点(即把询问当成函数)不一定是唯一的零度点,改了之后大样例过了。因为是计数题所以也放心了。

    搞T4,不到15分钟干出(O(nlg n)),感觉这次比赛370稳了。最后半小时,想到了两个队列的做法(比赛后证实是错误的),十分钟内搞了出来并过了大数据。感觉能AK。

    最后的时间是检查,先检查T1,测了下消失的那几天,发现有点加一减一的问题,修正了;T2T3感觉没错。

    反复检查,最后一分钟意识到T4两个队列的做法有个细节没有加,由于只需要写一个短短的表达式所以我开始写了。然后工作人员喊结束的时候,我发现我加的细节加错了(大于号和小于号打反)。这个细节,如果不加还可以水点分;加了而且对了自然可以水更多分,但加了而且错了就爆0了。

    我刚出考场就吼出来了啊,啊啊啊再给我一分钟不就AK了吗!


    后来回家的路上在UOJ群上讨论,忽然有人提醒:1ull<<k(k=64)时结果是(1)。还有(n=0,m=0,k=64)时输出(2^{64})(要手写不然输不了这么大的数)。

    吐槽下CSP怎么这么喜欢搞这种反向区分的东西,上一年也搞过。

    在车上听歌闭目思考,忽然发现T4的双队列做法还要加个操作,于是又去UOJ群讨论了一番。最终发现:就算加了这个操作还是有锅,因为没有办法处理值相同编号不同的情况。

    反正T4爆0了,意识到本来就切不了心中平衡了一下。不过本来也应该要有70分的……

    最后在牛客和洛谷上测了,以牛客为准,分数就是上面所述那样。T3果然切了,T1松了口气,才知道T2一挂就挂40分(前三题都没有看部分分的),和确认了一下T4确实一分没有。


    总结一下:

    1. 对于正确性不会严谨证明的做法,如果此时也有暴力做法,务必将这两个做法打包到一起。
    2. 看到位运算有左移(64)位的一定要小心。
    3. 最后一分钟什么都不要改(因为此时连测样例的时间都没有,改了可能手误)。关闭IDE静静坐着就好。下次我能做到吗?

    再结合一下最近的训练状况说说吧:

    1. 打模拟赛的时候多在想正解,部分分最大作用就是提示我想正解,如果想不出才会迫不得已写部分分(除非是个需要拍的题)。其实通过这次比赛,我又发觉,分数也不一定要追求极致,明明会370,那就先保住这370,再往高处走嘛。所以,如果正解实在比较难想或难写,弃掉它写部分分然后将多余的时间检查也不错。
    2. 模拟赛的时候做题的节奏可能会比较乱(当然这和模拟赛的题目和真正的CSP-S2的差异有关系),正式比赛的时候我都会规定自己想题一个小时,然后写完所有能写的;但是在模拟赛的时候,这个想题的一个小时可能会延长到一个半小时甚至两个小时。这个问题怎么解决,或者说这个到底是不是个问题,感觉也没有什么比较明确的说法,就考验自己随机应变的能力吧……
    3. 然后就是经常挂分的现象……确实,比起正式赛,模拟赛中查程序错误的力度不够;反过来这也可能会影响正式赛。这个问题,也应该在后面的模拟赛训练中进行一些调整。
  • 相关阅读:
    javascript事件流讲解和实例应用
    Javascripts事件基础和事件绑定
    javascript-节点属性详解
    js数据类型检测的四种方式
    原生JS的window.onload与Jquery的$(document).ready(function() {}),$(function () {})有什么不同?
    Js字符串方法大全
    什么是原型链?
    new操作符具体干了什么呢
    document.write和innerHTML的区别
    一个页面从输入URL到页面加载显示完成,这个过程中都发生了什么?
  • 原文地址:https://www.cnblogs.com/jz-597/p/13946130.html
Copyright © 2020-2023  润新知