#10 [AH2017/HNOI2017]大佬

Posted yinwuxiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#10 [AH2017/HNOI2017]大佬相关的知识,希望对你有一定的参考价值。

题解:

题意看上去挺复杂的

分析一下就能发现自己的自信是没啥用的

只要随便dp一下看看最多能有多少天不使用增加自信

然后问题就变成了

求C1+C2+k=C

然后发现C有10^8

显然枚举C1是不行的了

那么考虑到满足条件的C1,C2应该不会太多

可以考虑先把它们搞出来

这个只需要hash+bfs就可以了

令f[i][j]表示当前生成了前i个数,其中伤害是j,要使用的最少天数

然后发现伤害j最后只有6e5左右

首先放大招如果0,1次的话就乱搞,下面考虑两次的

一个比较暴力的方法就是

先枚举k (1---100) 然后再枚举C1

这样是6e5*100*20 有点高吧

考虑一下不去枚举k

我们设两次伤害分别为x1,x2

那么要满足x1+x2<=CC

另外,d[x1]+d[x2]+(c-x1-x2)>=D

对于第二个式子 写成 (d[x1]-x1)+(d[x2]-x2)>=D-CC

然后就维护一下最小值就好了

我并不是很理解网上为什么有人叫做单调队列。。。它的取值范围是只增不减的啊。。

以上是关于#10 [AH2017/HNOI2017]大佬的主要内容,如果未能解决你的问题,请参考以下文章

P3723 [AH2017/HNOI2017]礼物(FFT)

BZOJ4827:[AH2017/HNOI2017]礼物——题解

luogu3723 [AH2017/HNOI2017]礼物 NTT

[AH/HNOI2017]大佬

FFT/NTT/FMT/FWT题目

FFT/NTT/FMT/FWT题目