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

  • 相关阅读:
    编写安全检测脚本
    编写监控脚本
    编写一键部署软件脚本
    awk扩展应用
    sed基本用法
    字符串截取及切割,正则表达式,expect预期交互
    For,while,case,shell循环结构
    mybatis使用associaton进行分步查询
    mybatis中封装结果集常见示例
    Mybatis获取数据库自增主键
  • 原文地址:https://www.cnblogs.com/Gkeng/p/12871448.html
Copyright © 2011-2022 走看看