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)

  • 相关阅读:
    毕业3年在北京买房,他是怎么赚钱攒钱的?
    Windows Server 2008 如何在IIS中添加MIME类型
    IIS下无法访问.ini后缀文件
    新的一年,我们如何才能收获满满,不留太多遗憾呢?
    你百分之九十九的问题都是因为懒
    为什么你容许陌生人成功,却无法忍受身边人发达
    堆排序
    计数排序
    直接插入排序
    冒泡排序
  • 原文地址:https://www.cnblogs.com/hzoi-yzh/p/11328567.html
Copyright © 2011-2022 走看看