![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
hanyuweining
明日はきっと 明日はきっと 仆が世界の中心なので
展开
-
BZOJ4503 两个串
没有传送门 因为是权限题 =.=利用卷积来做字符串匹配问题= =+如果我们现在有两个串 单纯要匹配它们我们可以怎么做呢?很明显是不可以的因为可能出现这种情况aabbbbaa两个部分抵消掉了=.=我们如何处理这样的问题呢?平方!这样子就好多了qwq然后我们来处理通配符 通配符设为0然后乘上去就可以啦qwq是不是非常优秀 = =+然后我们回归原题...原创 2018-12-26 15:36:10 · 154 阅读 · 0 评论 -
SPOJ8222 NSUBSTR - Substrings
传送门[洛谷]SAM模板题 可惜我不会本来想大力上线段树的然后发现题解的做法非常精妙因为 很显然长度为i的字符串出现长度一定>=长度为i+1的字符串[作为子串出现就可以取到=]那么直接记录最后倒着更新一遍就可以啦附代码。#include<cstdio>#include<cstring>#include<algorithm...原创 2018-12-17 19:36:50 · 82 阅读 · 0 评论 -
AGC002[BCDEF]题解
F是计数于是就做(kan ti jie)了= = B - Box and Ball模拟一下 每个盒子开一个d表示有的球数 可能存在红球的打个标记 传递一下就行了#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 2002...原创 2018-12-28 11:11:54 · 249 阅读 · 0 评论 -
SPOJ1811 LCS - Longest Common Substring
传送门[洛谷]SAM板子题?(可惜我还是不会)大概就是能匹配就一直往下匹配不能匹配就跳parent 调到能匹配为止 跳到根了就重新开始最开始太蠢了非要写递归版 写着写着发现不知道我要写啥了T^T 果断换循环。。#include<cstdio>#include<cstring>#include<algorithm>#include<...原创 2018-12-18 08:04:54 · 254 阅读 · 0 评论 -
SPOJ1812 LCS2 - Longest Common Substring II
传送门[洛谷]多个串!1811的升级版~其实做法很相似 我们只需要对第一个串建立SAM然后 每个串在上面跑 由于是求所有字符串交的LCS我们只需要记录每个节点与当前串匹配的max和之前所有串匹配的minmax是需要子树更新的 min要记得和当前的max还有len[节点最大长度]取min然后这样就做完啦。(才不会说我读的是所有字符串并的LCS 这个的做法可以直接跑一个然后...原创 2018-12-18 09:49:15 · 165 阅读 · 0 评论 -
SPOJ7258 SUBLEX - Lexicographical Substring Search
传送门[洛谷]心态崩了我有妹子靠 我写的记忆化搜索 莫名WA了 然后心态崩了当我正要改成bfs排序的时候 我灵光一动 md我写的i=0;i<25;i++???然后 改过来就A掉了T^T大体做法就是 一个点出发的本质不同子串数量应该是就是所有添加字符的转移和其余选一个空串的转移所以直接建出自动机然后 我的做法是直接记忆化搜索就可以省去建树/排序 因为所有子串必定由转移构...原创 2018-12-18 13:20:51 · 163 阅读 · 0 评论 -
AGC003[BCDEF]题解
2018-12-28 有点累EF明天再写叭=v=2018-12-29 update EFB - Simplified mahjong可以注意到 一段连续的非0序列都可以凑出就是显然%2=0的可以内部配完 然后%2=1的可以随便向两边传递这个1(就是和旁边的配对改变自己和配对的奇偶性从而使自己变成%2=0旁边变成%2=1)于是就按照0分割统计答案就行了qwq#include&l...原创 2018-12-28 20:52:37 · 198 阅读 · 0 评论 -
Code Festival 2017 Qual B E Popping Balls
传送门神仙计数!我的计数真的好差啊= =不过这个题真的神仙看了题解把整个过程在草稿纸上重写了一遍才想明白= =(一张草稿纸就没有了!!!) 计数的关键就是在于 枚举的有效性和独立性【不能重复计数】然后我们就来思考一下这个题 1. 确定t我们重定义t为第一个取出的蓝球的位置那么t的选择区间是[1,a+1] 分别对应[a+1,1]的时候取出枚举区间:[1...原创 2018-12-29 08:24:32 · 173 阅读 · 0 评论 -
BZOJ 4516 [Sdoi2016] 生成魔咒
传送门心态崩了++后缀自动机板子题[考场上要是不会后缀自动机就崩了T^T]可以看出 每次答案的贡献就是和原来本质不同的子串数量根据SPOJ7258我们可以得到 本质不同的子串数量可以通过建出自动机 树形dp解决我们需要知道的就是 连向它的那个链就是我们建立自动机的时候的那个找的p直接求一下就好了另外的理解方式就是我们要求本质不同的前缀数量 那么就是parent树上l...原创 2018-12-18 15:36:20 · 109 阅读 · 0 评论 -
CF917D Stranger Trees
传送门非常舒适的一道题 趁机学了一发拉格朗日插值2333貌似是WC2018讲的题我们对于在原图中存在的边 记为x 没出现的边记为1然后矩阵树定理求出行列式 对应的x^k的系数就是跟原图有k条重边的方案数显然带多项式进去不好算那么我们拉格朗日插值 对于x分别算1-n得到了n个值然后插值回来就可以了拉格朗日求系数我也没有找到好的博客 于是找到学长求助 结果他们说的我很懵...原创 2018-12-24 15:23:36 · 263 阅读 · 0 评论 -
洛谷4721 【模板】分治 FFT
传送门久违的多项式全家桶= =+分治NTT 用的就是cdq分治的思想 对于当前递归到的区间[l,r] 我们处理出[l,mid]对[mid+1,r]答案的贡献然后分治递归求解就可以啦qwq这个贡献是前一半卷积的答案加过去就可以啦对于x的贡献附代码。#include<cstdio>#include<cmath>#include<algor...原创 2018-12-22 18:36:32 · 153 阅读 · 0 评论 -
CF1083E The Fair Nut and Rectangles
传送门记麻麻我终于学会斜率优化了TAT孙神一眼切是个dp然后我就推了发斜率优化竟然对了诶嘿嘿然后直接斜率优化维护下凸壳就吼了啊qwq【别忘了先排序= =||】又是忘了开longlong的一天doge斜率优化大概是会推了= =+又一个flag立下了= =+#include<cstdio>#include<cstring>#incl...原创 2018-12-11 15:48:09 · 399 阅读 · 1 评论 -
洛谷3804 【模板】后缀自动机
传送门真·玄学还是没有完全搞懂SAM的性质啥的啊T^T我本来以为SAM会很长的没想到这么短 这个题就是建出SAM 然后建树求出right然后*len[max]直接取max即可啦学习笔记什么的等等吧[鸽了我也不管]附代码。#include<cstdio>#include<cstring>#include<algorithm>...原创 2018-12-17 16:29:25 · 205 阅读 · 0 评论 -
BZOJ4259 残缺的字符串
没有传送门 = =跟上一个题一样 请戳链接唯一的变化就是柿子稍微一改然后没啥了注意翻转的位置要改。。。所以不如翻那个不需要改的= =+#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<vector>#d...原创 2018-12-26 16:01:49 · 268 阅读 · 0 评论 -
BZOJ3926 诸神眷顾的幻想乡
传送门树上SAM!显然如果树上一条一条字符串放的话那么是n^2的w但是 题目的性质非常吼啊!20个叶子节点 我们就可以 把所有叶子结点拎出来当根 全部扔到一个SAM里 就吼啦最后的答案是 因为自动机上一个节点的贡献就是这么多啦自动机啥的代码真的好写呢[FLAG](机房好冷啊)附代码。 #include<cstdio>#include<...原创 2018-12-20 20:10:19 · 156 阅读 · 0 评论 -
BZOJ1396 识别子串
传送门拼命给自己拉低AC率(SAM 一发入魂很明显 我们要查的就是 叶子结点叶子结点 的 len 和 其父亲的 len 会影响一段区间大概长这个样子 前面一段倾斜的 就是 len 在不断增长 后面的要取min所以就是平直的[你可能需要意会一下]因为一个点的len是一段连续的区间 你从这个图里就可以看的比较清楚了qwq然后我们 就重锤李超树 咳咳咳才不要李超树呢 ...原创 2018-12-21 08:57:15 · 170 阅读 · 0 评论 -
BZOJ4698 Sdoi2008 Sandy的卡片
传送门转化题意可以得到 我们求得就是 所有串的差分串的LCSSAM水过就好啦#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#include<map>#define inf 20021225#define ll long lon...原创 2018-12-21 11:16:08 · 112 阅读 · 1 评论 -
AGC001[BCDE] 题解
A没意思 F太难 所以大概近期的AGC题解都是BCDE的然后特殊情况再说开始刷AGC的原因就是计数太差 没有脑子 好几个学长都推荐的AGC所以就开始刷了 = =大概两天三篇的速度?【可能也就最开始几天能有这个速度= =】好了不多说了 开始题解————————我是分割线————————B - Mysterious Light比较有趣 画几个图就发现每次去掉两条就是平行四边...原创 2018-12-27 16:55:57 · 387 阅读 · 0 评论 -
【学习笔记】可持久化并查集(BZOJ3673)
好久之前就想学了 然后今天恰巧一道题需要用到就学了前置芝士1.主席树[可持久化数组]2.并查集如果你掌握了前面两个那么这个东西你就会觉得非常沙茶。。 构造可持久化并查集 = 主席树 + 并查集有点蠢= =当然 我们这里的并查集是要按秩合并的并查集[按秩合并:就是把dep小的连接到大的上面 这个复杂度分析出来是O(lgn)的 原因不要问我 我不知道= =...原创 2018-12-27 18:02:16 · 120 阅读 · 0 评论 -
BZOJ5261 Rhyme
传送门广义后缀自动机= =+跟ptx大爷的博客学的 戳我传送我写的第一种 建立Trie树的写法 bfs建立SAM为什么是bfs呢 我也不知道(GG) 经过我一番抱大腿+询问 各位大爷说的原因是 因为dfs时间复杂度不对多有道理哦 【摔不过好像这个复杂度保证好像真的不大准确2333所以 安安心心bfs就最吼啦 复杂度貌似是trie的大小其实 每次重置last为rt也可...原创 2018-12-22 12:07:30 · 166 阅读 · 0 评论 -
【学习笔记】整体二分(BZOJ2738矩阵乘法)
也是因为一道题才来学的。。。然后就发现这道模板貌似是暑假初期在某校集训的时候的比赛题 并且好像没改= =前置芝士1.二分= =* CDQ分治[你要是知道CDQ分治的话这玩意就很好理解啦]*本题使用二维树状数组 整体二分是类似CDQ分治的一类东西CDQ分治是计算左边对右边的贡献整体二分是计算左边的贡献来确定答案在哪边具体来说就是这样一个过程[l,r,L...原创 2018-12-27 19:08:25 · 197 阅读 · 0 评论 -
洛谷4360 锯木厂选址
跟y_immortal巨佬一起写点斜率优化,就当复习了= =这个推个柿子得到其中j<k维护个下凸壳就行了初值赋错好几次 以为我写跪了。。。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 20021225#...原创 2018-12-27 20:08:22 · 133 阅读 · 0 评论 -
BZOJ3160 万径人踪灭
传送门FFT好题~我们观察一波性质 首先 回文的子序列一定是 j+k=i 其中j和k分别是两个下标 然后i是固定的这玩意看起来是不是就很像卷积= =+我们要求的是f[i]就是固定值是i的时候两侧的相同字符对数然后呢 我们分别把a和b做一遍a就是把一个位置上是a的赋成1然后FFT自乘 b同理a,b对应系数相加就得到了f[i]求答案就是枚举所有i求2^f[i]-1但...原创 2018-12-24 19:58:07 · 109 阅读 · 0 评论 -
CF622F The Sum of the k-th Powers
传送门自然数幂和的拉格朗日插值求法列出柿子然后带一下值就可以了qwq预处理分子分母啥的 见代码吧。附代码。#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 20021225#define ll long lo...原创 2018-12-24 21:01:07 · 281 阅读 · 1 评论 -
HDU 4609 3-idiots
传送门问给定n条小木棍 随机选3根构成三角形的概率看起来和多项式没啥关系对不对 = =但实际上它的确可以用多项式来做qaq我们构造多项式然后自乘一下就能得到两根木棍拼起来的方案数然后枚举所有拼出来的长度 算一下>=这个长度的木棍个数求出不能拼成三角形的方案数然后最后用减一减 除一除就可以了qwq【注意sum的预处理范围是两倍权值T^T】附代码。#...原创 2018-12-25 08:00:59 · 112 阅读 · 0 评论 -
BZOJ5297 CQOI2018 社交网络
考前挣扎有向图生成树我们知道对于无向图生成树可以通过矩阵树定理来算具体就是度数矩阵 - 邻接矩阵 去掉任意一行一列得到余子式 对行列式求值有向图生成树分为外向和内向两种外向生成树当然是所有边指向儿子 他的矩阵树定理是这个样子对于有向边(x,y)度数矩阵d[y][y] ++ 邻接矩阵e[x][y] ++内向生成树所有边指向父亲对于有向边(x,y)度数矩阵d[x][x]...原创 2019-01-18 19:31:55 · 137 阅读 · 0 评论 -
BZOJ4269 再见xor
考前挣扎线性基裸题mx直接求 次大直接从低到高枚举第一个非0位然后次大就是异或上就行了【显然贪心呐qwq不到800b可还行//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define inf 2...原创 2019-01-18 20:25:08 · 185 阅读 · 0 评论 -
BZOJ3233 [AHOI2013] 找硬币
dp题由于每一个都是上一个的倍数 显然可以证明 如果可以用一个较大的 肯定用了是更优的那么我们就可以进行刷表dp就是 n/1 + n/2 +n/3 +...+n/n 调和级数掉最后mnlgm (m值域)轻轻松松松【雾//Love and Freedom.#include<cstdio>#include<cstring>#include<...原创 2019-01-18 22:04:43 · 227 阅读 · 0 评论 -
BZOJ1030 [JSOI2007] 文本生成器
我再看错模数我就是呆头考虑包含任意的补集不包含任何然后典型的AC自动机上dp 长度为l不能走到任何关键点特么模数多写了个0 问题是我刚跟zyf吐槽了模数就当考前提醒了= =//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm>#include&l...原创 2019-01-19 21:03:33 · 163 阅读 · 0 评论 -
BZOJ2965 保护古迹
非常带劲之计算几何写的头晕= =就是平面图转对偶图然后最小割由于p非常小我们枚举所有保护状态然后割一下建图真的烦 就是把区域划分出来看一下每一个古迹点是否被小区域包含【好像也可以写点定位】然后我好像判左右叉积又双叒叕的写反了?整个画出图来然后发现好像没建错图= = 然后把!删掉竟然过了= =于是愉快改成onright= =区域划分就是双向直线然后每次找反向的极角的最近的...原创 2019-01-09 10:53:36 · 211 阅读 · 3 评论 -
BZOJ2002 [HNOI2010] 弹飞绵羊
LCT access完了一定splay再用!!!悲伤= =LCT裸题 把调出去设虚点n+1即可//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define N 200010#define ls(x) ...原创 2019-01-19 22:33:34 · 190 阅读 · 0 评论 -
洛谷3605 Promotion Counting
线段树合并都是蓝题了嘛 我可能和时代脱轨了emm...直接离散化然后合并就好啦w生病了真难受QAQ//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define ll long long#define ...原创 2019-01-15 12:41:35 · 259 阅读 · 0 评论 -
LOJ6433 PKUSC2018 最大前缀和
喵哒 好不容易想出来结果被题面坑了呜呜呜j=1!!!! 前缀和不能为空!!!喵哒= =所以我们可以想到 对于没选的后缀 肯定是所有前缀和都要<=0 不然的话就可以加上比原来更优 然后这个很明显可以dp哒然后 对于前面的 我们可以发现我们倒着插入就是只要插入前>0的话就是可以转移哒 <0的话显然不选更优那么分别进行dp 合并即可 注意最后要(ans+wph)...原创 2019-01-10 08:31:14 · 223 阅读 · 0 评论 -
[扫雷][游戏] 交互*2
由于是校内训练赛 就不贴网址啦【贴了你也进不去2333扫雷是T1嘛 反正就很水先随机找几个点然后 枚举随机种子S是啥就可以了然后这道题开启了机房疯狂hack的节奏QAQ交互的本地测试可以直接把代码贴到grader后面就可以啦/xyx#include "mine.h"#include<cstdio>#include<cmath>#include&l...原创 2019-01-16 10:08:50 · 136 阅读 · 0 评论 -
AGC020C Median Sum
高端操作qaq又双叒叕读错题了= =然后重新读题发现不会做了 于是瞅了一波题解 我靠要不要这么暴力呜呜呜直接bitset O(n^3/w)QAQ就是f[i]表示i是否能被搞出来然后我们先不看2^n-1 补上空集就是2^n 然后这就两两对应分出组了然后我们要找的就是比(sum+1)/2大的第一个元素bitset强上= =学习一发bitset正确优化姿势也海星//...原创 2019-01-08 11:38:27 · 177 阅读 · 0 评论 -
ARC100E Or Plus Max
据说这玩意叫 FZT = =我还以为什么FWT进化的高端玩意然后跑去看了题解然后发现 这特么不就是个DP吗= =很明显转成前缀最大值就可以了 然后我们对于i可以枚举所有为1的地方变成0的转移注意判下重【不判你也过不了样例】然后就做完了= =//Love and Freedom.#include<cstdio>#include<cstring>#i...原创 2019-01-08 11:34:01 · 242 阅读 · 0 评论 -
LOJ149 0/1分数规划
竟然没有写过分数规划的题解考前挣扎一发板子(二分答案k 然后0/1分数规划的方法就是 分母乘过去然后贪心解决注意实数二分的精度 一般估计一个次数比较好不然容易出现精度比较误差【惨痛教训就做完了qwq//Love and Freedom.#include<cstdio>#include<cstring>#include<algorithm&g...原创 2019-01-18 15:41:37 · 188 阅读 · 0 评论 -
POJ3384 Feng Shui
挖坟= =靠为了克服计算几何恐惧症来写的然后特么 spj有锅本地测应该是没啥问题的= =自闭了= =这个题就是每条边往里移R然后求半平面交再找个最远点对旋转卡壳或者枚举都可以sbspj浪费青春= =透他妈= =//Love and Freedom.#include<cstdio>#include<cstring>#in...原创 2019-01-04 15:41:03 · 180 阅读 · 0 评论 -
洛谷3321 SDOI2015 序列统计
懒得放传送【大雾有趣的一道题前几天刚好听到Creed_神犇讲到相乘转原根变成卷积的形式看到这道题当然就会做了啊w对于m很小 我们暴力找原根 如果你不会找原根的话 出门左转百度qwq找到原根以后所有数转成原根的幂次然后卷积就吼了啊多项式卡速米 由于是循环卷积所以每一次还要转回系数相加再转回来所以是不优美的O(nlg^2n) =v=代码在这里。//Love and...原创 2019-01-05 10:17:50 · 208 阅读 · 0 评论 -
AGC005D ~K Perm Counting
~K Perm Counting神仙题++转二分图+容斥比较好想主要是最后的合并统计怎么做方便比较有趣ptx大爷的博客 戳我把二分图拆成链的想法很好mark一下qwq注意容斥的时候转longlong= =#include<cstdio>#include<cstring>#include<algorithm>#includ...原创 2019-01-02 15:21:12 · 100 阅读 · 0 评论