zoukankan      html  css  js  c++  java
  • 2.28考试

    上来通读一遍题目。T3好像做过吧,好像挺麻烦的,老师可能会换题,那就先放放吧。
    听从建议,先看部分分。
    T1想了半天,想出了一个貌似正确的做法,写了之后发现过不了样例,输出路径发现做法根本是错的,写了一个暴力扔一边了。
    T2从小的部分分开始看,20分的搜,20分是NIM,10分+10分判一下1就好。写完调完发现9点半了,T3没时间了,感觉T2也想不出来了,去码T3.
    T3先写了一个保稳的manacher,有30分,之后写后缀数组+记忆化搜索。11点多过了自己出的样例。
    估分:30+50+100=180;
    得分:20+60+90=170;
    不要问我为什么前2题估分不准,我也不知道怎么就看错2个题的数据范围,结果补起来就一样了……
    T3保稳的manacher数组开小了,挂了10分。

    题解:
    T1:倍增floyd??
    预处理矩阵的21,22,...2m转移(2m<=n),这个题似乎不满足二分性,但只要加一条i->i d=0的边就好了。
    倍增,从大到小用floyd并起来,如果有f[i][i]<0就不加上这一位,同时返回原状态。没有就加上。
    同时加的时候需要判断(ans+2^i)是否大于n。
    最终答案是ans+1.如果ans+1==n,说明不可能出负环。

    T2:阶梯NIM游戏
    可以看成一层一层,子节点选了相当于给父节点解锁,相当于子节点拿出来扩大了b[i]倍然后扔给了父亲。由于选的个数任意,所以扩大没有影响。
    (num[i]=a[i]-sum_v {a[v]*b[v]})
    如果b[i]为0,这棵子树不会对上层产生贡献,必须把这棵子树提出来单独处理。
    于是d^=num[i] (dep[i]%21)
    d
    0 后手必胜,否则先手必胜。

    T3:做过,记忆化搜索和转成欧拉图搞都可过,时间复杂度差不多,都是(O(sum_{i=1}^n{L}))的。不说了。

  • 相关阅读:
    NOI 模拟赛
    bzoj 4998 星球联盟
    bzoj 4545 DQS 的 Trie
    loj #161 子集卷积
    bzoj 5093 图的价值
    bzoj 4299 Codechef FRBSUM
    NOI 模拟赛
    WC2018 州区划分
    CSP 2020 T2 动物园
    CSP 2020 T1 儒略日
  • 原文地址:https://www.cnblogs.com/hzoi-wangxh/p/8485861.html
Copyright © 2011-2022 走看看