zoukankan      html  css  js  c++  java
  • NOIO 题目选做

    感觉 NOIO 里的厉害题还挺多的,如果退役失败的话还是要做一下

    P6189

    你跟我说这是入门组????那我算什么

    一眼的 70pts 的 nt dp。

    \(dp_{i,j}\) 前 i 个数 和为 j 的方案数。本质是个完全背包

    采取根号分治的思想

    \(g_{i,j}\) 表示用了 i 个大于等于 T 的数和为 j 的方案数,那么 \(g_{i,j} = g_{i-1,j-m}+g_{i,j-i}\)

    前者表示拆分序列中增加一个 m,后者表示把当前拆分序列每个数都加上 1。可以发现对于任意一个子序列是可以任意组合的。所以我们最后只需要乘法原理统计答案即可。

    \(\rm link\)

    P6187

    观察可以发现一个环可以被拆成若干部分,而每一部分相对独立。样例解释有提示了我们只需要将数字分配的尽量不平均即可。然后只需要把所有权值排个序从大到小开始贪心即可。

    \(\rm link\)

    P6570

    随便分析一下发现一个子序列最多只有 17 个数,我们可以直接考虑一个复杂度是 \(O(3^n)\) 状压 dp。然后还真的能过,有更厉害的 \(O(n2^n)\) 的集合幂级数做法可惜我不会。

    \(\rm link\)

    P7473

    这个题我考场上做过,但是没做出来。

    考虑分析一下两个球只会在某个障碍物旁边停下来,考虑到最多只有 250 个障碍物,我们可以抽象出一个 dp 来 \(\rm dp[x,5,y,5]\) 表示第一个球在 \(x\) 号障碍物的某个方向,另一个球在 \(y\) 号障碍物的某个方向。

    共计会有 \(O(n^2)\) 个状态,哦大概就是枚举终点然后做一个多源 bfs 即可非常厉害

    我口胡的没有代码。

  • 相关阅读:
    scrapy的自动限速(AutoThrottle)扩展
    js可以控制文件上传的速度吗?
    用DataReader 分页与几种传统的分页方法的比较
    jdbc分页查询
    几种分页方式分析.
    mybatis下的分页,支持所有的数据库
    java 物理分页和逻辑分页
    IBatis的分页研究
    JDBC分页
    用Java实现异构数据库的高效通用分页查询功能
  • 原文地址:https://www.cnblogs.com/-Iris-/p/15579367.html
Copyright © 2011-2022 走看看