4576: [Usaco2016 Open]262144

直接放聊天记录了...

Tgotp 2018/5/5 21:37:43

令f[i][j]表示

Tgotp 2018/5/5 21:37:55

第i个位置构成j需要几个位置

Tgotp 2018/5/5 21:38:07

首先

Tgotp 2018/5/5 21:38:10

你要知道一点

Tgotp 2018/5/5 21:38:14

极限情况

Tgotp 2018/5/5 21:38:27

对于一个位置

Tgotp 2018/5/5 21:38:33

只会合成log次

Tgotp 2018/5/5 21:38:39

就是整个序列合并
21:38:49
Tgotp 2018/5/5 21:38:49

也就是说

Tgotp 2018/5/5 21:38:55

答案最大是mx + log n

Tgotp 2018/5/5 21:39:01

也就是不超过60

李镰江 2018/5/5 21:39:17

emmm  堆

李镰江 2018/5/5 21:39:18

李镰江 2018/5/5 21:39:20

Tgotp 2018/5/5 21:39:47

你合成一定是连续的一段

Tgotp 2018/5/5 21:39:57

所以你想构成x+1

Tgotp 2018/5/5 21:40:07

他前面的那个数必须也是x

Tgotp 2018/5/5 21:40:13

所以看能不能构成

Tgotp 2018/5/5 21:40:27

能的话看他是由几个连续位置构成

Tgotp 2018/5/5 21:40:32

然后再往前跑

Tgotp 2018/5/5 21:40:42

而且每次操作不超过log n次

Tgotp 2018/5/5 21:40:46

所以时间能赶上

c++代码如下:

 

 

2018年5月5日 0 / /
Tag: 

8 + 9 =