zoukankan      html  css  js  c++  java
  • 暑假集训8-11

    集训过得真的很快,转眼间已经只剩一个星期了

    然而最近就是状态不好,颓

    上午考试透心凉,教练十分不满意现在的状况(感觉说的听像我的)

    也是,要是这样下去到NOIP还用什么拿省一

    今天开题先码了T1暴力+特判5分,然后看T2似乎是个树规

    发现K==1的情况就是之前做过的小胖受皇宫的模型,于是弄了个dp

    然后试图扩展到K<=20的情况,状态转移方程不太好写(其实像之前熟练剖分似的树规),又整耗了两个小时,没调出来

    赶紧把T3的部分分拿了(一时慌张忽略了m==1的特殊情况),暴力dfs

    最后T2仍然没出来,于是T1 65分 T2 45分 T3 12分 rk23

    讲评的时候还有点懵T2竟然可以贪心(不过确实有dp过的,比我的简洁多了)

    这回败在T2上了,不该死杠一题

    T1

    本来一个$N*M$的矩阵的子矩阵是$N^4$级别的,不过子矩阵之间明显有重叠

    矩阵内的和能被K整除 $<=>$ 矩阵内的和$mod K == 0$(余数是0)

    那么如果两个包含关系的矩阵的余数相等,那么他们之间的矩阵余数一定为0(前缀和可加)

    要是枚举左右端点,再枚举两个行,仍然是$N^4$的

    这时候用到桶了,可以统计余数一定的矩阵的数量,之后出现一个新矩阵(前缀和),直接查询桶中与此余数相同的矩阵的数量,降到$N^3$

    T2

    贪心:一个小分队要发挥最大效用,最好多覆盖一些点;对于叶子点,它被一个距离不超过K的父亲小队覆盖,为了不浪费这个小队,这个小队在能覆盖叶子的情况下应尽量再多覆盖一些点,于是把它放到离叶子恰好距离K处,不断给已覆盖的点染色,对剩下没染色的点重复以上操作最后得到最优解

    关于dp:最后我的dp改到了65分,其实是错的dp(我只设定了 点被距离$j$远的父亲覆盖 的状态,忽略了兄弟之间的影响)

     

  • 相关阅读:
    uniapp数据循环带参数拼接方法
    UniApp页面跳转
    layui表单提交时关闭默认刷新页面
    js计时器
    Jquery 鼠标移入移出事件
    jquery常用ajax请求
    易宝网上支付接口的实现
    不使用缓存和不同缓存下程序的效率测试
    Mysql常见指令--常用的命令
    PHP冒泡与快速排序法
  • 原文地址:https://www.cnblogs.com/Duan-Yue/p/11336907.html
Copyright © 2011-2022 走看看