• APIO2022 游记


    这个赛季连寄三场了,咋办??????????????????

    更好的阅读体验

    Day 0

    djq 讲课,听不懂。

    cxr 讲课,听不懂。

    快乐 mc。

    Day 1

    早上得知可以自由访问互联网,只要不拷贝代码,震撼。

    问教练教练不清楚,还是不敢上网(

    开题,扫了一眼三道题都看上去不会做。

    T1 有点没看懂,T2 感觉是科技题,于是先想 T3。

    90+1e18,很快想出了一个 \(2\log n\) 的倍增构造,交上去有 91.36 分,比较满足,就换题了。

    T2 瞪了一会儿,只会 30 分。想了一下 60 分感觉巨大分讨,于是写完暴力后丢在一边了。

    不知道为什么就过去很久了,还只有一点点分,很自闭。

    想 T1 的时候脑子很晕,理了很久才理清楚要干啥,很快就有了一个 14 分的暴力做法,压一手。

    重新想了想 T3,在长度模 8 等于 2 时不会做,而且分也不是很多,就放弃了。

    仔细分析了一下 T1 感觉很像插头 dp,发现自己还没学过插头 dp,尝试编一编。

    过了一会儿,编出了个字符串长度 \(8n+C\) 的做法,大概就是首先把答案差分成点数减去保留成树后的边数,每一轮只关心右下角的字符串(其他位置维护其下面一列或右边一行的所有 01 值),用这个位置维护下面一列,右边一行的 01 值,再维护下连通关系就好了。(注意要把连续的 1 需要看成一段,否则常数翻倍)

    一开始连通关系想着类似去年 THUSC T4 用贝尔数/卡特兰数双射,后来想起来以前喵过一眼插头 dp,有个叫括号序列的东西,自己编了编就编出来了。

    这东西很容易优化到 \(4n+C\),只要把右下角维护的向下向右的信息放到其左边和上面维护就好了。

    于是先写 44 分,写着写着感觉巨大恶心,强忍着弃考的冲动在结束前 12 分钟写完了。

    然后没调过样例,爆蛋了。

    真好。

    下午+晚上不快乐 mc。

  • 相关阅读:
    Docker
    Oracle-----RAC重启步骤 RAC管理(crs_stat、crsctl、srvctl)
    kubernetes 设备插件
    golang signal.Notify 信号,如何优雅的退出
    golang 通过fsnotify监控文件
    Golang中基础的命令行模块urfave/cli的用法说明
    fatal: unable to access 'xxx': Encountered end of file
    client-go 和 golang 源码中的技巧
    Golang之wait.Until 简单测试用例
    go viper 库
  • 原文地址:https://www.cnblogs.com/xiaoziyao/p/16321891.html
Copyright © 2020-2023  润新知