zoukankan      html  css  js  c++  java
  • POI 10.28

    [POI2015]KUR

    不考虑构造原串再匹配

    考虑开始位置满足什么条件才能匹配。

    显然,开始位置确定,后面的字符都确定了。

    而且,a,n互质,所以必然能遍历n的剩余系,从不同位置开始,初始的a*s+b mod n的值互不相同。

    设初始点为s,x=a*s+b mod n

    由上分析可知,s,x一 一对应。

    x开始的第i位就是:x+(i-1)*b % n

    如果满足条件,对于m位中的每一位,

    如果m这一位是0,有:x+(i-1)*b mod n<p

    否则有p<=x+(i-1)*b mod n <n

    于是有了m个方程。

    对于每个方程的合法的解x,都唯一对应一个出发的匹配点s

    所以,方程的解数就是答案。

    其实不等式比较好解,每个不等式的合法值是一个区间,最多两段。

    但是,由于每个不等式的解可能分两段,取交并不方便。

    所以,转化为每个不等式不合法的解,对这些区间取并即可。

    [POI2006]ORK-Ploughing

    贪心题。

    肯定要选择以行为主或者以列为主。另外一种操作就要尽可能少。

    以以列为主进行讲解:(以行为主同理)

    要使行操作尽可能少。

    所以,能左、右消就左右消。

    都不行?上下消。

    但是先消上还是先消下?不知道。

    我们还可以有O(n)的时间。

    可以枚举规定消上面最多几次。那么,上面次数一定,必然要使得下面次数消的少。

    所以,消的优先级:左右、上、下

    能消则消。

    因为上面能消的话,总共有上限,所以也就消那么几行,先消肯定比后消不劣。

    一定可以处理到最优解。

    【Luogu3444】ORK-Ploughing(贪心)

  • 相关阅读:
    普通锁和分布式锁
    java 正则表达式
    java 字符串转date 格式转换
    消息中间件 kafka
    数据的存储方式:对象存储、文件存储、块存储
    Exceptional Control Flow(6)
    Exceptional Control Flow(5)
    Exceptional Control Flow(4)
    Exceptional Control Flow(3)
    Exceptional Control Flow(2)
  • 原文地址:https://www.cnblogs.com/Miracevin/p/9866687.html
Copyright © 2011-2022 走看看