20190905-钴

钪钛钒铬锰,铁钴镍铜锌。

考前要冷静,考试中要多想,考试完要看氮(不过我觉得第一二点做到了第三条就不用管了)

考试过程

看到三个题,恩,

简单的XX

(**,一定不简单)

于是看:

T1

是区间的问题,

T2

$Theta(1)$左右的柿子题

T3

可能是$dp$

于是做:

先做T2

马上有了柿子?

现在还是$Theta(M)$的.  qwq

验证了一下,可以过三个样例。

但是问题就又出在约分上。

如果要约分就没有办法取模。

问题转化为:

求某连乘对$2$约分后的值。

可以计算出分子中的因子$2$的数量$log M$

然后先取模运算,最后搞个逆元

目前:可过$10^7$左右(目标:$10^{18}$

现在就是要全力去优化两个环节:

  1. 快速求解出因子$2$的数量
  2. 快速求出一个连乘

所以现在可以用$Theta(log^2 M)$的复杂度求因子了。

用了一个小时了,先去看T1了

T1

先来个暴力。

如果要整除的话……没想法

也许可以记一个余数,然后乱搞

暴力也应该要$N^2$的

不敢分块了QwQ(每次分都爆)

各种数据结构在大脑中瑰丽华尔兹。

T3

好像上一次的T1

一个单调不下降的序列啊……

先预处理出每个数最前面和最后面的位置。

但是发现情况过多不好分析,

开始$Dp$。

但是时间不太够,

于是写成了 puts("-1") 自动机

但是还是骗了10分。

结果 - Result

13
Miemeng 30
03:16:12
50
03:16:27
10
03:19:42
90
03:19:42

T2的$mod$写锅了,于是$WA$了两个点。

原文地址:https://www.cnblogs.com/kalginamiemeng/p/Exam20190905.html