自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

forever_shi的博客

但行好事,莫问前程;行你所行,无问西东! AFO (现在是ACMer)

  • 博客(35)
  • 收藏
  • 关注

原创 AGC001 E BBQ Hard 组合数 dp

题目链接链接是洛谷有翻译的。题意:你有nnn个数对(ai,bi)(a_i,b_i)(ai​,bi​),求∑i=1n∑j=i+1nCai+bi+aj+bjai+aj\sum_{i=1}^n\sum_{j=i+1}^nC_{a_i+b_i+a_j+b_j}^{a_i+a_j}∑i=1n​∑j=i+1n​Cai​+bi​+aj​+bj​ai​+aj​​。n<=200000,ai,bi...

2018-12-29 19:09:47 206

原创 BZOJ4770 图样 dp 期望 打表

题目链接题意:给你一个nnn个点的完全图,每个点的点权是[0,2m)[0,2^m)[0,2m)之间的一个随机整数,两点之间的边的权值是两点点权的异或值,求最小生成树的边权和的期望。对258280327(质数)取模,n<=50,m<=8n<=50,m<=8n<=50,m<=8题解:一道好题!才不会说虽然我想不出来,但是我不...

2018-12-29 09:21:44 428

原创 洛谷5038 BZOJ2756 SCOI2012 奇怪的游戏 二分 网络流

题目链接题意:多组询问,每次给你一个n∗mn*mn∗m的矩阵,每个位置有一个数值,每次可以给相邻(四连通)的两个格子同时加上一个数,问你最少用多少次操作把所有的数都变成同一个数,如果不能输出-1。n,m<40,t<=10n,m<40,t<=10n,m<40,t<=10题解:我们考虑每次把相邻的两个数字加上1这个事,我们发现...

2018-12-25 20:31:08 187

原创 洛谷4178 BZOJ1468 tree 点分治

题目链接题意:给你一棵nnn个点的树,求树上长度不超过kkk的路径数。n<=40000n<=40000n<=40000题解:一看到这种处理树上路径的问题,经常是往点分治方面去想。这个题我们考虑点分治,然后在每个分治重心处计算子树里路径对答案的贡献。计算的方法是,你先求出子树里的所有路径的长度,然后排序一遍,用一个类似双指针的东西扫一遍,对于每个左端点,合法...

2018-12-25 11:54:09 161

原创 洛谷4149 BZO2599 IOI2011 race 点分治

题目链接题意:给你一棵nnn个点的树,边有边权,求树上长度为kkk的路径至少要经过几条边,如果没有符合条件的路径,输出-1。n<=2e5,k<=1e6n<=2e5,k<=1e6n<=2e5,k<=1e6题解:首先感谢DT_Kang的帮助!DT_Kang大佬帮我调了这个题,并且给我指出了我之前的点分治的复杂度都有问题,写的都...

2018-12-24 21:06:39 178

原创 洛谷4886 快递员 点分治

题目链接题意:给你一棵n个点的树,有m个点对,你要在树上找一个点x,使得对于所有的点对(u,v),dis(x,u)+dis(x,v)最小,输出这个最小值。n,m<=100000题解:感觉之前点分治学得不好,所以最近想补一下。这个题其实那道题想过点分治,但是好像并不满足分治常见的子问题结构,就没想好怎么处理。看了题解之后觉得还是挺妙的。首先我们考虑暴力的话是枚举每一个点,然后以这个...

2018-12-23 21:29:12 182

原创 洛谷4307 BZOJ1449 JSOI2009 球队收益 费用流 凸费用拆边

题目链接题意:有nnn支球队,每只球队会有一个赢一场和输一场获得的钱数,第iii只球队得到的钱数是Ci×x2+Di×y2,Di≤CiC_i\times x^2+D_i \times y^2,D_i \le C_iCi​×x2+Di​×y2,Di​≤Ci​,其中xxx表示输的总场数,yyy表示赢的总场数,CCC和DDD各是一个系数。已经踢完了一些比赛,还有mmm场比赛要进行,会告诉你这mmm场比...

2018-12-23 18:55:41 277

原创 洛谷4284 BZOJ3566 SHOI2014 概率充电器 概率期望 树形dp

题目链接题意:给你一棵树,树上每一个点一开始有一定概率有电,并且边会导电,每条边又一个导电的概率。求导电完毕后有电的点的个数的期望。n<=500000n<=500000n<=500000题解:一道不错的题。我们首先的一个考虑是想利用期望的线性性来对整棵树进行树形dp。我们设dp[x]dp[x]dp[x]为点xxx有电的概率,然后转移的化分从子树和从父节点...

2018-12-20 20:48:55 188

原创 洛谷1971 BZOJ2437 NOI2011 兔兔与蛋蛋 二分图匹配

题目链接题意:有一个n∗mn*mn∗m的棋盘,每个格子有一个黑棋子或者白棋子,整个棋盘只有一个空格子。有两个人在做游戏,第一个人要把与空格四连通的一个白棋子走到空格,第二个人要把一个与空格四连通的黑棋子走到空格,两人轮流走,谁不能走谁就输。现在给你输入一局对局的进行情况,你要判断先手有多少次失误,失误的定义是,如果第一个人从一个有必胜策略的格子,走到一个第一个人必败的格子,就算是失误。输出失误...

2018-12-19 21:27:22 201

原创 洛谷3216 BZOJ2326 HNOI2011 数学作业 矩阵乘法

题目链接题意:给定正整数NNN和MMM,要求计算Concatenate(1..N) mod MConcatenate(1..N)\ mod\ MConcatenate(1..N) mod M的值,其中Concatenate(1..N)Concatenate (1 .. N)Concatenate(1..N)是将所有正整数 1,2,…,N1, 2, …, ...

2018-12-18 20:15:00 160

原创 洛谷2463 BZO4698 SDOI2008 Sandy的卡片 差分 SAM

题目链接题意:给你nnn个数字串,每个串由mmm个数字组成,定义两个串的公共部分长度为一个串中的所有数字加上同一个数之后会变成另一个串里的对应位置的数,并且两个串长度相同。求这nnn个数字串的最长公共部分。n,m<=1000n,m<=1000n,m<=1000,数字的数值范围<=101题解:又是日常刷水题,终于自己想出一道题,结果又因为各种细节写错,...

2018-12-17 19:35:04 176

原创 洛谷4022 BZOJ2806 CTSC 2012 熟悉的文章 cheat 广义SAM dp 单调队列 二分

题目链接题意:给你nnn个模式串和mmm个询问串,对于每个询问串,如果能划分成若干个长度大于等于lll的这nnn个模式串中的某个子串,和一些不需要匹配的零散串,要求匹配串总长度不少于串长的9090%90,那么称lll对于这个串是合法的,对于每个串求最长的lll。串都是01串,输入的字符数总和是1e6级别。题解:我们比较容易感知到这个题是满足二分性的,lll大的可以小的也是可以的啊,因为划分...

2018-12-16 21:51:14 216

原创 BZOJ5261 Rhyme 广义SAM

题目链接题意:给定n个由小写字母构成的模板串,给定k,求最长的字符串,使得该字符串每个长度为k的子串都是至少一个模板串的子串。求最大长度,如果可以无限长输出INF。∑∣s∣<=100,000,k<=100,000∑|s|<=100,000,k<=100,000∑∣s∣<=100,000,k<=1

2018-12-14 15:35:59 448

原创 洛谷4726 多项式指数函数 学习笔记

题目链接题意:给出n−1n-1n−1次多项式A(x)A(x)A(x),求一个 mod  xn\bmod{\:x^n}modxn下的多项式B(x)B(x)B(x),满足B(x)≡eA(x)B(x) \equiv e^{A(x)}B(x)≡eA(x),系数对9992443539992443539...

2018-12-13 17:39:15 390

原创 多项式对数函数 学习笔记 洛谷4725

题目链接题意:给出n−1n-1n−1次多项式A(x)A(x)A(x),求一个 mod  xn\bmod{\:x^n}modxn下的多项式B(x)B(x)B(x),满足B(x)≡ln⁡A(x)(mod xn)B(x) \equiv \ln A(x)(mod\ x^n)B(x)≡lnA...

2018-12-12 11:16:10 1320 1

原创 多项式除法 学习笔记 洛谷4512

题目链接题意:给定一个nnn次多项式F(x)F(x)F(x)和一个mmm次多项式G(x)G(x)G(x),请求出多项式Q(x)Q(x)Q(x),R(x)R(x)R(x),满足以下条件:Q(x)Q(x)Q(x)次数为n−mn-mn−m,R(x)R(x)R(x)次数小于mmm,F(x)=Q(x)∗G(x)+R(x)F(x) = Q(x) * G(x) + R(x)F(x)=Q(x)∗G(x)+R...

2018-12-11 18:49:38 749

原创 多项式求逆 学习笔记 洛谷4238

题目链接给定一个多项式F(x)F(x)F(x),请求出一个多项式G(x)G(x)G(x), 满足F(x)∗G(x)≡1(mod xn)F(x) * G(x) \equiv 1 ( mod\ x^n )F(x)∗G(x)≡1(mod xn)。系数对998244353998244353998244353取模。n<=1e5n<=1e5n<=1e5...

2018-12-11 09:56:43 322

原创 SPOJ8372 TSUM - Triple Sums 生成函数 FFT 容斥

题目链接题意:给你n个整数,求从其中任选3个所有可能组成的数是哪些和能组成的这些数分别有多少种可能的组合,我们认为相同的3个数的不同排列是同一种,每个数只能用一次。题解:假如不考虑每个数只能用一次这个限制,并且也先不管不同排列算作同一种,这个不同排列只要最后除一个排列数就好了。那么我们只需要构造一个生成函数A(x)A(x)A(x),A(x)=a1x+a2x2+...+anxnA(x)=a_...

2018-12-10 14:59:17 249

原创 洛谷3338 BZOJ3527 ZJOI2014 力 FFT

题目链接题意:给你nnn个数qiq_iqi​,对于每个jjj求出FjF_jFj​,Fj=∑i=1j−1qi(i−j)2−∑i=j+1nqi(i−j)2F_j=\sum_{i=1}^{j-1}\frac{q_i}{(i-j)^2}-\sum_{i=j+1}^{n}\frac{q_i}{(i-j)^2}Fj​=∑i=1j−1​(i−j)2qi​​−∑i=j+1n​(i−j)2qi​​ n&...

2018-12-10 10:49:45 193

原创 BZOJ4244 邮戳拉力赛 dp

题目链接题意:题解:cwbc讲课因为时间原因没讲到的一道题,结果正睿rxd的模拟赛感觉还是很神仙的,我感觉我好像不太能想出来这个题啊。一道神仙dp题。我们发现,最后答案一定需要从0到n+1,一定要用这(n+1)T的时间。我们考虑如果我们到了下行的某个位置,那么他一定会再在某个位置再回到上行,那么除了我们从上行的0走到n+1的,其他的构成了若干个环,这些环在后面的某个位置从上行切换到下行...

2018-12-09 20:49:23 265 1

原创 SPOJ8093 BZOJ2780 Sevenk Love Oimaster SAM

题目链接题意:给你nnn个字符串,有qqq次询问,每次给你一个字符串,求这个字符串在nnn个串中的多少个串中出现过。总串长都是1e5量级的,字符集是小写字母。题解:虽然据说AC自动机可能也可以做,但是显然没有用后缀自动机方便。我们对于这nnn个串建出SAM,然后我们要对于这个串的所有子串的出现次数都+1,...

2018-12-07 21:50:38 110

原创 洛谷3346 BZOJ3926 诸神眷顾的幻想乡 SAM

题目链接题意:你有一棵树,每个点有一个权值,问有多少种权值排列不同的路径。点数1e5,权值<=10,其中叶子节点不超过20个。题解:其实不难看出是个字符串题,相当于是给你一棵树,字符集大小是10,问你树上有多少种本质不同的字符串。还是考虑字符串神器SAM。SAM的最简性保证了不会有相同的子串出现,看起来就会对做这个题很有帮助。这个题有一个特殊的性质是叶子节点不超过20个,我们发现...

2018-12-07 11:40:09 136

原创 洛谷3172 BZOJ3930 CQOI2015 选数 莫比乌斯反演 杜教筛

题目链接题意:给你n,k,l,rn,k,l,rn,k,l,r,让你从[l,r][l,r][l,r]选一个数,选nnn次,总方案数是(r−l+1)n(r-l+1)^n(r−l+1)n,问选出的nnn个数的gcd恰好是kkk的方案数。n,k,l,r<=1e9,r−l<=1e5n,k,l,r<=1e9,r-l<=1e5n,k,l,r<=1...

2018-12-07 08:19:11 192

原创 BZOJ4916 神犇和蒟蒻 杜教筛

题目链接题意:给你nnn,求∑i=1nμ(i2)\sum_{i=1}^n\mu(i^2)∑i=1n​μ(i2)和∑i=1nϕ(i2)\sum_{i=1}^n\phi(i^2)∑i=1n​ϕ(i2),n<=1e9n<=1e9n<=1e9题解:对于∑i=1nμ(i2)\sum_{i=1}^n\mu(i^2)∑i=1n​μ(i2),这个东西的值其实就是1。。。原...

2018-12-06 19:11:52 149

原创 BZOJ1396 识别子串 SAM 线段树

题目链接题意:给定一个字符串S,对于一个整数K,定义S的子串T=S(i, j)是关于第K位的识别子串,满足以下两个条件:1、i≤K≤j。2、子串T只在S中出现过一次。例如,S=“banana”,K=5,则关于第K位的识别子串有"nana",“anan”,“anana”,“nan”,“banan"和"banana”。现在,给定S,求对于S的每一位,最短的识别子串长度是多少题解:

2018-12-06 11:51:04 182

原创 SPOJ8222 NSUBSTR - Substrings SAM

题目链接题意:给你一个字符串,求每个长度的字符串的最多出现次数。串长<=250000题解:还是一个SAM题。应该做了之前那么多题之后,这个也不是那么难想了。我们对原串上的位置是SAM上标记,然后在parent树上dp,我们...

2018-12-05 07:56:52 117

原创 SPOJ705 SPOJ694 Distinct Substrings SAM

SPOJ705SPOJ694题意:给你一个字符串,问你有多少个本质不同的字符串。其中SPOJ705是加强版,20组询问,每组n<=50000。题解:这个题异常坑爹!!!我调这个题调了一上午,心态爆炸。这个加强版没有说字符集大小,我以为是26,结果发现不是!回归正题,这个题的做法其实就是建出SAM,然后对于每个点,用它的串长减去parent树上它父节点的串长就行了,这样就可以不重不...

2018-12-04 14:56:18 134

原创 洛谷3181 BZOJ4566 HAOI2016 找相同字符 SAM

题目链接题意:给你两个字符串,求这两个字符串有多少对相同的子串,本质相同但位置不同算不同。串长<=2e5题解:我们考虑像以往一样对于第一个串建SAM,让第二个串在SAM上跑并统计答案,结果我们发现这样并不能做。。。于是这个题的做法是把两个串建成一个SAM,中间用一个特殊字符隔开。两个串建成一个SAM之后,我们发现可以对SAM形成的DAG拓扑排序,然后从拓扑序大的往拓扑序小的更新答案...

2018-12-04 09:50:59 209 3

原创 SPOJ1812 LCS2 POI2000 BZOJ2946 公共串 SAM

题目链接链接是洛谷有翻译的。题意:给定一些字符串,求出它们的最长公共子串。输入至多10行,每行包含不超过100000个的小写字母。这题似乎和POI2000BZOJ2946是同一道题,于是我就也挂上那个标签了。PS:BZOJ的那个是个权限题。。。题解:我们之前做过两个串通过SAM找最长公共子串的,具体请看这里。那么我们考虑多个串的做法,其实多个串是可以从两个串拓展来的。思路上就是我们对...

2018-12-03 15:40:16 181

原创 洛谷4070 BZOJ4516 SDOI2016 生成魔咒 SAM map

题目链接题意:你有nnn次操作,每次往原串后面插入一个数,不同的数字看作不同的字符,问你每次加入一个字符之后有多少个不同的子串。n<=100000,数值范围1e9题解:数值范围太大,要离散化或者用个map。统计不同子串个数也算是SAM的一个经典应用了吧,SAM是可以在线回答的。我们假设之前的答案已经统计好了,那么考虑对于每次加入的数加进SAM之后产生的新串个数。我们知道,paren...

2018-12-03 11:21:58 133

原创 洛谷4248 BZOJ3238 AHOI2013 差异 SAM 树形dp

题目链接题意:给你一个字符串,TiT_iTi​表示第iii个字符开始的后缀,求∑1<=i<j<=nlen(Ti)+len(Tj)−2∗lcp(Ti,Tj)\sum_{1<=i<j<=n}len(T_i)+len(T_j)-2*lcp(T_i,T_j)∑1<=i<j&amp

2018-12-03 10:12:30 176

原创 洛谷3975 BZOJ3998 TJOI2015 弦论 后缀自动机

题目链接、题意:给你一个字符串,问你在算重复/不算重复的情况下第k大的字符串是什么,不存在输出-1。n<=5e5。题解:如果不算重复的话和这个题一样。看链接里的题解就行,我不再重复了。那么我们就讲一下算重复的做法。算重复其实就是要通过right来计算相同的情况,计算的方法和洛谷模板SAM的做法类似。都是在parent树上dfs,然后用子节点size更新父节点,其他的与可不算重复的一...

2018-12-02 21:07:23 164

原创 SPOJ7258 SUBLEX 后缀自动机

题目链接链接是洛谷有翻译的链接。题意:给你一个字符串,有T次询问,每次问你在整个字符串中排名为k的子串是哪一个。字符串长度<=90000,T<=500,只统计本质不同的串。题解:后缀自动机题,因为后缀自动机有着很强的处理子串的能力。看到排名第k,我们可能会想到主席树,但是显然主席树是没法维护具体某个字符串,但是主席树查询第k大的思想我们是可以使用的。主席树的方法是看左子树的...

2018-12-02 16:25:39 193

原创 SPOJ1811 LCS - Longest Common Substring 后缀自动机

题目链接链接是洛谷有翻译的。题意:给你两个长度不超过250000的字符串,求两个串的最长公共子串。题解:看起来是个比较经典的问题。似乎SAM处理子串的能力很强啊。做法是先对第一个串建出SAM,然后我们考虑parent树的含义,其实我觉得在某种意义下parent树可以理解为AC自动机的fail指针,因为它保证了子节点表示的字符串集合是父节点的一个真子集,所以如果在子节点匹配不上的话,下一...

2018-12-01 22:52:36 225

原创 洛谷3804 【模板】后缀自动机

题目链接题意:给你一个n个字符的字符串,求所有出现次数大于1的子串乘子串长度的最大值。n<=1e6题解:感觉全机房都早就会后缀自动机了啊,就我不会。而且感觉自己学得还不怎么样,似乎不是那么明白,感觉药丸。这个题的话建出后缀自动机之后,我们根据SAM的性质可知,一个点在parent树的子树中的叶子节点个数就是根到该节点的子串出现的次数。我们在建后缀自动机的时候已经求出了从根到每个节点...

2018-12-01 22:41:35 245

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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