zoukankan      html  css  js  c++  java
  • 08-09 NOIP模拟测试15

    期望得分:60+100+10

    实际得分:60+100+10

    终于把自己的期望得分拿满了唔。


    A. 建设城市(city)

    简化题意:n个桶,m个小球,把所有小球放到桶里,每个桶中的小球个数只能是[1,k]。

    很像《那一天我们许下的约定》,那题也需要求类似每次增加[1,m]的答案。

    但那题除去不给饼干的天后最多只有n为2000天,$Theta(N^2)$ dp可做。

    $dp[i][j]= sumlimits dp[i-1][l]   j-k leq l leq j-1$

    之后用组合数求解所有D天。

    然而这题的n很大,dp不可做。

    于是更加优秀的算法出现了:怎么学也学不会,怎么想也想不到的腊鸡容斥

    我们先不管k的上限,先保证n个点都放上至少1个,应用挡板法。

    把m个小球线性排布,有m-1个空,因为要分成n个区间,所以有n-1个挡板。所以有 $C_{m-1}^{n-1}$

    考虑荣斥掉不合法的。

    至少有一个不合法:先从m个中拿出k个,然后把剩下的m-k个分到每个桶里(保证每个桶里至少有1个),还是挡板法。然后再把k个球加进某个桶里,这样就使至少那1个桶不合法。

    至少i个同理。然后奇减偶加就可以扣掉所有不合法的。

    还有一个一直以来的zz误区。

    组合数不一定要用Lucas哇,Lucas只是能帮你在n m很大不可打表而p可做的时候降低打表范围添加logp复杂度的哇。


    B. 轰炸行动(bomb)

    这题我纠结了好久的直接还是间接连通,两个都想了下,觉得直接的结论太扯了,于是开始打间接。

    不难发现是在求最长链,对于scc,直接缩掉记录siz不影响。

    然后反图拓扑即可,即只有我更新完全才能够更新别人。

     


    C. 石头剪刀布(rps)

  • 相关阅读:
    js在html中的加载执行顺序
    外部JS的阻塞下载
    mysql 中文字段排序
    PHP 多维数组排序 array_multisort()
    最简单的Linux下apache+mysql+php安装
    [TJOI2008] 彩灯 (线性基)
    [洛谷P2257] YY的GCD (莫比乌斯反演)
    [SDOI2015] 约数个数和 (莫比乌斯反演)
    [POI2007] ZAP-Queries (莫比乌斯反演)
    [NOI2003] 文本编辑器 (splay)
  • 原文地址:https://www.cnblogs.com/hzoi-yzh/p/11328567.html
Copyright © 2011-2022 走看看