• 2020.04.08【NOIP提高组】模拟A 组 总结


    估分:(100 + 0 + 30 = 130)
    考场:(100 + 0 + 10 = 110)
    (PS)(T2)的样例(10)分我竟然没拿。。。)

    (T1)

    线段树搞搞即可。

    (T2)

    不会,打了个神奇(样例都错了)的并查集,(WA0)
    正解也是个并查集,我是对于当前点,合并其儿子以及儿子的儿子。
    我们可以认定当前点的其中一个儿子作为并查集的这些点的根,然后合并,并将它连向每个儿子的儿子,并将其他儿子的边删去。
    这样我们可以不停地合并合并再合并。最后扫一遍,对于根没有值的就赋(++tot),这样扫一遍就是答案了。

    (T3)

    打了个暴力,将(n)拆成若干个环求(lcm),结果没有想到(DP)。。。
    我们可以把题目转化成,把(n)分成若干个数,求这些数的(lcm)的不同值的和。
    我们可以设(f[i][j])表示到了第(i)个质数,用了(j)个位置的(K)的和。
    这样:(f[i][j]=f[i-1][j-pri[i]^k]*pri[i]^k(1<=k)&&(pri[i]^k<=j))
    对于当前质数(pri[i]),我们可以加入一个(pri[i]^k)长度的环,那(lcm)就要乘以(pri[i]^k)
    这是01背包,就是我们只能选择一种来转,不然lcm就是最大的那个长度的环(对于当前质数(pri[i])),不合法。

    总结

    对于暴力,可以尝试转化,例如转化成DP,记忆化搜什么的。。。
    不会的题可以打暴力。。。或者说,我们可以先打暴力,然后打表找规律
    要看准题,不然会浪费大量时间的。

    转载需注明出处。
  • 相关阅读:
    docker容器的基本操作
    python3 Softmax函数
    变量命名 函数命名 方法 Naming cheatsheet
    [操作系统]LINUX进程状态说明
    Pytorch Linear ()简单推导
    [ubuntu18.04 python3.6] 清华源 CondaHTTPError: HTTP 000 CONNECTION
    /proc/meminfo 解释
    神经网络 CNN 名词解释
    C++ 运行时多态
    Rust 与 Windows 的字符串编码问题
  • 原文地址:https://www.cnblogs.com/jz929/p/12670114.html
Copyright © 2020-2023  润新知