T1的暴力死掉了。。。。。。

T3大众分。。。。。。

T2打了几个小表,发现了一些规律,成功yy出了$O(nlogalogn)$的暴力,拿到了73pts,弥补了爆炸的T1。

T1.

  考场上看了看,遥远的国度。由于我没做过,感觉硬刚可能GG,于是先放了。

  然而最后打了40pts暴力爆零了。。。。

  正解其实很简单,考虑当前根与原根的关系,讨论一下就好了。

T2.

  由于两个log,50w的数据范围,很大的优化空间,我果断地走向了暴力的道路。

  这题如果强制在线,我的方法应该就是正解了。

  思想很简单,我并没有转化题意,所以从一个完全不同的角度去考虑:

  某一个数,除非它是目前最小的,那么它必然在某一时刻会被$f[x-1][y-1]$更新,并且从此之后一直被它更新。

  那么,我们可以发现,这两项的差成为了定值,为$a[y]$。

  而在它被上一列更新之前,就会一直被自己的前一项更新,以等差数列的形式增长。

  那么我们要求某一项$f[x][y]$值的时候,就可以一直去找它的$f[x-1][y-1]$项,直到这一项已经是等差数列的形式,然后求出当前项,递推回去即可。

  我们考虑如何确定当前项已经是等差数列。显然我们可以预处理出来,对于每个$a[y]$,它到第几项不再是等差数列。(l[x])

  我们考虑怎么预处理。二分答案,对于每一个二分的值,我们假设当前仍然是等差数列,比较它与$f[x-1][y-1]+a[y]$的大小,若小于,说明当前项由上一列更新更优,不再是等差数列。

  下一个问题是,如何求出$f[x-1][y-1]$的值。由于之前的数我们已经将它何时不再成为等差数列处理了出来,所以我们需要找到第一个成为等差数列的位置。

  继续二分答案,查询区间中最大的$l[x]$是否能被这个数利用。

  我们可以用ST表来实现$O(1)$查询,每次求出一个$l[x]$,在ST表末尾加入它即可。

  询问直接调用之前的求值函数即可。

  代码实现很简单,而且这大概是在线的唯一做法了。

  理论复杂度爆了,所以加了一些减枝,卡了卡常,A掉了。

  正解是将所有操作离线,维护一个下凸包,在凸包上三分。

  也许可以算自己A掉的A组题?

T3.

  母函数,NTT。

csps51(a)的更多相关文章

随机推荐

  1. Scala 学习笔记之集合(9) 集合常用操作汇总

    object CollectionDemo10 { def main(args: Array[String]): Unit = { var ls = List[Int](1, 2, 3) //向后增加 ...

  2. for循环用腻了,试试列表生成式。

    在编写程序或者查看别人的程序时,经常会遇到列表生成式,这个使用起来并不复杂,但是非常有用,使我们的代码更加简洁灵活.很多python使用者并不太会使用它.今天,就给大家详细讲解列表生成式和生成器表达式 ...

  3. Mysql Hash索引和B-Tree索引区别(Comparison of B-Tree and Hash Indexes)

    上篇文章中说道,Mysql中的Btree索引和Hash索引的区别,没做展开描述,今天有空,上Mysql官方文档找到了相关答案,看完之后,针对两者的区别做如下总结: 引用维基百科上的描述,来解释一下这两 ...

  4. bullet物理引擎与OpenGL结合 导入3D模型进行碰撞检测 以及画三角网格的坑

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11681069.html 一.初始化世界以及模型 /// 冲突配置包含内存的默认设置,冲突设置. ...

  5. Kubernetes中的PV和PVC是啥

    K8S引入了一组叫作Persistent Volume Claim(PVC)和Persistent Volume(PV)的API对象,大大降低了用户声明和使用持久化Volume的门槛. 在Pod的Vo ...

  6. e课表项目第二次冲刺周期第二天

    昨天干了什么? 昨天与我们小组的成员商量了一个重大的决定,确定了我们转型发展的主题,简要的设计了我们软件要实现的功能,并且完成了首导航栏的设计,和一部分框架的内容填充. 今天干了什么? 我们组今天通过 ...

  7. 了解一下Spring中用了哪些设计模式?这样回答面试官才稳

    一:简单工厂模式 又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一. 简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类. ...

  8. NOIP_TG

    本博客主要记录一些在刷题的途中遇到的一些巧妙的题目 砝码称重 一开始想到可以DP递推标记能凑成的数量 但发现同一种砝码可能有多个于是想多开一维状态存当前还剩多少砝码 真是愚蠢至极 直接把所有砝码单独看 ...

  9. 动态扩容lvm逻辑卷的操作记录

    在进行动态扩容LVM逻辑卷的之前,先看这篇文章:https://www.cnblogs.com/huhyoung/p/9689776.html.以下是我实操记录. 在上班期间,测试经理突然找我,能不能 ...

  10. Web安全之url跳转漏洞及bypass总结

    0x01 成因 对于URL跳转的实现一般会有几种实现方式: META标签内跳转 javascript跳转 header头跳转 通过以GET或者POST的方式接收将要跳转的URL,然后通过上面的几种方式 ...