zoukankan      html  css  js  c++  java
  • 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,记忆化搜什么的。。。
    不会的题可以打暴力。。。或者说,我们可以先打暴力,然后打表找规律
    要看准题,不然会浪费大量时间的。

    转载需注明出处。
  • 相关阅读:
    图像和流媒体 -- 帧率、分辨率、码流的概念和关系(转)
    Linux设备驱动(转)
    STM32开发 -- 4G模块开发详解(转)
    Linux下EC20实现ppp拨号(转)
    使用机智云APP控制战舰V3 (转)
    USB Host读取U盘成功
    FreeModbus在STM32上移植(转)
    处理分页操作
    HBase参数配置及说明(转)
    学习JNDI
  • 原文地址:https://www.cnblogs.com/jz929/p/12670114.html
Copyright © 2011-2022 走看看