zoukankan      html  css  js  c++  java
  • 「疫期颓废」1

    396E
    暴力的做法就是枚举每个质数,检查是否有次数,有就减一然后对(p-1)分解分到其他的小质数上去
    发现如果次数很大,那每一次循环都在做相同的事,直接用乘法来加速一下,循环改成迭代
    通过参考这个博客的代码https://blog.csdn.net/zbr162/article/details/95928056
    在检测到次数和剩余轮数都还很多的时候,直接把这么多(t)轮一并进行,但是这是把未来的事一下子做了,可能出现下一轮迭代时这里没有次数可用的情况
    但实际上次数是一个一个减少的,这个位置本来应该分解掉一个次数,这个次数是在之前的t轮中用的,所以此时不应该再削减left,因为还没有到达t轮以后
    感觉上就像一开始给一个栈压t个元素,然后SOS[I]记录的是栈的size...SOS[I]>0说明这一轮这个位置的left在之前减过了现在不该减
    说白了还是模拟暴力的过程...吧

    但是其实有个更简单的想法就是
    20轮之后(p-1)到p的道路都已经打通
    之后每个p的次数是否唯一是有单调性的了...
    连续的长度>k的有贡献

    573E
    加入一个数的贡献是前边数的数量*ai+这个数后边的ai和,是可以分块维护的
    有一个显然的结论是靠后权值还小的位置肯定后选
    贪心策略,每次选取能产生最大贡献的数
    具体证明可以考虑最终的最优解集合,当前位置可以代替离他最近的一个位置,对其他未加入的数的影响相同,但局部更优
    需要考虑利用"此位置当前贡献最大"的条件和贡献的计算方法来推导


    356E
    可能成为美丽串的区间数是O(nlog)
    考虑每个可能成为的串 对 改法 的贡献
    每个区间的贡献只有两种,本来就是美丽串那么修改外面,或者只需修改一个字符就变成(另一个)美丽串
    第一种直接处理,第二种hash处理,复杂度都比较低

    516E

    考试题,首先对每个%gcd的余数分别讨论

    然后同性之间可以建图,如果i号女生开心,那么n天后j号女生会见到同一个男生而开心

    形成一个环,删掉一些点,求最短路的最大值


    497E

    看数据范围是矩乘的样子,那么要设计一个点数为O(k)的自动机

    接下来有点不明白zhangyu的意思..

    设计自动机状态为 下一个想要的数为x的子序列数量

    考虑如何求,可以设计为T[I][J]表示以J*K^I为开头长度为K^I的区间的矩阵

    每一层的矩阵都是下一层一个区间的矩阵的成绩,故处理前缀和

    但是一个串在这个自动机上怎么跑......好像没有一个确定的路径的样子?

    (中午我把zhangyu的程序拿下来跑一下再研究一番눈_눈)

    上午一直在迷惑总的子序列数是怎么转移来的现在我懂了

    是在"得到了想要的字符"之后,给[0,k)和k处代表的总量都加上这一位的值

    表示加了个字符后得到了一个新的子序列了

    576E

    离线线段树分治,由于一条边生效的区间全在这个操作之后

    按顺序遍历子节点并且动态往分治结构里扔区间就行

  • 相关阅读:
    解决GOOGLE不能用的办法
    Elmah错误日志工具
    Linq 更改主键值
    qcow2、raw、vmdk等镜像格式
    Ceph相关博客、网站(256篇OpenStack博客)
    Delphi中inherited问题
    Qt qss一些伪装态,以及margin与padding区别
    Qt双缓冲机制:实现一个简单的绘图工具(纯代码实现)
    写出一篇好博文需要用到的工具
    最短路径启蒙题
  • 原文地址:https://www.cnblogs.com/yxsplayxs/p/12778651.html
Copyright © 2011-2022 走看看