• SDOI刷题记录


    集训快完了才开坑是不是有点迟。。。

    SDOI2017

    R1真的多SB题……

    R1D1

    序列计数,容斥一下把总方案数减去没有质数的,可以直接DP,矩乘优化。
    tag:DP,矩乘

    树点涂色,可以写树剖但是会异常麻烦,也可以 LCT 做,修改操作一看就是 access 。
    按 dfn 序扔到序列上,线段树维护一下到根的虚边条数,也就是答案。
    注意 access 的过程中每次将虚边实边换的时候,Splay 中的右儿子并非真正的右儿子,需要访问一下右侧的 Splay 找深度最浅的一个点。
    tag:LCT(?)

    数字表格,简单莫反?
    tag:数论

    R1D2

    新生舞会,二分答案,套路地将 \(b\) 减到 \(a\) 里,求二分图最大权匹配即可。
    偷懒写了费用流没有写KM,GMOJ辣鸡机子跑不过。
    tag:分数规划,二分图最大权匹配

    硬币游戏,PGF 经典题(bushi
    用 AC 自动机或者 hash 求出字符串之间的类似border的东西,根据 PGF 简单推导可以得到一个方程组,直接高斯消元。
    tag:hash,PGF

    相关分析,线段树维护区间和、区间平方和。
    tag:数据结构

    R2D1

    龙与地下城,强烈鄙视为啥会有这种题,强行考数学,跳过了以后再看。
    tag:期望,Simpson积分

    苹果树(看了题解来胡一下明天写)(写完了这是真的难调)
    先把\(i\) 则必须取 \(i\) 的父亲这一条件处理一下,
    考虑拆点,将一个正常点拆成取一个取大于一个,这样的树形结构还是不变的。
    这一做法有什么好处?
    方便考虑条件 \(t-h \le k\) ,也就是最长链是免费的。
    这样做可以使最长链不需要额外枚举链上所用代价。
    可以DP处理出 \(f_{i,j}\)\(i\) 点子树内用了 \(j\) 代价的最大答案,
    先不考虑 DP 的维护,为了方便查询,我们想把要求的区间弄成前缀和的形式,
    玩一下图会发现,如果记录出栈顺序,则一条路径左侧的节点都会早于该路径,
    那么也可以反过来搞定右侧的。
    在这种顺序下,其实子树内的数仍是在连续的区间内的,于是转移也变得非常简单,非常 simple 的单调队列优化一下?
    注意不要开longlong!!!根本没必要,不要看错数据范围!!!
    tag:DP(?)

    切树游戏:
    不太想写这种题。。。。
    考虑如果没有修改,只有多次询问怎么做?
    显然不能直接暴力,又由于 \(k\) 是每次询问给出,一个直接的想法就是 DP ,直接把 \(k\) 所有情况的答案一起算出来。
    \(f_{i,j}\)\(i\) 的子树内的异或和为 \(j\) 的方案数,树形 DP 可做,复杂度为 \(O(nk)\)
    但这里带修。。。DDP?
    直接用矩阵乘法并不现实, \(O(n k^3)\) 的复杂度就已经承受不起了,更何况带上线段树的 \(\log\)
    转移的形式为是下标做 \(xor\) 运算的,可以想到 FWT ,相当于先将原本一个点能提供的只有两个项的多项式 FWT,转移时把众多儿子的DP数组直接点乘然后乘上自己的,最后求答案的时候再逆运算回来。

    这样还是不能直接乘的,因为要联通(
    琢磨一下,发现一个点处的 DP 数组只能由 儿子们合并来的\(xor\)自己一个\(0\) 组成。这样写就是不需要矩乘的,每次乘了之后加上一个 \(0\) 的 FWT 数组,并不影响结合律。
    树剖是 \(O(\log^2 n)\) 的搞不定,那就用 \(O(\log n)\) 的 LCT (忽略大常数)。

    不写不写,这种题有什么好写的

  • 相关阅读:
    机器学习基石笔记12——机器可以怎样学习(4)
    机器学习基石笔记11——机器可以怎样学习(3)
    机器学习基石笔记10——机器可以怎样学习(2)
    机器学习基石笔记9——机器可以怎样学习(1)
    机器学习基石笔记8——为什么机器可以学习(4)
    机器学习基石笔记7——为什么机器可以学习(3)
    转)C++中extern “C”含义深层探索
    CNN图像定位与物体探测_七月算法5月深度学习班第6次课程笔记
    Python 学习之Virtualenv
    电脑使用小技巧
  • 原文地址:https://www.cnblogs.com/Kelvin2005/p/16092336.html
Copyright © 2020-2023  润新知