该文被密码保护。 阅读全文
摘要:
【BZOJ1006】神奇的国度(弦图) 题面 "BZOJ" 题解 直接参考 "弦图的做法" cpp include include include include include include include include include include using namespace std; 阅读全文
摘要:
弦图 考试正好有一道题目可以用弦图的方法来做 所以就正好看一下$CDQ$的论文 "论文戳我看" 把中间的一些定义啥的直接蒯(手打)下来了 子图: 从一个图中随意选一些点,一些边组成的图 诱导子图: 从一个图的点集中选择一个子集,以及链接了子集中点的所有的边, 组成的子图 团: 一个子图,且是完全图 阅读全文
摘要:
【BZOJ2946】公共串(后缀数组) 题面 权限题。。。 只有 "CJOJ" 题面啦 Description 给出几个由小写字母构成的单词,求它们最长的公共子串的长度。 任务: 读入单词,计算最长公共子串的长度 Input 第一行是整数 n,1 include include include in 阅读全文
摘要:
【POJ1743】Musical Theme(后缀数组) 题面 "洛谷,这题是弱化版的,$O(n^2)dp$能过" "hihoCoder 有一点点区别" "POJ 多组数据" 题解 要求的是最长不可重叠重复子串 也就是找两个最长的相同子串 使得它们不相交 先求出$SA,height$ 考虑一下如果两 阅读全文
摘要:
【BZOJ1717】产奶的模式(后缀数组) 题面 权限题 "hihocoder" "洛谷" 题解 $hihocoder$里面讲的非常好了 这题要求的就是最长可重叠重复K次子串 所谓相同的子串 我们可以理解为如果有两个后缀的前缀相同 那么就有一个相同的子串 如果两个后缀的前缀相同 那么他们在$SA$中 阅读全文
摘要:
【POJ2774】Long Long Message(后缀数组) 题面 "Vjudge" Description Little cat在Byterland的首都读物理专业。这些天他收到了一条悲伤地信息:他的母亲生病了。担心买火车票花钱太多(Byterland是一个巨大的国家,因此他坐火车回家需要16 阅读全文
摘要:
SA 后缀数组 首先一定要确定$SA$是个什么东西 $SA[i]$表示的是排名为$i$的后缀是哪一个 至于后缀$i$的排名是多少,那个是$rank[i]$ 当然啦 最最最难懂的就是基数排序 要是不用基数排序,每次对于一个二元组直接$sort$一下 这样的复杂度是$O(nlog^2)$ 对于二元组的基 阅读全文
摘要:
【Luogu2444】病毒(AC自动机) 题面 "洛谷" 题解 如果存在一个无限长的串 证明可以在$AC$自动机上找到一个环 然后在上面可以无限跳 所以构建$AC$自动机 在上面跑$dfs$就好啦 cpp include include include include include include 阅读全文
摘要:
【BZOJ2959】长跑(Link Cut Tree,并查集) 题面 "BZOJ" 题解 如果保证不出现环的话 妥妥的$LCT$傻逼题 现在可能会出现环 环有什么影响? 那就可以沿着环把所有点全部走一遍吧 所以,相当于把环看成一个点来搞一搞 所以,维护一个并查集 记录一下每个点被缩成了哪个点 然后再 阅读全文
摘要:
【BZOJ2006】超级钢琴(主席树,优先队列) 题面 "BZOJ" 题解 既然是一段区间 首先就要变成单点 所以求一个前缀和 这个时候贪心很明显了: 枚举每一个点和可以和它组成一段的可行的点 全部丢进一个堆里面 取出最大的$K$个就行了 但是,很显然,我们做不到都取出来 所以,考虑怎么优化这个过程 阅读全文
摘要:
【BZOJ4869】相逢是问候(线段树,欧拉定理) 题面 "BZOJ" 题解 根据欧拉定理递归计算(类似 "上帝与集合的正确用法" ) 所以我们可以用线段树维护区间最少的被更新的多少次 如果超过了$\varphi$的限制 就不用再计算了 如果需要计算就每次暴力算 这样的复杂度$O(nlog^2)$ 阅读全文
摘要:
【BZOJ4530】大融合(Link Cut Tree) 题面 讨厌权限题!!! "Loj链接" 题目描述 小强要在 N个孤立的星球上建立起一套通信系统。这套通信系统就是连接 N个点的一个树。这个树的边是一条一条添加上去的。在某个时刻,一条边的负载就是它所在的当前能够联通的树上路过它的简单路径的数量 阅读全文
摘要:
yyb经常只写题目不写总结。欢迎让我填坑 阅读全文
摘要:
【BZOJ2434】阿狸的打字机(AC自动机,树状数组) 先写个暴力: 每次打印出字符串后,就插入到$Trie$树中 搞完后直接搭$AC$自动机 看一看匹配是怎么样的: 每次沿着$AC$自动机走,在每一个节点都跳$fail$指针 如果有$x$串的末节点,就给答案$+1$ 这样的话没有必要存下每个串 阅读全文
摘要:
【BZOJ2186】沙拉公主的困惑(数论) 题面 "BZOJ" 题解 考虑答案是啥 先假设$n=m$ 现在求的就是$\varphi(m!)$ 但是现在$n!$是$m!$的若干倍 我们知道 $gcd(x,y)=gcd(x+ky,y)$ 所以,相当于 每隔$m!$,答案增长的值都是$\varphi(m! 阅读全文
摘要:
【BZOJ3671】【NOI2014】随机数据生成器(贪心) 题面 "BZOJ" 题解 前面的模拟 真的就是语文阅读理解题目 理解清楚题目意思 然后就会发现要求的就是一个贪心 从小往大枚举,检查当前数能不能选 如果能选 就会限制其他行的左右能够到达的范围 暴力修改一下 然后就很愉快的$AC$了 这题 阅读全文
摘要:
【Luogu1501】Tree(Link Cut Tree) 题面 "洛谷" 题解 $LCT$版子题 看到了顺手敲一下而已 注意一下,别乘爆了 cpp include include include include include include include include include in 阅读全文
摘要:
【BZOJ3884】上帝与集合的正确用法(欧拉定理,数论) 题面 "BZOJ" 题解 我们有欧拉定理: 当$b \perp p$时 $$a^b≡a^{b\%\varphi(p)}\pmod p $$ 否则 当$b≥\varphi(p)$时 $$a^b≡a^{b\%\varphi(p)+\varphi 阅读全文
摘要:
【BZOJ3530】数数(AC自动机,动态规划) 题面 "BZOJ" 题解 很套路的$AC$自动机+$DP$ 首先,如果长度小于$N$ 就不存在任何限制 直接大力$DP$ 然后强制限制不能走到带有标记的点上面 如果长度恰好为$N$的长度 那么,要考虑是否恰好卡在范围里面 于是$DP$状态多记一维 表 阅读全文
摘要:
【BZOJ1212】L语言(AC自动机) 题面 "BZOJ" 题解 很自然的,既然要匹配单词,那就全部都丢到$AC$自动机里面去 现在想想怎么匹配 先是$AC$自动机正常的匹配 如果此时这个位置能够匹配上一个串 我们就需要判断一下这个串覆盖到这个文本串中 它的前一位是否恰好被覆盖 如果有的话 我们也 阅读全文
摘要:
【BZOJ2037】Sue的小球(动态规划) 题面 "BZOJ" 题解 莫名想到 "这道题目" 很明显是一样的 设$f[i][j][0/1]$表示已经接到了$i~j$这一段的小球 当前在$i$或者在$j$的最小费用 这个费用是随着时间增长,没有被接到的小球产生的 这样就可以避免存下时间 提前就把费用 阅读全文
摘要:
【BZOJ1899】午餐(动态规划) 题面 "BZOJ" 题解 我太弱了 这种$dp$完全做不动。。 首先,感性理解一些 如果所有人都要早点走, 那么,吃饭时间长的就先吃 吃饭时间短的就晚点吃 所以,按照吃饭时间排序 我们不难得出一个每个人吃完饭的时间 之和前面所有人的打饭的时间和有关 所以 $f[ 阅读全文
摘要:
【BZOJ1009】GT考试(KMP算法,矩阵快速幂,动态规划) 题面 "BZOJ" 题解 看到这个题目 化简一下题意 长度为$n$的,由$0~9$组成的字符串中 不含串$s$的串的数量有几个 很显然,如果组成的字符串和$s$串做$KMP$的匹配的话 是不能匹配到最后一位的 所以,我们想到一个很显然 阅读全文
摘要:
【BZOJ1040】骑士(动态规划) 题面 "BZOJ" 题解 对于每一组厌恶的关系 显然是连边操作 如果是一棵树的话 很显然的树型$dp$ 但是,现在相当于有很多个基环 也就是在一棵树的基础上再加了一条边 这个时候怎么办, 暴力拆掉基环(拆掉任意一条边) 跑两遍$dp$ 计算出强制不选两个点中某一 阅读全文