我还没有退役

发个博客证明自己还活着

2018-05-06 15:01:11

阅读数:12

评论数:0

BZOJ[1713][Usaco2007 China]The Bovine Accordion and Banjo Orchestra 音乐会 二维斜率优化

传送门ber~ 首先iii越大jjj越大 所以dp,fi,jfi,jf_{i,j}表示aiaia_i和bjbjb_j配的最大获利 所以有fi,j=max{ft,k−(sbj−1−sbk)2−(sai−1−sat)2}fi,j=max{ft,k−(sbj−1−sbk)2−(sai−1−sat)...

2018-03-30 09:14:48

阅读数:28

评论数:0

BZOJ[1911][Apio2010]特别行动队 斜率优化

传送门ber~ fi=max{fj+a(si−sj)2+b∗(si−sj)+c}fi=max{fj+a(si−sj)2+b∗(si−sj)+c}f_i=max\{f_j+a(s_i-s_j)^2+b*(s_i-s_j)+c\} 若ttt比kkk优,即 ft+as2t−2asist−bst&a...

2018-03-28 14:21:02

阅读数:13

评论数:0

BZOJ[1597][Usaco2008 Mar]土地购买 斜率优化

传送门ber~ 首先按xxx为第一关键字,yyy为第二关键字,将没有贡献的矩形(xi<xj,yi<yj,i<jxi<xj,yi<yj,i<jx_ixxx递增,yyy...

2018-03-28 10:12:59

阅读数:16

评论数:0

BZOJ[3159]决战 LCT

传送门ber~ 只有前四个操作的话就是LCT裸题了 链翻转不也是LCT的基本操作吗…. 等等,翻转的是权值? 正常的翻转改的是各个点的深度,位置与权值的对应关系并没有改变 那么我们可以考虑维护两棵LCT,一棵维护形态,一棵维护位置 翻转其中一个就相当于改变了对应关系 说的不是很明白的...

2018-03-28 08:01:20

阅读数:15

评论数:0

BZOJ[3675][Apio2014]序列分割 斜率优化dp

传送门ber~ 感谢Orz大佬的斜率优化讲解 因为得分跟顺序无关,所以可以dp 令fi,jfi,jf_{i,j}表示第iii次在jjj处分割的最大得分,sisis_i为∑j=1j≤iaj∑j=1j≤iaj\sum \limits _{j=1}^{j\le i} a_j ,则有 fi,j=m...

2018-03-28 07:22:37

阅读数:27

评论数:0

BZOJ[2780][Spoj]8093 Sevenk Love Oimaster 后缀数组

传送门ber~ 此题精神AC(UPD 3.28:觉得不服,SPOJ交了一发0.13s A了) SAM水题,但是我不会SAM 将所有串串在一起,对这个大串求SA 对于每一个模式串,能匹配的都是在rk意义上连续的一段 二分出这一段的左右端点 现在要做的就是统计这段区间有多少不同的颜色 ...

2018-03-26 13:51:54

阅读数:26

评论数:0

BZOJ[4516][Sdoi2016]生成魔咒 后缀数组+ST表+线段树

传送门ber~ 首先感谢Sinogi大佬的耐心讲解及代码 题意就是每次加一个字符,统计本质不同的子串数量 正向添加字符不好做,考虑反着删字符 在正常情况下,删掉位置iii的一个字符会减少iii个子串(∑j<=ij=1sj...i∑j=1j<=is...

2018-03-25 22:52:43

阅读数:13

评论数:0

BZOJ[3238][Ahoi2013]差异 后缀数组+单调栈

传送门ber~ 题目大意:求∑1≤i<j≤nlen(Suffixi)+len(Suffixj)−2∗LCP(Suffixi,Suffixj)∑1≤i<j≤nlen(Suffixi)+len(Suffixj)−2∗LCP(Suffixi,Suffi...

2018-03-24 11:05:25

阅读数:14

评论数:0

BZOJ[4259]残缺的字符串 FFT

传送门ber~ 同BZOJ[4503] 不同的是在前面再乘一个fi+jfi+jf_{i+j}就可以了 代码如下: #include<algorithm> #include<cstring> #inclu...

2018-03-16 07:47:13

阅读数:30

评论数:0

BZOJ[4503]两个串 FFT

传送门ber~ 构造个函数numi=∑len2−1j=0(fi+j−gj)2numi=∑j=0len2−1(fi+j−gj)2num_i=\sum_{j=0}^{len2-1} (f_{i+j}-g_j)^2,当一个位置的numnumnum为0,就代表可以匹配 那么通配符怎么搞? 在前面乘一...

2018-03-15 20:30:41

阅读数:21

评论数:0

BZOJ[3771]Triple 生成函数+容斥原理

传送门ber~ 构造出原序列的生成函数AAA,它的三次方就是损失的方案数 可惜题目要求方案互不相同,这样计算会有重复的方案出现 那我们可以容斥一发 令AAA表示所有物品选一个的生成函数,BBB表示一次选俩的生成函数,CCC表示一次选仨的生成函数 手动容斥一发 拿一个的方案数:AAA ...

2018-03-13 16:00:49

阅读数:22

评论数:0

FFT算法讲解——麻麻我终于会FFT了!

FFT——快速傅里叶变换 这块不写东西空荡荡的,我决定还是把FFT的定义给贴上吧 FFT(Fast Fourier Transformation)是离散傅氏变换(DFT)的快速算法。即为快速傅氏变换。它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。 ...

2018-03-12 17:15:19

阅读数:284

评论数:0

BZOJ[2588]Count on a tree 主席树

传送门ber~ 每个点到根这一段区间建一棵主席树 那么两点x,yx,yx,y之间的信息可以表示为sumx+sumy−sumLCA(x,y)−sumfa[LCA(x,y)]sumx+sumy−sumLCA(x,y)−sumfa[LCA(x,y)]sum_x+sum_y-sum_{LCA(x,y)...

2018-03-12 10:18:55

阅读数:26

评论数:1

BZOJ[3509][CodeChef] COUNTARI 分块+FFT

传送门ber~ 因为A[k]−A[j]=A[j]−A[i]A[k]−A[j]=A[j]−A[i]A[k]-A[j]=A[j]-A[i],即2Aj=Ak+Ai2Aj=Ak+Ai2A_j=A_k+A_i 所以我们可以对每个位置的左右分别搞一个生成函数,卷积起来统计2Aj2Aj2A_j次项的系数就可...

2018-03-12 07:49:43

阅读数:30

评论数:0

BZOJ[2827]千山鸟飞绝 线段树

传送门ber~ 一个点跑到一个集合里,不止对自己有影响,也对这个集合中的所有东西有影响 一个一个改显然会炸 不妨打上修改标记,离散化后对每个点开个线段树,有东西加入时打上标记就好了 指针版不写内存回收MLE。。。麻麻我终于会写内存回收啦! 代码如下: #include&...

2018-03-08 16:49:00

阅读数:28

评论数:0

BZOJ[3075][Usaco2013]Necklace AC自动机+dp

传送门ber~ 要让B不是A的子串,换句话说,就是不让A匹配到头(跑到AC自动机的最下面) 令fi,jfi,jf_{i,j}表示串上的位置iii匹配到树上的结点jjj最大长度(A串前iii个字符中最多选多少个字符正好匹配到节点jjj) 每步可走可不走,走的话就+1,不走就直接转移 注意不能...

2018-03-08 10:14:27

阅读数:17

评论数:0

BZOJ[3289]Mato的文件管理 莫队+树状数组

传送门ber~ 区间逆序对数? 因为可以离线,所以考虑莫队 四种情况分别考虑,用树状数组维护即可(见代码) 代码如下: #include<algorithm> #include<ctype.h> #i...

2018-03-08 10:06:25

阅读数:16

评论数:0

BZOJ[1691][Usaco2007 Dec]挑剔的美食家 贪心+Splay

传送门ber~ 先都按价格排序 从小到大枚举稻草,同时将价格小于他的牛记录一下(被记录的都满足价格够了) 然后找这个稻草鲜嫩度的前驱(可以相等)(这个草能满足的最大的鲜嫩度) 用Splay就可以了 代码如下: #include<algorithm&...

2018-03-08 10:02:44

阅读数:15

评论数:0

BZOJ[3992][SDOI2015]序列统计 生成函数+NTT

传送门ber~ 首先了解一下指标 看我瞎bb也可以 因为原根ggg满足gi,gj(i,j∈(1,MOD−1),i≠j)gi,gj(i,j∈(1,MOD−1),i≠j)g^i,g^j(i,j\in (1,MOD-1),i\neq j)互不相同 则可以给每个数iii定义一个指标indiindi...

2018-03-08 09:11:00

阅读数:37

评论数:0

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