Tgotp的博客

蒟蒻...

5372: [Pkusc2018]神仙的游戏

这题务必用fft写,反正ntt我bzoj一直tle,loj 8s 做这题首先要知道一个性质,如果选取长度为len的串,那么该串可行,一定满足不存在一对 01,其距离相差len (X而不是一开始我想的类似 另外一个fft的题… 那么如果存在一对01其距离差为len,那么对于所有k|len的串都...

2018-06-10 21:01:17

阅读数:105

评论数:0

4237: 稻草人

考虑两个点x,yx,yx,y不能构成一个合法方案, 必须满足对于存在点zzz 满足 a[x].x<a[z].x<a[y].xa[x].x<a[z].x<a[y].x a[x].x < a[z...

2018-06-01 09:01:36

阅读数:70

评论数:0

2811: [Apio2012]Guard

花了一天时间颓废这道题(颓废才是重点。。。) 贪心的想,从左望右,对于可以放的位置,放在最后一定能得到最优解,反之亦然 那么先考虑处理掉所有0的区间,然后离散化。 然后处理出对于每个区间最少花多少代价处理出来。(前缀 ,后缀) 那么容易想到,如果离散化后只有k个点,那么直接输出答案即可。 ...

2018-05-21 21:53:45

阅读数:32

评论数:0

3569: DZY Loves Chinese II

三倍经验… 这个给边随机化我似乎在那里见过? …大概就是给边分为树边和非树边,非树边的值是随机的,树边的边是子树的非树边的异或和 然后线性基搞一搞就好了 c++代码如下: #include<bits/stdc++.h> #define rep(...

2018-05-08 19:54:30

阅读数:24

评论数:0

5312: 冒险

题解:链接 c++代码如下: #include<bits/stdc++.h> #define rep(i,x,y) for(register int i = x ;i <= y; ++ i) #define repd(i,x,y...

2018-05-08 10:43:38

阅读数:108

评论数:0

5313: 新Fib数列

很明显在%5的意义下只会有 0 1 2 3 4 这几个取值 且由于fib数列由前两项推出,那么很显然打个表就行了,,, c++代码如下: #define rep(i,x,y) for(register int i = x; i <= y; ++ i) using n...

2018-05-07 20:59:21

阅读数:100

评论数:0

2396: 神奇的矩阵

一开始想了个fft 时间复杂度O(t∗n2log n2)O(t∗n2log n2) O( t * n^2 log\ {n^2}) 应该超时了… 然后看了题解… 随机化… c++代码如下: #include<bit...

2018-05-07 09:34:17

阅读数:26

评论数:0

3670: [Noi2014]动物园

仔细看完题以后,发现肯定和kmp有关,先搞出 next 数组 然后发现答案就是某一个next < i/2时的值 但是这个样子的话极限情况时n^2,发现瓶颈在于找next,然后考虑倍增一下就出来了. 注意卡常 c++代码如下: #include&l...

2018-05-05 16:25:42

阅读数:19

评论数:0

3083: 遥远的国度

唔,没初始化 wa了一次… 思路很一眼。 就是说 考虑 树剖 如果 查询点是首都的祖先,那么查询点构成的子树就是 整个树除了 查询点包含 首都的儿子以外所有点。 那么 知道一个子树在树剖上是连续一段区间, 即 现在需要求 出 包含首都的那棵子树的根, 用类似倍增lca的方法即可。 对于...

2018-05-05 09:48:05

阅读数:32

评论数:0

2435: [Noi2011]道路修建

普…普及组? 读完题以后我感觉我是不是读错题了…. 然后发现真的是水题… 按题目所说的模拟就好了… 一遍dfs搞定 c++代码如下: #include<bits/stdc++.h> #define rep(i,x,y) for(registe...

2018-05-05 08:31:33

阅读数:25

评论数:0

4241: 历史研究

回滚莫队 … 就是说对于这题来说,添加容易,但是删除困难,那么就不考虑删除,即把左右端点分别放在块的两边,中间的是可以直接处理出来,然后块中的暴力更新,完了以后再变更为更新前的状态即可. 复杂度O(nn‾√)O(nn)O(n\sqrt {n}) c++代码如下: #include&...

2018-05-04 09:19:59

阅读数:27

评论数:0

2654: tree

容易想到,对于 当前这个图,如果要得到恰好need条边,且边权和最小, 那么就要控制白边在生成图中的数量…那么想到如果给所有白边加一个值, 跑克鲁斯卡尔的话白边数量就会变化,那么考虑二分即可。 c++代码如下: #include<bits/stdc++.h&a...

2018-05-03 18:26:56

阅读数:19

评论数:0

3790: 神奇项链

容易发现,处理回文串的时候得到的答案是可以去更新答案的, 即 令 f[i]f[i]f[i] 表示处理前 iii 个最小由几个回文串构成, 那么,对于第iii个位置,他由 [i−p[i],n][i−p[i],n][i-p[i],n]能更新的就是 前 [1,i+p[i]−1][1,i+p[i]−1...

2018-05-03 11:43:30

阅读数:26

评论数:0

5301: [Cqoi2018]异或序列

看完题,容易想到把求一段区间改成求 前r的异或和 ^ 前l-1的异或和 等于k, 那么这个东西发现可以直接用莫队统计,没了. c++代码如下: #include<bits/stdc++.h> #define rep(i,x,y) for(regis...

2018-05-03 07:18:50

阅读数:43

评论数:0

4898: [Apio2017]商旅

发现实际上把每个物品提出来做最短路后,可以转化为一个在图中求 最小的 ∑w∑time∑w∑time\frac{\sum{w}}{\sum{time}} 的环 上面那东西就是个01规划搞搞就行了,然后最小环直接套floyd即可 c++代码如下: #include<bit...

2018-05-02 20:58:18

阅读数:62

评论数:0

3726: PA2014Final Wykladzina

暂时的 rk1 看到题目发现很像 棋盘制作 。 稍加变形, 令 lll表示不包含 ## \# 且所在列包含一个 ## \# 最长向左延伸多少 令 rrr表示不包含 ## \# 且所在列包含一个 ## \# 最长向右延伸多少 令 l1l1l1表示不包含 ## \# 且所在列不...

2018-05-02 11:27:56

阅读数:17

评论数:0

2186: [Sdoi2008]沙拉公主的困惑

答案为n!m!∗m!∗(primei−1primei)(mod p)n!m!∗m!∗(primei−1primei)(mod p) \frac{n!}{m!}*m!*(\frac{prime_i-1}{prime_i}) (mod\ p) 那么...

2018-05-01 17:01:15

阅读数:44

评论数:0

2257: [Jsoi2009]瓶子和燃料

普及组的题也开始做不来了… 一开始傻逼了,去写了个假算法… 后来才发现,直接用map统计每个数的因数不就好了… c++代码如下: #include<bits/stdc++.h> #define rep(i,x,y) for(register ...

2018-04-28 11:00:34

阅读数:26

评论数:0

3771: Triple

考虑三个多项式 a b ca b c a \ b \ c 令 aa a 表示选取一个相同的方案数 令 bb b 表示选取两个相同的方案数 令 cc c 表示选取三个相同的方案数 ...

2018-04-26 11:50:23

阅读数:38

评论数:0

2763: [JLOI2011]飞行路线

应该没啥说的,跑一遍spfa即可 c++代码如下: #include<bits/stdc++.h> #define rep(i,x,y) for(register int i = x; i <= y; ++ i) #define...

2018-04-24 11:08:56

阅读数:58

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭