• 2016 Multi-university training contest


    day 1

    A

    给G<V,e(in)E>,w(e)1M(diff),|V|100K,|E|1M,求

    • MST
    • MST上任意两点间距离的期望

    显然MST唯一

    E(dis(u,v))可以通过计算每条边的贡献加出来

    B

    n个并行游戏,每个游戏都在一个1x20的棋盘上有20个不可区分的棋子,两人轮流,每人可以选择一个棋子往右跳到棋盘上第一个空点,不能走就输了.求胜负.

    状压SG,O(n×20+2^20).

    每个点的扩展点个数$le(20所以sg值)le$20,那么可以用bit trick来完成mex.具体的就是

    typedef unsigned int MO;
    MO mex(vector<MO>&z){
        MO x=0;
        for(auto y:z)
            x|=y;
        return (~x)&(x+1);
    }
    

    C

    n×m棋盘上放一些障碍,且障碍格8联通区域与同行/同列都没有障碍,求棋盘无障碍点距离期望.

    首先x轴y轴分开扫描线,然后考虑一下遇到障碍点绕弯的情况.

    似乎细节很多且卡常.

    D

    给序列|a|100K, 100K询问给l,r求

    • gcd(a[l::r])
    • gcd(a[u::v])==x(u(le)v)组数

    第一问很简单,线段树/ST表.

    第二问很简单,你可以预处理:选定u,

    • Step 1: v=u
    • Step 2A: GG=gcd(a[u::v])
    • Step 2B: 找最大的v'使gcd(a[u::v'])=GG,加入答案
    • Step 2C: v=v'+1
    • Step 2D: if v>n break; else goto 2A.

    对每个u最多循环log(u)次(因为每次的GG都是上次的约数).

    E

    有N($le$9)个黑节点N个白节点,要求连接成一个环,其中一些白节点如果和一些黑节点相邻那么它会造成1的损失,求损失最少的方案(任意一组).

    枚举黑节点的顺序,然后跑二分图最大权匹配.

    F

    F(m,n)=sum(i:1->m,(phi)(i*n))其中(phi)就是那个欧拉函数.

    G(k)=k(k(k(...k))) mod 10^9+7

    dzy loves math 4和《上帝与集合的正确用法》的无机结合.

    G

    有n×m(n,m$le$10)的网格,在网格中间加入一些斜杠使网格不能被扭曲.斜杠不能相交.

    首先,一个格子中有两种摆斜杠的方法,它们的作用是等价的.

    考虑一些显然正确的事情:这个网格不管怎么扭曲中间的方格也只能是菱形,是平行四边形.那么我们考虑一条横杠的作用,是让加入横杠方格一列上所有的横边和一行上的所有竖边垂直.

    那么我们要让这个网格形态固定,一定是让所有的横竖边都相互垂直.那么我们可以自然的将行列建点,构造二分图,每加一条横杠就是让对应行和列连一条边.最终我们要使这个二分图联通.

    设f[i][j][k]为左边i个点右边j个点总共k条边的方案数,可以自然的列DP方程(容斥一下).最后乘系数,求和.这个DP还是非常经典的.

    H

    将n($le$100K)个数的序列染色,每个数只被染一次,染一段长度为k的区间有a_k种方案,求总方案数(模313).

    设A[i]为染了前i个的方案数,A[0]=1,则A[j]=sum(i:0->j,a[j-i]k_i).这个式子是一个典型的分治FFT式子.

    I

    用1×2多米诺骨牌铺满n×m(n,m$le$16)网格的方案数.

    轮廓线DP,打一分钟的表.

    (存在伪多项式算法:http://www.math.cmu.edu/~bwsulliv/domino-tilings.pdf)

  • 相关阅读:
    Webpack2 那些路径
    Nginx alias 和 root配置
    前端代码监控
    Class和构造函数的异同
    Async和await
    如何在git中删除指定的文件和目录
    微信小程序数字转化条形码和二维码
    vue 结合swiper插件实现广告公告上下滚动的效果
    vue2.0 结合better-scroll 实现下拉加载
    FormData对象提交表单和form提交表单
  • 原文地址:https://www.cnblogs.com/tmzbot/p/5692915.html
Copyright © 2020-2023  润新知