zoukankan      html  css  js  c++  java
  • JSOI2014第三轮总结

    这次发挥的比上次好很多

    毕竟这次的话好歹上100了,也不是特别丢人

    但更主要的是,该得的分没有丢(不禁想到了R1的线段树和R2的网络流,可惜啊)

    不会做的题目积极去骗分了(如D1T1,2和D2T1)

    首先考试给了我这么几个启示

    1. 引用XHR的话,“数据是死的,人是活的,出题人是懒的。”

    像这次,D1 T1,T2,D2 T1,我写的算法我自己都能找出反例

    可最后却都拿到了意想不到的分数,说明什么?

    要勇于骗分,比如思路很凌乱但有想法的题目,如D2 T1,想不出来更好的那就先写下来,管他对不对

    不写肯定是爆0,写出来才知道有没有;像D2 T1,我用了很凌乱的方法,最后竟然拿到了中间的两个点(诡异……)

    2. 不要放弃每一分,也不要放弃临近比赛结束的时间;

    像这次D1T2,D2T3,我能得更多分的算法都是快比赛结束的时候才拍完的

    当然这不是一个好习惯,能越早拍完越好;

    但我想说,不要像我以往一样看到离考试结束还有几十分钟,想到了能多得一点分的算法就犯懒,不去拍了

    要积极的去得分,

    像D1 T2,本来我写的贪心是没有记录的状态的,后来我在还有30min的时候加上去了,结果多得了10分的部分分;

    考试还没结束,什么都有可能(当然前提是先把已做好的程序保存好,免得手忙脚乱)

    3. 思维要有梯度

    像我做bzoj的时候,要么想到的是朴素,要么就直接想AC,

    其实这样不好,我们要尽量的多得分,在朴素的基础上不断优化

    比如D2 T3,本来我写的是朴素的10分(事实证明可以20),复杂度是O(qn^3);

    然后我由回文想到了把字符串反过来加到后面然后做后缀数组,然后优化到了O(nlogn+qn^2)

    然后由回文的性质优化到了O(signma(ri-li)+nlogn)

    最后得了30分(汗,实际上理论是可以40分,自己测的时候3s多,应该是常数的问题)

    事实上,我觉得考试时是很难一下想到AC的,我们是需要不断在已有的思路上不断的优化,不断得到更多分

    平时在bzoj上需要注意这个问题

    4.注意思维的训练;

    JSOI现在裸题,模板题越来越少了(好吧D2 T2当我没说),风格也觉得跟平时做的不一样

    所以平时学习新的算法的时候,不能停留于做哪些裸的模板题,要积极思考;

    很多算法都隐藏的很深

    5. 要继续学习

    这当然是废话,我确实还有好多没学,像这次D2 T2裸的凸包不会立刻傻眼

    总体来说,这次是要比上次进步,无论思维还是编程能力都有了不错的进步

    还要继续努力,没有人生来就是大神

    话外篇:初中的小朋友好厉害,要有紧迫感啊!

  • 相关阅读:
    【排序】冒泡排序,C++实现
    【排序】选择排序,C++实现
    【排序】插入排序,C++实现
    【集成学习】 lightgbm原理
    leetcode1310
    leetcode1309
    leetcode1300
    leetcode1302
    leetcode1299
    leetcode1306
  • 原文地址:https://www.cnblogs.com/phile/p/4473235.html
Copyright © 2011-2022 走看看