09 2018 档案

摘要:传送门 题解 这题到底是什么东西……数学题太珂怕了…… 阅读全文
posted @ 2018-09-30 14:58 bztMinamoto 阅读(291) 评论(0) 推荐(0)
摘要:传送门 阅读全文
posted @ 2018-09-30 13:33 bztMinamoto 阅读(171) 评论(0) 推荐(0)
摘要:传送门 好吧我数学差的好像不是一点半点…… 题目求的是$G^{\sum_{d|n}C^d_n}mod\ 999911659$ 我们可以利用费马小定理$a^{k}\equiv a^{k\ mod\ (p-1)}(mod\ p)$ 然后组合数可以直接用Lucas搞 那么就做完啦 然而$p-1$并不是质数 阅读全文
posted @ 2018-09-29 18:13 bztMinamoto 阅读(184) 评论(0) 推荐(0)
摘要:一堆参考资料 https://blog.sengxian.com/algorithms/linear-basis https://oi.men.ci/linear-basis-notes/ 线性基这玩意儿是用来解决异或问题一类手段 尽量说的通俗易懂一点好了 以下指的都是异或意义下的线性基,严谨的请看 阅读全文
posted @ 2018-09-28 21:51 bztMinamoto 阅读(394) 评论(0) 推荐(1)
摘要:传送门 我数学期望还是太差了…… 先考虑状压模型,设$dp[i][S]$表示第$i$轮,当前宝物状态为$S$,能获得的最大期望分数 然而这个模型有一个问题,第$i$轮不一定能达到状态$S$ 那么考虑转化一下,$dp[i][S]$表示第$1$至$i-1$轮的宝物状态为$S$,第$i$至$n$轮的期望分 阅读全文
posted @ 2018-09-28 21:09 bztMinamoto 阅读(150) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 后手在什么时候能够获胜呢?只有在他能构造出一个子集的异或和为0时(这个应该是nim博弈的结论了吧) 那么为了必胜,我们就要取到没有子集异或和为0为止 那就是构造一个线性无关,那么构造线性基即可 然后还有一个问题就是石子要取得最小,那么就是留下来的要 阅读全文
posted @ 2018-09-28 20:40 bztMinamoto 阅读(218) 评论(0) 推荐(0)
摘要:传送门 线性基裸题 直接把所有的状态都带进去建一个线性基 然后答案就是$2^{cnt}$($cnt$代表线性基里数的个数) 阅读全文
posted @ 2018-09-28 20:21 bztMinamoto 阅读(206) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 不难看出题目讲的就是线性基 这种最小化权值的问题一般都是贪心的,就是按价值从低到高考虑每一个是否能选 据说贪心的证明得用拟阵我不会 据说这题是实数意义下的线性基我还是不会……据说得用高斯消元…… 所以直接上代码好了…… 阅读全文
posted @ 2018-09-28 19:24 bztMinamoto 阅读(171) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 第一眼:这不会是个倍增LCA暴力合并线性基吧…… 打了一发……A了? 所以这真的是个暴力倍增LCA合并线性基么…… ps:据某大佬说其实可以离线之后用点分做,那样的话因为每次只要合并两个线性基,复杂度可以减一个$log$ 阅读全文
posted @ 2018-09-28 19:01 bztMinamoto 阅读(207) 评论(0) 推荐(1)
摘要:题目描述 给你一个无向图,有n个顶点和m条边,每条边上都有一个非负权值。 我们称一个三元组(u,v,s)是有趣的,当且仅当对于u,v,有一条从u到v的路径(可以经过相同的点和边多次),其路径上的权值异或和为 s 。对于一条路径,如果一条边经过了多次,则计算异或和时也应计算多次。不难证明,这样的三元组 阅读全文
posted @ 2018-09-28 18:20 bztMinamoto 阅读(474) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 考虑贪心 将所有的矿石按价值从大到小排序 如果一块矿石不会和之前的编号异或为0就加入 这个只要判一下它能不能加进线性基里就可以了 据说这个贪心的证明得用拟阵……反正我是不会 阅读全文
posted @ 2018-09-27 21:49 bztMinamoto 阅读(156) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 线性基居然有这性质我还不知道orz 假设$n$个数的线性基中有$k$个数,那么显然共有$2^k$个不同的异或和,而其中每一个异或和的出现次数都是$2^{n-k}$ 感性理解一下的话……就是不在线性基中的每一个数字都可以被线性基中的数字表示出来从而异 阅读全文
posted @ 2018-09-27 21:26 bztMinamoto 阅读(309) 评论(0) 推荐(1)
摘要:洛谷传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 题意: 给你n个数,每个数<=70,问有多少个集合,满足集合中所有数相乘是个完全平方数(空集除外) 题解: 完全看不出这玩意儿和线性基有什么关系……我可能太菜了…… 首先,一个完全平方数分解质因数之后每个质因子都出现偶数次 又因为小于等于$70 阅读全文
posted @ 2018-09-27 20:27 bztMinamoto 阅读(390) 评论(0) 推荐(1)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 首先看到异或就想到线性基 我们考虑有一条路径,那么从这条路径走到图中的任意一个环再走回这条路径上,对答案的贡献是这个环的异或和,走到这个环上的路径对答案是没有影响的 以这张(偷来的)图为例 从$1$走到$n$,先走到环再走回来,那么到环上那条路径( 阅读全文
posted @ 2018-09-27 19:24 bztMinamoto 阅读(361) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 题目大意:求一堆数字能异或出的第$k$大的数是多少 线性基求第k大好珂怕…… 据大佬们说就是把$k$给二进制拆分,如果$k$的第$i$位为1,那么$ans^=b[i]$ 然后就是注意矩阵得消成对角矩阵而不是上三角矩阵…… 这样的话$1$只会出现在对 阅读全文
posted @ 2018-09-27 19:03 bztMinamoto 阅读(172) 评论(0) 推荐(0)
摘要:传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 线性基是个啥玩意儿…… 为啥只要消成上三角矩阵就行了?不是得搞成对角矩阵的么? 阅读全文
posted @ 2018-09-27 18:28 bztMinamoto 阅读(161) 评论(0) 推荐(0)
摘要:一堆博客先扔着,等有空的时候再去看……好像没几个会的…… 以下都是待学习的算法 博弈论 https://www.cnblogs.com/cjyyb/p/9495131.html https://blog.csdn.net/Clove_unique/article/details/53868567 数 阅读全文
posted @ 2018-09-27 18:06 bztMinamoto 阅读(3710) 评论(7) 推荐(4)
摘要:传送门 感觉自己好久不打数据结构已经完全不会了orz…… 据说正解树状数组?然而并不会 首先考虑一下每一次操作,就是把一个人从这一行中取出并放到行的最后,再从最后一列取出放到列的最后 那么这两种操作其实可以看做同一个类型,都是把某一个数取出并放到最后 那么这个可以用splay来搞,用splay维护区 阅读全文
posted @ 2018-09-27 16:07 bztMinamoto 阅读(196) 评论(0) 推荐(0)
摘要:传送门 这题和p2257一样……不过是n和m相同而已…… 所以虽然正解是欧拉函数然而直接改改就行了所以懒得再码一遍了2333 不过这题卡空间,记得mu开short,vis开bool 阅读全文
posted @ 2018-09-27 14:09 bztMinamoto 阅读(225) 评论(0) 推荐(0)
摘要:传送门 考虑将所有的区间按长度排序 考虑怎么判断点被多少区间覆盖,这个可以离散化之后用一棵权值线段树来搞 然后维护两个指针$l,r$,当被覆盖次数最多的点的覆盖次数小于$m$时不断右移$r$,在覆盖次数大于等于$m$时不断右移$l$,然后每一次用$len[r]-len[l]$更新答案,其中$len$ 阅读全文
posted @ 2018-09-26 21:53 bztMinamoto 阅读(206) 评论(0) 推荐(0)
摘要:传送门 不考虑$a$的影响 设$f(i)$为$i$的约数和 $$ans=\sum\limits_{i=1}^n\sum\limits_{j=1}^nf(gcd(i,j))$$ $$=\sum\limits_{d=1}^nf(d)\sum\limits_{i=1}^{\lfloor \frac n d 阅读全文
posted @ 2018-09-26 21:10 bztMinamoto 阅读(157) 评论(0) 推荐(0)
摘要:翻译 有0~m-1的数被分成了两个集合每次你可以从两个集合中任取一个数做加法并对m取模问最后0~m-1中不能被组合出来的数有多少个会给出你A集合 大小不超过200000m<=1e9 完了题解都看不太懂……完全不知道讲的是啥…… 考虑一个数$a$,如果它不能被表示出来,那么对于每一个$x\in A$, 阅读全文
posted @ 2018-09-26 19:00 bztMinamoto 阅读(201) 评论(0) 推荐(0)
摘要:传送门 据说这题做法叫做可持久化trie树?(然而我并不会) 首先考虑一下贪心,从高位到低位枚举,如果能选1肯定比选0优 假设已经处理到了$b$的第$i$位,为1(为0的话同理就不说了) 那么只有当$a_j+x$的第$i$位为0时才能让答案的第$i$位为$1$ 考虑把$x$的影响去掉。如果当前的答案 阅读全文
posted @ 2018-09-26 17:54 bztMinamoto 阅读(195) 评论(0) 推荐(0)
摘要:传送门 yyb大佬太强啦…… 感觉还是有一点地方没有搞懂orz 阅读全文
posted @ 2018-09-25 22:01 bztMinamoto 阅读(241) 评论(0) 推荐(0)
摘要:传送门 不会,先坑着 https://kelin.blog.luogu.org/solution-p1587 阅读全文
posted @ 2018-09-25 21:10 bztMinamoto 阅读(388) 评论(0) 推荐(0)
摘要:传送门 求第$k$个没有完全平方数因数的数 一开始是想筛一波莫比乌斯函数,然后发现时间复杂度要炸 于是老老实实看了题解 一个数的排名$k=x-\sum_{i=1}^{x}{(1-|\mu(i)|)}$ 因为$k$是不降的,所以我们可以考虑二分 那么如何计算区间$[1,x]$的无完全平方数因数的数的个 阅读全文
posted @ 2018-09-25 17:52 bztMinamoto 阅读(242) 评论(0) 推荐(0)
摘要:传送门 首先,进行如下处理 如果$L$是$K$的倍数,那么让它变成$\frac{L}{K}$,否则变成$\frac{L}{K}+1$ 把$H$变成$\frac{H}{K}$ 那么,现在的问题就变成了在$[L,H]$范围内选$n$个数并令他们的$gcd$为$1$的方案数 然后令$f[i]$表示选出的数 阅读全文
posted @ 2018-09-25 16:41 bztMinamoto 阅读(289) 评论(0) 推荐(0)
摘要:传送门 不会…… 两篇加在一起都看不懂…… https://www.cnblogs.com/cellular-automaton/p/8241128.html https://www.luogu.org/blog/cjyyb/solution-p3768 阅读全文
posted @ 2018-09-25 16:20 bztMinamoto 阅读(379) 评论(0) 推荐(0)
摘要:传送门 式子好麻烦orz……大佬好腻害orz->这里 阅读全文
posted @ 2018-09-25 15:20 bztMinamoto 阅读(202) 评论(0) 推荐(0)
摘要:传送门 我们考虑容斥,设$ans(a,b)=\sum_{i=1}^a\sum_{j=1}^b[gcd(a,b)==k]$,这个东西可以和这一题一样去算洛谷P3455 [POI2007]ZAP-Queries 然后只要在这上面加个容斥就好了,答案就是$ans(b,d)-ans(b,c-1)-ans(a 阅读全文
posted @ 2018-09-25 14:51 bztMinamoto 阅读(227) 评论(0) 推荐(0)
摘要:传送门 公式太长了……我就直接抄一下这位大佬好了……实在懒得打了 首先据说$d(ij)$有个性质$$d(ij)=\sum_{x|i}\sum_{y|j}[gcd(x,y)=1]$$ 我们所求的答案为$$ans=\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)$$ $$ans=\su 阅读全文
posted @ 2018-09-21 22:32 bztMinamoto 阅读(238) 评论(0) 推荐(0)
摘要:传送门 设$$f(k)=\sum_{i=1}^{a}\sum_{j=1}^{b}[gcd(i,j)=k]$$ $$g(n)=\sum_{n|k}f(k)=\lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor$$ 根据莫比乌斯反演定理可以推出$$f(n) 阅读全文
posted @ 2018-09-21 21:53 bztMinamoto 阅读(155) 评论(0) 推荐(0)
摘要:传送门 原来……莫比乌斯反演是这么用的啊……(虽然仍然不是很明白) 首先,题目所求如下$$\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=prim]$$ 我们设$f(d)$表示$gcd(i,j)=d$的$(i,j)$的对数,$g(d)$表示存在公因数为$d$的$(i,j)$的对数 阅读全文
posted @ 2018-09-21 21:20 bztMinamoto 阅读(331) 评论(0) 推荐(0)
摘要:传送门 坑着,联赛活着回来再填(死了就不填了) 阅读全文
posted @ 2018-09-21 18:54 bztMinamoto 阅读(356) 评论(0) 推荐(0)
摘要:传送门 不明白为什么大佬们一眼就看出这是最小割…… 所以总而言之这就是一个最小割我也不知道为什么 然后边数太多直接跑会炸,所以要把平面图转对偶图,然后跑一个最短路即可 至于建图……请看代码我实在无能为力 阅读全文
posted @ 2018-09-21 17:12 bztMinamoto 阅读(281) 评论(0) 推荐(0)
摘要:传送门 很明显题目要求的东西可以写成$\sum_{i=1}^{n}\sum_{j=1}^m gcd(i,j)*2-1$(一点都不明显) 如果直接枚举肯定爆炸 那么我们设$f[i]$表示存在公因数$i$的数的对数 然而$i$并不一定是这几对数的最大公因数 那么怎么办呢?考虑容斥 以$i$为最大公因数的 阅读全文
posted @ 2018-09-20 22:35 bztMinamoto 阅读(189) 评论(0) 推荐(0)
摘要:传送门 为什么感觉状压dp都好玄学……FlashHu大佬太强啦…… 设$f_{i,j}$表示当前选的点集为$i$,下一次要加入的点集为$j$时,新加入的点和原有的点之间的最小边权。具体的转移可以枚举$i$,然后枚举$i$的补集$j$,找出$j$的$lowbit_j$ 那么转移就是$$f_{i,j}= 阅读全文
posted @ 2018-09-20 21:21 bztMinamoto 阅读(164) 评论(0) 推荐(0)
摘要:传送门 这最短路的建图怎么和网络流一样玄学…… 一个最朴素的想法是从每一个点向它能到达的所有点连边,边权为跳的次数,然后跑最短路(然而边数是$O(n^2)$除非自创复杂度比spfa和dijkstra还有优秀的做法否则根本过不了) 那么考虑一下分块 把每一座建筑拆成$O(\sqrt{n})$层,第$i 阅读全文
posted @ 2018-09-20 20:32 bztMinamoto 阅读(276) 评论(0) 推荐(0)
摘要:传送门 话说莫非所有位运算都可以用贪心解决么……太珂怕啦…… 一直把或运算看成异或算我傻逼…… 考虑从高位到低位贪心,如果能使答案第$i$位为0那么肯定比不为$0$更优 然后考虑第$i$位是否能为$0$ 设$f[i][j]$表示将前$i$个数分为$j$段,能否在最高位到第$i+1$位都与当前$ans 阅读全文
posted @ 2018-09-20 18:58 bztMinamoto 阅读(209) 评论(0) 推荐(0)
摘要:传送门 我有种自己根本没学过SAM的感觉……最后还是抄了老半天的题解…… 首先,对$S$和每一次的$T$都建一个SAM 先考虑一下$l=1,r=\left| S \right|$的情况 设$lim_i$表示字符串$T[1..i]$能在$S$中匹配到的最长后缀(即$T[i-lim_i+1,i]$是$S 阅读全文
posted @ 2018-09-20 18:12 bztMinamoto 阅读(1361) 评论(2) 推荐(6)
摘要:传送门 前置技能,克鲁斯卡尔重构树 我们按道路的高度建一个最大生成树,然后建好克鲁斯卡尔重构树 那么我们需要知道一颗子树内到1点距离最近是多少(除此之外到子树内任何一个点都不需要代价) 可以一开始直接跑一个dijkstra(关于SPFA,他死了) 然后一遍树形dp就可以了 阅读全文
posted @ 2018-09-20 15:42 bztMinamoto 阅读(230) 评论(0) 推荐(0)
摘要:传送门 据说离线做法是主席树上树+启发式合并(然而我并不会) 据说bzoj上有强制在线版本只能用克鲁斯卡尔重构树,那就好好讲一下好了 这里先感谢LadyLex大佬的博客->这里 克鲁斯卡尔重构树可以用来解决一类诸如“查询从某个点出发经过边权不超过val的边所能到达的节点”的问题 首先不难发现,上面这 阅读全文
posted @ 2018-09-20 14:51 bztMinamoto 阅读(898) 评论(0) 推荐(1)
摘要:传送门 嗯……概率期望这东西太神了…… 先考虑一下最佳方案,肯定是从大到小亮的就灭(这个仔细想一想应该就能发现) 那么直接一遍枚举就能$O(nlogn)$把这个东西给搞出来 然后考虑期望dp,设$f[i]$表示从$i$个正确选项中选择一个正确的变为$i-1$个的期望次数 那么$$f[i]=\frac 阅读全文
posted @ 2018-09-19 21:27 bztMinamoto 阅读(187) 评论(0) 推荐(0)
摘要:传送门 考虑树上乱搞 首先这是满足二分性质的,如果在某个时间可以完成工作那么比他更长的时间肯定也能完成工作 然后考虑二分,设当前答案为$mid$,如果有一条链的长度大于$mid$,那么这条链上必须得删去一条边。我们可以贪心的删去所有可以删去的边中最长的,然后看看最长边减去删去的边是否小于等于$mid 阅读全文
posted @ 2018-09-19 20:59 bztMinamoto 阅读(337) 评论(0) 推荐(0)
摘要:传送门 我们定义$(p,l,r)=max\{sum[t]-sum[p-1],p+l-1\leq t\leq p+r-1 \}$ 那么因为对每一个$p$来说$sum[p-1]$是一个定值,所以我们只要在$[p+l-1,p+r-1]$的区间里找出最大的$sum[t]$就行了,这就是一个RMQ问题,开个S 阅读全文
posted @ 2018-09-19 19:29 bztMinamoto 阅读(176) 评论(0) 推荐(0)
摘要:传送门 坑着,等联赛之后再填(联赛挂了就不填了233) 阅读全文
posted @ 2018-09-18 18:41 bztMinamoto 阅读(312) 评论(0) 推荐(0)
摘要:传送门 先坑着,联赛活着回来的话我就写(意思就是我绝对不会写了) 阅读全文
posted @ 2018-09-18 17:43 bztMinamoto 阅读(198) 评论(0) 推荐(0)
摘要:传送门 神仙题啊……不看题解我可能一年都不一定做得出来……FlashHu大佬太强啦 到底是得有怎样的脑回路才能一眼看去就是费用流啊…… 建好图之后套个板子就好了,那么我们着重来讨论一下怎么建图 首先,对于每一个水管的支管,有且仅有一个其他支管与他相连,那么就不会漏水了。用网络流的说法,就是要每个支管 阅读全文
posted @ 2018-09-18 15:38 bztMinamoto 阅读(224) 评论(0) 推荐(0)
摘要:传送门 感觉对斯坦纳树还是有很多疑惑啊…… 等到时候noip没有爆零的话再回来填坑好了 阅读全文
posted @ 2018-09-17 22:08 bztMinamoto 阅读(379) 评论(0) 推荐(0)
摘要:传送门 大概是算第一道自己做出来的插头dp? (虽然都是照着抄板子的) (虽然有个地方死活没调出来最后只能看题解才发现自己错在哪里的) 我就当你们都会插头dp了…… 因为必须得是一条路径,所以扫描线上的插头得两两对应,要用括号序列 然后分情况讨论一下,记$p1$为当前关键格左边的插头,$p2$为当前 阅读全文
posted @ 2018-09-17 20:50 bztMinamoto 阅读(337) 评论(0) 推荐(0)
摘要:传送门 感谢大佬的教导->这里 容易注意到,本题的合法路径“L型地板”有一些特殊的地方:拐弯且仅拐弯一次。 这由于一条路径只有两种状态:拐弯过和没拐弯过,因此我们可以尝试着这样定义新的插头: 我们使用三进制,0代表没有插头,1代表没拐弯过的路径,2代表已经拐弯过的路径。 依然设当前转移到格子(x,y 阅读全文
posted @ 2018-09-16 21:25 bztMinamoto 阅读(294) 评论(0) 推荐(0)
摘要:传送门 太神仙了……讲不来讲不来->这里 阅读全文
posted @ 2018-09-16 17:38 bztMinamoto 阅读(358) 评论(0) 推荐(0)
摘要:传送门 先坑着,等啥时候会了再来填坑 不得不说思路真的是很妙啊 阅读全文
posted @ 2018-09-16 15:27 bztMinamoto 阅读(152) 评论(0) 推荐(0)
摘要:传送门 这题思路太清奇了……->题解 阅读全文
posted @ 2018-09-14 21:02 bztMinamoto 阅读(452) 评论(0) 推荐(1)
摘要:传送门 HEOI的题好珂怕啊(各种意义上) 然后考虑树形dp,以大于为例 设$f[i][j]$表示$i$这个节点在子树中排名第$j$位时的总方案数(因为实际只与相对大小有关,与实际数值无关) 我们考虑如果从当前子树中弄出$k$个节点,其他子树中弄出$j-1$个节点,那么当前节点的大小排名就是$k+j 阅读全文
posted @ 2018-09-14 18:07 bztMinamoto 阅读(258) 评论(0) 推荐(0)
摘要:传送门 首先可以直接把整个序列建成一个完全二叉树的结构,这个应该都看得出来 然后考虑树形dp,以大于为例 设$f[i][j]$表示$i$这个节点在子树中排名第$j$位时的总方案数(因为实际只与相对大小有关,与实际数值无关) 我们考虑如果从当前子树中弄出$k$个节点,其他子树中弄出$j-1$个节点,那 阅读全文
posted @ 2018-09-13 21:54 bztMinamoto 阅读(204) 评论(0) 推荐(0)
摘要:传送门 好像用SAM写的很少诶…… 其实我一开始也没想到要用SAM的……主要是没有想到找的时候可以dfs…… 首先建一个SAM,然后跑一遍dfs,枚举一下下一位,如果相同直接继续,否则就花费一次次数来改变它,保证改变次数小于等于3就行了 阅读全文
posted @ 2018-09-13 21:17 bztMinamoto 阅读(113) 评论(0) 推荐(0)
摘要:传送门 考虑一下,如果串B在串A中出现过,那么A的fail指针必定直接或间接指向B 那么我们可以把fail树建起来,那么就变成B代表的节点的子树里有多少节点属于A 然后这就是一个序列统计问题,直接用dfs序+树状数组可以维护 具体的操作就是,先把每一个点有关的询问给存起来,然后等到在trie树上一遍 阅读全文
posted @ 2018-09-13 20:45 bztMinamoto 阅读(200) 评论(0) 推荐(0)
摘要:传送门 建好trie树 当$dp[j]==1$当且仅当存在$dp[k]=1$且$T[k+1,j]==word[i]$ 然后乱搞就行了 阅读全文
posted @ 2018-09-13 18:34 bztMinamoto 阅读(238) 评论(0) 推荐(0)
摘要:传送门 好像这题的确只能用AC自动机做了……Aufun大佬太强啦 正着难我们反着做,用总共单词个数减去没有一个单词都不包含的 然后考虑怎么处理一个单词都不包含的,就是跑不到单词的结尾节点 定义$f[i][j]$为当前在自动机上$j$点且串长为$i$时的方案总数,然后只要从父亲往儿子不断转移就好了 顺 阅读全文
posted @ 2018-09-13 18:06 bztMinamoto 阅读(177) 评论(0) 推荐(0)
摘要:传送门 大佬讲的真吼->这里 首先考虑dp,设$f[i][j]$表示长串匹配到第$i$位,短串最多匹配到$j$位时的方案数 那么答案就是$\sum_{i=0}^{m-1}f[n][i]$ 然后考虑一下dp的转移,一种是加进的新字符$i+1$与$j+1$匹配,那么$dp[i][j]$可以直接转移到$d 阅读全文
posted @ 2018-09-13 15:06 bztMinamoto 阅读(197) 评论(0) 推荐(0)
摘要:传送门 统计单词出现次数……为啥大家都是写AC自动机的嘞……明明后缀自动机也能做的说…… 统计出现次数这个就直接按长度排序然后做个dp就好,这是SAM的板子的要求啊,不提了 然后考虑怎么让所有串之间隔开。本来打算建个广义SAM后来发现没办法处理子串重复的情况……然后就按题解里的方法在每两个串之间加入 阅读全文
posted @ 2018-09-13 14:33 bztMinamoto 阅读(169) 评论(0) 推荐(0)
摘要:题意翻译 给定一个长度为n的小写字母串。问你有多少对相交的回文子 串(包含也算相交) 。 输入格式 第一行是字符串长度n(1<=n<=2*10^6),第二行字符串 输出格式 相交的回文子串个数%51123987 题解 直接判断相交的回文串很难 那我们考虑找出所有不相交的回文串 数量就是所有以$i$结 阅读全文
posted @ 2018-09-12 18:53 bztMinamoto 阅读(354) 评论(0) 推荐(1)
摘要:前言 刚学完manacher就来学回文自动机…… 感觉好像(板子)也不是很难(背)? 前置知识:Manacher(也不一定非要因为和这个没啥关系),知道自动机是个啥以及怎么建 简述 回文树和回文自动机指的是同一个东西 是由某西伯利亚人于2014夏发明的 这东西主要是用于计数,计算回文串的个数以及种类 阅读全文
posted @ 2018-09-11 21:55 bztMinamoto 阅读(3386) 评论(6) 推荐(4)
摘要:传送门 回文自动机的好题啊 先建一个回文自动机,然后记$dp[i]$表示转移到$i$节点代表的回文串的最少的需要次数 首先肯定2操作越多越好,经过2操作之后的串必定是一个回文串,所以最后的答案肯定是由一个回文串+不断暴力添加得来,那么答案就是$min(ans,dp[i]+n-len[i])$ 然后对 阅读全文
posted @ 2018-09-11 21:14 bztMinamoto 阅读(225) 评论(0) 推荐(0)
摘要:传送门 听说有大佬用manacher$O(n)$过此题……太强啦…… 说一下PAM的做法吧。(看了题解之后发现)蛮简单的 我们肯定要先建出回文自动机的 然后如果是枚举每一个节点暴跳fail指针肯定得T 那么我们对于每一个节点记录一个$trans[i]$,表示小于等于它长度一半的节点 这个可以在建自动 阅读全文
posted @ 2018-09-11 19:12 bztMinamoto 阅读(202) 评论(0) 推荐(0)
摘要:传送门 话说回文自动机我自己都还没搞懂呢…… 等到时候会了再来填坑 阅读全文
posted @ 2018-09-11 18:43 bztMinamoto 阅读(173) 评论(0) 推荐(0)
摘要:前言 Manacher(也叫马拉车)是一种用于在线性时间内找出字符串中最长回文子串的算法 算法 一般的查找回文串的算法是枚举中心,然后往两侧拓展,看最多拓展出多远。最坏情况下$O(n^2)$ 然而Manacher能够充分利用回文的性质 首先,回文分为奇回文(比如$aba$)和偶回文(比如$abba$ 阅读全文
posted @ 2018-09-11 15:56 bztMinamoto 阅读(565) 评论(1) 推荐(2)
摘要:传送门 整体二分 先二分一个答案,判断是否可行,把可行的全都扔到左边,不可行的扔到右边 判断是否可行用树状数组就行 具体细节看代码好了 整体二分细节真多……也可能是我大脑已经退化了? 阅读全文
posted @ 2018-09-10 22:11 bztMinamoto 阅读(151) 评论(0) 推荐(0)
摘要:传送门 首先,考虑只有狼和羊怎么办。我们把源点向所有羊连边,容$inf$,所有狼向汇点连边,容$inf$,然后羊向周围所有的狼连边,容$1$。那么,只要求一个割就能把狼和羊给分开,求一个最小割就是答案 那么考虑要怎么处理值为0的点 我们假设在网络流图中有这么一条边$S->羊->0->狼->T$,为了 阅读全文
posted @ 2018-09-10 21:14 bztMinamoto 阅读(285) 评论(0) 推荐(0)
摘要:传送门 感觉这题的思路还是挺不错的。然而为啥全网就一个题解而且只有代码……然后我只好看着代码理解了好久…… 题意就是有一棵树,每一个节点向他父亲节点连边,且有一个容量表示每一秒可以经过的牛的数量,每一个点有一堆牛,在满足容量限制的情况下可以不断往祖先跳直到跳到1节点。然后问你在保证总时间最短的情况下 阅读全文
posted @ 2018-09-10 20:36 bztMinamoto 阅读(576) 评论(0) 推荐(2)
摘要:传送门 完了我好像连分层图最短路都不会了……果然还是太菜了…… 具体来说就是记录一个步数表示免费了几条边,在dijkstra的时候以步数为第一关键字,距离为第二关键字。枚举边的时候分别枚举免不免费下一条边。然后其他基本就和普通的dijkstra一样了 据说这题卡spfa,特意把刚写好的spfa给改了 阅读全文
posted @ 2018-09-09 19:25 bztMinamoto 阅读(267) 评论(0) 推荐(0)
摘要:传送门 题解在此,讲的蛮清楚的->这里 我就贴个代码 阅读全文
posted @ 2018-09-09 15:49 bztMinamoto 阅读(194) 评论(0) 推荐(0)
摘要:传送门 FlashHu大佬太强啦%%% 首先,我们可以根据每一个点的权值为$1$的儿子的个数把每个点记为$0~3$,表示这一个点的点权 先考虑一下暴力的过程,假设从$0$变为$1$,先更改一个叶子结点,然后不断地往上更新,如果更改之后父亲的儿子中权值为$1$的儿子个数大于权值为$0$的儿子个数,那么 阅读全文
posted @ 2018-09-09 15:24 bztMinamoto 阅读(433) 评论(0) 推荐(0)
摘要:传送门 md调了一个晚上最后发现竟然是空间开小了……明明算出来够的…… 讲真其实我以前不太瞧得起分块,觉得这种基于暴力的数据结构一点美感都没有。然而今天做了这道分块的题才发现分块的暴力之美(如果我空间没有开小就更美了) 我们先将整个数组分块,设块的大小为$T$ 我们先预处理出所有以块边界为端点的区间 阅读全文
posted @ 2018-09-07 21:56 bztMinamoto 阅读(271) 评论(0) 推荐(0)
摘要:传送门 题目要求$\sum_{i=1}^n k\%i$ 那么就是$\sum_{i=1}^n k\%i=\sum_{i=1}^n k-i*\left\lfloor\frac{k}{i}\right\rfloor=n*k-\sum_{i=1}^n i*\left\lfloor\frac{k}{i}\ri 阅读全文
posted @ 2018-09-06 14:44 bztMinamoto 阅读(164) 评论(0) 推荐(0)
摘要:传送门 首先,对于每一块墓地,如果上下左右各有$a,b,c,d$棵树,那么总的虔诚度就是$C_k^a*C_k^b*C_k^c*C_k^d$ 那么我们先把所有的点都给离散,然后按$x$为第一关键字,$y$为第二关键字,那么同一横坐标的一定在连续的一段且纵坐标递增 那么对于同一横坐标的两棵常青树,在他们 阅读全文
posted @ 2018-09-06 14:25 bztMinamoto 阅读(184) 评论(0) 推荐(0)
摘要:传送门 矩阵这玩意儿太腻害了……非得我冥(kan)思(le)苦(ti)想(jie)才会…… 先考虑递推方程$f[n]=f[n-1]*10^{len(n)}+n$ 然后用矩阵加速 $$\begin{bmatrix}f[n]&n&1\end{bmatrix}=\begin{bmatrix}f[n-1]& 阅读全文
posted @ 2018-09-05 19:12 bztMinamoto 阅读(122) 评论(0) 推荐(0)
摘要:传送门 话说谁能告诉我矩阵怎么用latex表示…… 差不多就这样 阅读全文
posted @ 2018-09-05 18:38 bztMinamoto 阅读(161) 评论(0) 推荐(0)
摘要:传送门 不难得到状态转移矩阵 然后带进去乱搞 阅读全文
posted @ 2018-09-05 18:29 bztMinamoto 阅读(165) 评论(0) 推荐(0)
摘要:传送门 从今天开始学习矩阵快速幂.jpg 阅读全文
posted @ 2018-09-05 18:07 bztMinamoto 阅读(187) 评论(0) 推荐(0)
摘要:传送门 分块树,代码参考了Manchery的 具体细节还是看代码好了 这题卡常……注意常数写好点…… 阅读全文
posted @ 2018-09-04 21:26 bztMinamoto 阅读(335) 评论(0) 推荐(0)
摘要:传送门 不得不说这思路真是太妙了 考虑能构成三元组很难,那我们考虑不能构成三元组的情况是怎么样 就是说一个三元组$(a,b,c)$,其中$a$赢两场,$b$赢一场,$c$没有赢 所以如果第$i$个人赢了$w_i$场,那么总共的不能构成的三元组就是$\sum_i{w_i*(w_i-1)}{2}$ 最大 阅读全文
posted @ 2018-09-04 20:38 bztMinamoto 阅读(253) 评论(0) 推荐(0)
摘要:传送门 这该死的码农题…… 题解在这儿->这里 阅读全文
posted @ 2018-09-04 17:53 bztMinamoto 阅读(208) 评论(0) 推荐(0)
摘要:传送门 别说话,自己看,我不会->这里 我这里用的建图方法是先跑一次最大流,连上$(t,s,inf)$之后再跑一遍,然后答案就是之前连的那条边的反向边的流量 据说还有种方法是连上$(t,s,inf)$之后跑一遍,记录这条边反向边流量,再拆掉边以及$ss$和$tt$,然后再跑一次最大流,答案就是之前记 阅读全文
posted @ 2018-09-04 15:14 bztMinamoto 阅读(225) 评论(0) 推荐(0)
摘要:传送门 其实这题的建图并不难(虽然我并没有想出来) 首先,每一个点的入度和出度必须为$1$ 那么我们考虑拆点 每个点的出度点向它能到达的点的入度点连边,容量$1$,如果方向为原来的方向则费用$0$否则费用$1$ 然后源点向所有入度点连边,所有出度点向汇点连边 因为费用流首先是最大流,所以肯定能跑满 阅读全文
posted @ 2018-09-03 21:08 bztMinamoto 阅读(163) 评论(0) 推荐(0)
摘要:传送门 ps:费用流增广的时候费用和流量打反了……调了一个多小时 每个数只能参与一次配对,那么这就是一个匹配嘛 我们先把每个数分解质因数,记质因子总个数为$cnt_i$,那如果$a_i/a_j$是质数当且仅当$cnt_i=cnt_j+1$且$a_i/a_j==0$ 那么我们根据$cnt_i$的奇偶性 阅读全文
posted @ 2018-09-03 20:27 bztMinamoto 阅读(164) 评论(0) 推荐(0)
摘要:传送门 表示完全看不懂最小费用可行流…… 据某大佬说 我们考虑拆点,然后进行如下连边 $s$向$a_i$连边,权值$0$,容量$[0,m]$ $a_i$向$a_i'$连边,权值$0$容量$[v_i,v_i]$ 如果存在边$(i,j)$,则连边$a_i'->a_i$,权值为$w_{i,j}$,容量$[ 阅读全文
posted @ 2018-09-03 18:34 bztMinamoto 阅读(169) 评论(0) 推荐(0)
摘要:传送门 考虑源点为同意,汇点为反对,那么只要源点向同意的连边,不同意的向汇点连边,求个最小割就是答案 然后考虑朋友之间怎么办,我们令朋友之间连双向边。这样不管怎么割都能对应一种选择情况。那么还是求一个最小割就行了 阅读全文
posted @ 2018-09-03 17:50 bztMinamoto 阅读(167) 评论(0) 推荐(0)
摘要:传送门 一道题让我又要学可行流又要学zkw费用流…… 考虑一下,原题可以转化为一个有向图,每次走一条路径,把每一条边都至少覆盖一次,求最小代价 因为一条边每走过一次,就要付出一次代价 那不就是费用流了么 我们定义每走一次都会对一条边增加1的流量,1然后费用为时间 那么把下界设为1,上界设为inf,跑 阅读全文
posted @ 2018-09-02 21:07 bztMinamoto 阅读(193) 评论(0) 推荐(0)
摘要:传送门 好珂怕…… 树分块是什么东西啊……感觉好暴力…… 直接贴一下好了->这里 阅读全文
posted @ 2018-09-02 19:19 bztMinamoto 阅读(200) 评论(0) 推荐(0)
摘要:传送门 看来以后见到矩形就要黑白染色冷静一下了…… 首先,如果它的要求时候相邻的选择相同,那么就是和这一题一样了->这里 然后考虑不同的要怎么做 那就把矩形黑白染色一下吧 然后令其中一种颜色的A,B反过来,那么就和上面那道题一样了 阅读全文
posted @ 2018-09-02 18:32 bztMinamoto 阅读(202) 评论(0) 推荐(0)
摘要:传送门 为什么大爷们一眼就能看出这题是最小割,我却要仔细思考(并看了眼题解)才能发现…… 首先把$S$当做$A$,$T$当做$B$,然后$S$向对应的点连边容量为种在$A$的获利,连$T$同理。这样只要用全部收益减去最小割就是答案 然后考虑一下组合。我们对于每一个组合拆点,从$S$向入点连边容量为收 阅读全文
posted @ 2018-09-02 18:01 bztMinamoto 阅读(219) 评论(0) 推荐(0)
摘要:传送门 大佬们是怎么一眼看出这是一个最大权闭合子图的……大佬好强->这里 1.把所有区间$(i,j)$看成一个点,如果权值大于0,则从$S$向他连边,容量为权值,否则从它向$T$连边,容量为权值的相反数 2.对于区间$(i,j)$,向所有的寿司$i$到$j$连边,表示选这个区间这些寿司必须选 3.对 阅读全文
posted @ 2018-09-01 21:14 bztMinamoto 阅读(187) 评论(0) 推荐(0)
摘要:传送门 主席树优化建图? 然而我连代码都看不懂 贴个题解好了->这里 阅读全文
posted @ 2018-09-01 20:23 bztMinamoto 阅读(246) 评论(0) 推荐(0)
摘要:传送门 这题是用最小割树做的(不明白最小割树是什么的可以去看看这一题->这里) 有了最小割树就很简单了……点数那么少……每次跑出一个最大流就暴力搞一遍就好了 阅读全文
posted @ 2018-09-01 19:02 bztMinamoto 阅读(199) 评论(0) 推荐(0)
摘要:传送门 首先最大流等于最小割,那么可以转化为最小割树来做(不知道什么是最小割树的可以看看这题->这里) 具体的做法似乎是$hash[i][j]$表示最小割为$i$时点$j$是否与$S$连通 然后据Claris大爷说这题卡dinic,只能用EK 顺便吐槽一句,Claris大爷的代码真的不能看…… 阅读全文
posted @ 2018-09-01 18:17 bztMinamoto 阅读(251) 评论(0) 推荐(0)
摘要:传送门 好神仙……最小割树是个什么东西…… 其实我觉得干脆直接$O(n^2)$跑几个dinic算了…… 来说一下这个叫最小割树的神奇东西 我们先建一个$n$个点,没有边的无向图 在原图中任选两点$s,t$,然后跑一遍最小割。那么在残量网络上的点会分成两个集合,一个属于$s$,一个属于$t$ 我们在无 阅读全文
posted @ 2018-09-01 15:44 bztMinamoto 阅读(404) 评论(0) 推荐(0)
摘要:传送门 膜一下大佬->这里 不难看出这是一个最小割的模型(然而我看不出来) 我们从源点向每一个点连边,容量为他能带来的总收益(也就是他能对其他所有经理产生的贡献) 然后从每一个点向汇点连边,容量为雇佣他的费用 那么考虑一下,如果我们割了源点到他的连线,代表不选他,就损失了相当于容量的利润 如果我们割 阅读全文
posted @ 2018-09-01 14:50 bztMinamoto 阅读(114) 评论(0) 推荐(0)
摘要:传送门 据说正解线段树套平衡树 然而网上参考(抄)了一个树状数组套动态开点线段树的 思路比较清楚,看代码应该就明白了 阅读全文
posted @ 2018-09-01 14:14 bztMinamoto 阅读(260) 评论(0) 推荐(0)
摘要:题目描述 高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友。这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文科或者理科,那么他们又将收获一些喜悦值。 作为计算机竞赛教练的scp大老板,想知道如何分配可以使得全 阅读全文
posted @ 2018-09-01 13:22 bztMinamoto 阅读(409) 评论(0) 推荐(0)

Live2D