zoukankan      html  css  js  c++  java
  • 口胡题集

    AFO在即的年迈的(Mychael)由于体力懒惰原因,对于部分懒得动手的题目,就堆砌在这里啦
    省一点精力与时间


    hdu5896&5552
    就是要求(n)个点带环无向图个数
    补集转化,用无向图总数减去森林个数
    无向图总数是(2^{{n choose 2}})很好办
    森林总数显然就要(dp)
    (f[i])(i)个点森林的个数
    枚举(1)号点所在树的大小,又由于(n)个点的树有(n^{n - 2})
    所以

    [egin{aligned} f[i] &= sumlimits_{i = 1}^{n} {n - 1 choose i - 1} i^{i - 2} f[n - i] \ &= (n - 1)! sumlimits_{i = 1}^{n} frac{i^{i - 2}}{(i - 1)!} imes frac{f[n - i]}{(n - i)!} end{aligned} ]

    分治(NTT)即可


    CF932E Team Work
    和BZOJ5093是一样的
    利用(n^k = sumlimits_{i = 0}^{n}egin{Bmatrix} k \ i end{Bmatrix} {n choose i}i!)化式子
    最后预处理出第二类斯特林数即可
    什么?你问这个式子怎么来的?
    考虑(k)个位置涂(n)种颜色的方案为(n^k)
    我们枚举涂了几种颜色,即可得出右式
    题解


    BZOJ4754
    由这题听说了一种树(hash)的方式
    对于一个节点,将其子树递归求出(hash)值,然后将(hash)值排序,作为该根节点的(hash)元素再求一次(hash),同时也要加入根节点的(hash)值【每个节点(hash)值相同】
    对于一棵树,我们企图对所有节点为根求出(hash)
    我们只需对任意节点为根求一次(hash)值,剩余的点可以(O(1))求出
    对于该点相邻的节点,我们找到该点向根求(hash)时到该点时的(hash)值,再结合最终的(hash)值可以计算出去掉该子树后的(hash)值,从而实现根的转移

    对于这题,只需求出以(B)每个叶子为根的(hash)值,对于同一个(hash)值选择编号小的叶子记录,然后求出(A)每个节点为根的(hash)值,再向上接一个节点求出新的(hash)值,再从(B)中查表更新答案
    复杂度是加上排序的(O(nlogn))
    感觉以后有必要实现一下


    BZOJ4386
    数据巨小,而是有向图路径计数,可以想到邻接矩阵的次幂
    二分一下答案,我们需要求的是小于等于某个值的路径数
    如果只考虑(1)的边,我们新加一个点作为计数器,所有点向它连边,它连自环
    如果加入(2)(3)的边,就拆点,每个点拆出(2)(3)对应的点
    复杂度(O((3n)^3logK))

  • 相关阅读:
    ASP.NET Core 问题排查:Request.EnableRewind 后第一次读取不到 Request.Body
    解决 AutoMapper ProjectTo 不起作用的问题
    解决 ASP.NET Core 自定义错误页面对 Middleware 异常无效的问题
    ASP.NET Core 从 gitlab-ci 环境变量读取配置
    终于解决 xUnit.net 测试中无法输出到控制台的问题
    ASP.NET Core 新建线程中使用依赖注入的问题
    前端回顾:2016年 JavaScript 之星
    前端工程师和设计师必读文章推荐【系列三十五】
    AsciiMorph
    Notyf
  • 原文地址:https://www.cnblogs.com/Mychael/p/9184678.html
Copyright © 2011-2022 走看看