zoukankan      html  css  js  c++  java
  • 「考试」省选82

    T1
    博弈论+分类讨论。
    首先单个连通块的胜负情况由其点数决定,是个必然(Bob)胜利,否则(Alan)胜利。
    证明:
    一个点的时候(Alan)胜利。
    两个点的时候(Bob)胜利。
    奇数点的时候必然可以找到叶子的父亲让(Alan)将其覆盖,这样的话最后一个一定是(Alan)放置的。
    如果(Bob)切树,必然有一个连通块是奇数个,那么最终会递归到(1)的情况。
    考虑一个(geq 4)的长度为偶数的链,(Alan)占据一个端点的时候,(Bob)必然占据其旁边的一个点。
    链相当于去掉了(3)个点,递归到奇数情况,(Alan)胜利。
    非链情况考虑必然存在一个点是最深的分叉点,如果有一个儿子并非叶子,那么必然可以染色这个儿子包含的叶子,这样子就可以使得(Bob)染色其父亲,这样相当于去掉了三个点,递归到奇数情况,(Alan)胜利。
    如果其所有儿子都是叶子,那么占据这个点,(Bob)必然选择某一个叶子,这时候总有一个儿子只能被(Alan)染色,(Alan)胜利。
    所以我们只需要考虑树上是否存在一个完美匹配。

    T2
    枚举一个维度。
    剩下的部分变成了动态二维矩形并。
    不太好搞。
    但是发现矩形的左下角都是(1,1),这下简单了。
    直接用(set)二分求出修改和查询的范围,就可以维护了。
    蒟蒻写的是线段树,一样的做法。

    T3
    直接上生成函数大暴力了。
    答案可以表示为:(frac{ans}{K^n})
    那么计数的生成函数变成:

    [[1,L],F(x)=sumlimits_{i=0}^{+infty}frac{i^Fx^i}{i!} ]

    [[L+1,K],G(x)=sumlimits_{i=0}^{+infty}frac{(K-L)^ix^i}{i!} ]

    稍微用斯特林数展开一下就可以得到更加好算的式子。
    (e^{x})展开后的情况来算系数,发现要乘(n^{underline{n-i}}),这样的话我们只需要做长度为(P)的卷积的(L)次幂了。

  • 相关阅读:
    程序员的出路在哪里
    基于.NET平台常用的框架整理
    Asp.Net MVC WebApi2 自动生成帮助文档
    Jquery操作select选项集合,判断集合中是否存在option
    C#三种判断数据库中取出的字段值是否为空(NULL) 的方法
    未能加载文件或程序集“XX.XXX.Web”或它的某一个依赖项。试图加载格式不正确的程序
    网页设计制作面试题(1)
    HTML5 Canvas 画纸飞机组件
    HTML5 Canvas 画虚线组件
    C# 根据域名获取IP地址
  • 原文地址:https://www.cnblogs.com/Lrefrain/p/12797360.html
Copyright © 2011-2022 走看看