zoukankan      html  css  js  c++  java
  • WC2021被虐记

    考试

    起了个大早去考试,坐车去的路上一直晕晕乎乎的

    由于(NOIP)全机房垫底,自然对此次考试不抱什么期望,想着只要不爆零就行

    提前半个小时到考试地点,一系列检查过后才进入考场,然后又无所事事地等到考试开始

    密码是"新年快乐" 我真是快乐呢

    照例看一遍所有题目

    (T1)一看一脸懵逼,感觉连搜索暴力都不太会写,感觉凉凉

    (T2)感觉虽然正解不太会,但是高分暴力还是比较好写的

    (T3)一看是数论,就感觉有点虚,不过看部分分还是有最暴力的(20)

    显然,先从(T2)开始

    首先写了个没有(?)的纯模拟部分分

    然后思考下,发现对于每一位都是独立的,可以分开计算

    进一步地,可以考虑每个数出现了多少次,最后再统计一遍即可

    于是对着(nle 2)的有(?)但没括号的部分分写了一通奇怪(dp)

    此时已经过去两个小时,到手的部分分有(60)

    然后开始看(T3)

    肯定是先找规律嘛

    不难发现如果数列(f)满足

    [f_1=0,f_2=1\ f_n=(f_{n-1}+f_{n-2})mod m(nge 3) ]

    那么

    [F_n=(af_{n}+bf_{n+1})mod m(nge 1) ]

    那么根据题意,即

    [frac{f_{n+1}}{f_n}equiv -frac abpmod m ]

    就在此时,我错误地认为(f_n)的循环节是(mathcal O(m^2))(实际上这是根据抽屉原理而来的理论最坏情况),导致我认为此路不通,其他方法也想不出来,最后只好写个暴力走人,期望得分(20)

    回来看(T1)

    还是没什么想法,那就从最简单的情况(())入手吧。这种情况就是两条同类型的括号边连向同一个点,不算太难

    然后考虑如果在两旁加括号,其实就是将合法路径的两端缩成一个点以后又出现上述情况,维护较为方便

    但是对(()())的情况我却一筹莫展,最后还是写了个暴力走人,自以为有(32)pts

    然后就一顿检查,最后就结束了

    考场预估:(32)+(60)+(20)=112

    考后

    最终得分:(16)+(75)+(20)=111,超过铜牌分数线(41)分,离银牌分数线差(7)

    感觉还是有些遗憾吧

    其实每道题的思路和正解都挺接近的,只是似乎自己功力还是欠那么一点

    例如(T1),如果考虑到集合内的任意两点可以互达,那么直接用并查集维护,同时启发式合并,就可以解决此题

    倒是(T2),感觉和正解的想法有些距离

    (T3)的话,后来发现循环节长度是(mathcal O(m))的,常数似乎不超过(4),那不是可以至少多拿(20)

    因此总结如下

    • 如果自己不好估计的东西,可以直接拿电脑计算一波,不要总是以最坏情况估计
    • 不要轻易地放弃某个想法,毕竟如果它就是正解呢?当然了,过于执着于一个想法也是不可取的,这个度需要自己好好体会和把控

    小结

    (NOIP)(WC)过了两个月,在这两个月中,在将文化课补回来的同时,也学习了一些知识点,比如多项式等等,也做了些题目,感觉还是有所提高。

    仍然需要做题。把之前的(PPT)再多看看,将上面的例题都尽量做(当然这是很困难的)。另外,也可以打打(CF)上的一些比赛,找找感觉。

    NO PAIN NO GAIN
  • 相关阅读:
    vue中Axios的封装和API接口的管理
    如何配置Webpack/Vue-CLI实现前端跨域(附跨域大全)
    前端面试几个重要知识点
    js常用函数
    JS中的枚举和不可枚举
    可配置性属性和不可配置性属性
    Object.create()和深拷贝
    JavaScript 中 call()、apply()、bind() 的用法
    从深入到通俗:Object.prototype.toString.call()
    js原生实现三级联动下拉菜单
  • 原文地址:https://www.cnblogs.com/zmyzmy/p/14392501.html
Copyright © 2011-2022 走看看