zoukankan      html  css  js  c++  java
  • 省选模拟2

    A.铁轨建设

      考场上打了插头$DP$,妄想不A也有七八十分,然而数据把插头$dp$卡的很死,所以就只剩45了。

      正解网络流,类似无限之环,将每个点拆成四个方向,只要建图保证关键点建直路费用为1,其他费用为0即可,然后跑费用流就可以得到答案。

    B.圈地游戏

      考场以为是网络流,然后伪了。

      正解是最短路树?没看懂。

    C.组合数学

      题解上来一个题意转化就看蒙了:

      共有n种球,每种球有$a_{i}$个,按照顺序标号,那么枚举n的排列,要求对于每种球,1号球必须在同种球的最前面,1号球的排列与枚举的排列相同。

      这样我们可以拟合出前缀和的效果,然而和题目中给的式子还是有所不同,多除掉了一项前缀和。

      那么可以继续转化:如果不要求最后一种球的1号球在同种球的最前面,那么排列的方案数就是题中所给的式子。

      考虑枚举最后一种球是哪种,设这种球第一次出现的位置是$pos$,这种球为$last$

      那么设$f_{i}$表示至少i种球放到了$last$后面,这个东西二项式反演就可以得到合法方案数了。

      有:

      $f_{i}=frac{(t+a_{last}-1!}{Pi b}*inom{m-pos}{t+a_{last}-1}*frac{(m-t-a_{last})!}{Pi c}$

      其中$b$表示放在$last$后面的球的集合,$c$表示放在前面的球的集合。

      发现这个东西只和两部分球的个数有关,打个背包就完了。

  • 相关阅读:
    [DDCTF 2019]homebrew event loop
    [极客大挑战 2019]FinalSQL
    $[HAOI2008]$硬币购物
    $2018/8/19 = Day5$学习笔记 + 杂题整理
    $2018/8/16 = Day2$学习笔记$+$杂题整理
    [NOIp2009] $Hankson$の趣味题
    2018清北学堂夏日培训游记
    2.数组的声明和创建
    1.什么是数组?
    15.递归
  • 原文地址:https://www.cnblogs.com/hzoi-cbx/p/12093724.html
Copyright © 2011-2022 走看看