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

    T1:
    神奇的构造
    考虑设串(s_i)中所有1位置的下标之和为(w_i)
    那么两种变换方式相当于:
    A:(w_i+x*k)
    B:(w_i+1)
    可以得到:(x*k equiv 1mod n)
    因此n与k互质是解存在的必要条件

    若互质,考虑求出k的逆元p
    对于串(s_i),令(pi,p(i+1),p(i+2)...,p(i+k-1))处为1
    显然两两不同
    对于A操作,只需要令x=p即可
    对于B操作,因为(pi+1=frac{i}{k}+1=frac{k+(i+1)-1}{k}=p[(i+1)+k-1]),所以只需将(pi)右移一位即可

    T2:
    又是神奇构造???(大概吧)
    首先在每个串后加一个极大字符
    然后考虑对每个串s拆成(x^y+z)的形式,其中x不是z的前缀,且(x^{infty}<s),且最短
    按照x升序,z降序来排
    因为最优策略一定是首先尽量多的加入x,然后如果加完之后再加入z会更优,一定会选择最小的z加入

    T3:
    打怪兽模型(树上)
    对每一个连通块设计一个pair(sum,max)
    表示当前拥有的钱数大于等于max时可以获得这个块,而获得这个块后会得到sum的收益(母矿收益为(infty))
    通过分类讨论定义pair之间的优劣关系,再重载加号表示合并
    然后最初将每个点作为一个块放入平衡树中,不断取出最优的块与其父亲合并
    最后的ans就是根节点的max

  • 相关阅读:
    问题2017S03
    问题2017S02
    高等代数问题1
    无穷积分换元法的严格解释
    线性空间的同构理论
    问题2017S01
    朴素贝叶斯分类
    决策树
    温习MATLAB
    感知机
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12871448.html
Copyright © 2011-2022 走看看