• 20220726NOI模拟赛--考后总结


    时间安排

    7:30–7:35 读题。

    7:35–8:00 T1, n ≤ 1 0 5 n\leq 10^5 n105 的部分可以整除分块,分离一下贡献的系数就可以差分做。对于 100 p t s 100pts 100pts 暂时没什么想法,也许可以拓展也许不能。

    8:00–8:30 T2, Q = 0 Q=0 Q=0 直接模拟。暂时不知道 n ≤ 1 0 4 n\leq 10^4 n104 有什么用。

    8:30–9:00 T3, n ≤ 100 , m ≤ 100 n\leq 100,m\leq 100 n100,m100 可以直接背包。对于 n ≤ 100 , m ≤ 1 0 9 n\leq 100,m\leq 10^9 n100,m109 可以考虑维护模 n n n 意义下的剩余系,这样也许就能直接做了。

    9:00–10:00 T3,发现如果看成剩余系多重背包,那么对于每个元素是一个 C m x + C m x + n + C m x + n + n + . . . C_m^x+C_m^{x+n}+C_m^{x+n+n}+... Cmx+Cmx+n+Cmx+n+n+... 的东西,这玩意我不会求。

    10:00–12:20 T2,发现对于一个新加的数,它的贡献就是以它为端点与最大值相加的和。那么就要支持维护出每个点开头的k元素的答案,这玩意不好动态维护,貌似还要支持撤销。

    12:20–12:30 最后十分钟忽然意识到T3 的 30pts只要用多项式循环卷积倍增一下就行了。自闭了。

    回顾&反思

    T1: 沉迷分块,没有找到贡献的关系,不然只要二维数点一下就行了。做题还是要及时跳出来,不要陷入死胡同。

    T2: 性质想到了,但没想到线段树分治,也没想到怎么支持撤销。 luogu题解竟然直接用vector存原状态暴力撤销真简单粗暴,虽然说空间复杂度几乎不对,这种神奇撤销方式get到了。

    T3: 一直在想怎么解决组合数的问题,直到比赛结束前10min才意识到每个背包等价,可以倍增卷积。

  • 相关阅读:
    pytest简介及jenkins集成
    从0到一开发微信小程序(2)——开发第一个小程序
    【EMC专题】案例:PCB走线参考平面不完整导致辐射超标
    hadoop伪分布模式配置
    计算机毕业设计(附源码)python圆梦酒店管理系统
    公共事业管理概论复习题
    Flutter 作为谷歌的开源框架到底有何可取之处?我们又该如何学习?
    java面试强基(16)
    UE5 敌人血条
    NOI1995:石子合并
  • 原文地址:https://blog.csdn.net/Cafarde/article/details/126002700