zoukankan      html  css  js  c++  java
  • 7.15 ZROI-DAY2 模拟赛

    7.15 ZROI-DAY2 模拟赛

    比赛历程

    早上起的比较晚,于是拿了两个蛋挞随手塞了一个蛋糕就进去了。

    开题之后感觉有些难。实际上每次模拟赛遇到难题,如果不是休息非常充足,思考的过程中就会犯困,见简单的来说放弃了思考。

    然后我就困了,想着延续上一场的策略,想了好久的T1,想了点假做法,实现时发现其实根本不会,感觉有点完蛋,T2看上去是字符串,还子串子串的,肯定是SAM!然后我就敲了个SAM板子上去,然后我就呆滞了,想暴力也想不到,菜。下边去看T3,发现题目非常的绕,由于被前两道题搞得神志不清,所以有些抵触。这个时候是两个多小时,旁边ztw已经过了小数据了,那看来T3还是可做的?于是徘徊了好久终于还是开始写T3,写了会儿发现这个模拟还是OK的。最后一小时猜想有没有循环节,然后尝试实现了一把,最后还是没有调出来,感觉有点糟糕。结果上期望得分只有30....

    赛后发现

    ​ 最后抱玲了。

    ​ 下午代老师的讲课果然也没听懂。但是看题解的感觉是,没有什么陌生的算法的样子,每道题都有自己的搞法。当然T2也是个数据结构,后缀树其实没写过。

    技术总结

    T1

    ​ 正解写的挺,妙的。。但我还没懂。

    T2

    ​ 建好后缀树上之后在后缀树上处理一些东西。也没懂。

    T3

    ​ 我非常想说我懂了,不过感觉没有领会到精髓,这种思维模型转化题就没会做过。想象一条线,每次经过一个横线就上翻,每次经过一共竖线就右翻,假设a>b,那么每次至少右翻(leftlfloordfrac{a}{b} ight floor)次,然后上翻一次。那么可以把他们结合在一起,类似欧几里得算法的,每次处理这么多右翻和一次上翻,类似矩阵的快速幂,这个也可以快速幂,就是方向指针和指针上的cnt多做几次这样子,然后让a%=b,缩小数据规模,这个时候一定是b大,那么先上翻再右翻即可,最后剩下来的那个没有变成1的,比如说gcd(a,b)做下来,b!=1,那么就做(b-1)次up操作让他下来,复杂度就是欧几里得算法的复杂度再乘一个log。

  • 相关阅读:
    IntelliJ IDEA更新maven依赖包
    PHP运行出现Notice
    JetBrains CLion
    SQL中GROUP BY的使用
    LCA 总结
    HAProxy:第三方包及编译安装
    nginx之升级openssl及自定义nginx版本
    nginx之http反向代理多台服务器
    nginx之rewrite相关功能
    nginx之rewrite及防盗链
  • 原文地址:https://www.cnblogs.com/mikuo/p/15021483.html
Copyright © 2011-2022 走看看