博客园 - 自为风月马前卒
uuid:6cbd1ba2-f883-4c34-aed1-30dde64a3a3e;id=713068
2021-08-02T06:48:22Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
feed.cnblogs.com
https://www.cnblogs.com/zwfymqz/p/14165004.html
第三届“传智杯”全国大学生IT技能大赛(初赛A组)题解 - 自为风月马前卒
留念 C - 志愿者 排序。。按照题目规则说的排就可以。wa了两发我太菜了qwq #include<bits/stdc++.h> using namespace std; const int MAXN = 1e6 + 10; inline int read() { char c = getchar(
2020-12-20T12:33:00Z
2020-12-20T12:33:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】留念 C - 志愿者 排序。。按照题目规则说的排就可以。wa了两发我太菜了qwq #include<bits/stdc++.h> using namespace std; const int MAXN = 1e6 + 10; inline int read() { char c = getchar( <a href="https://www.cnblogs.com/zwfymqz/p/14165004.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10809479.html
SDOI 2018二轮题解(除Day2T1) - 自为风月马前卒
~~博主诈尸啦~~ 虽然一轮之后就退役了但是二轮还是要去划划水呀~ 然鹅学了不到一个月文化课再回来看OI的东西有一种恍如隔世的感觉,烤前感觉也没啥可复习的,就补一补去年二轮的题吧。 题目思路基本都参考自shadowice神仙Orz Day2T1没时间做了咕咕咕 物理实验 充满毒瘤气息的计算几何题。。
2019-05-04T11:36:00Z
2019-05-04T11:36:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】~~博主诈尸啦~~ 虽然一轮之后就退役了但是二轮还是要去划划水呀~ 然鹅学了不到一个月文化课再回来看OI的东西有一种恍如隔世的感觉,烤前感觉也没啥可复习的,就补一补去年二轮的题吧。 题目思路基本都参考自shadowice神仙Orz Day2T1没时间做了咕咕咕 物理实验 充满毒瘤气息的计算几何题。。 <a href="https://www.cnblogs.com/zwfymqz/p/10809479.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10662885.html
AFO && OI回忆录 - 自为风月马前卒
技不如人,甘拜下风 今天是2019.4.6,联考第一天,菜鸡attack原题爆炸(其实是都不会)心灰意冷(其实并没有很难过)写下了这篇文章 T1 2h写个跟$k$无关的假算法写到最后发现是三个log,出考场才发现K很小可以直接枚举 T2 神仙题没时间写。 T3 神仙题没猜出后面的题目意思。 Day2
2019-04-06T13:04:00Z
2019-04-06T13:04:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】技不如人,甘拜下风 今天是2019.4.6,联考第一天,菜鸡attack原题爆炸(其实是都不会)心灰意冷(其实并没有很难过)写下了这篇文章 T1 2h写个跟$k$无关的假算法写到最后发现是三个log,出考场才发现K很小可以直接枚举 T2 神仙题没时间写。 T3 神仙题没猜出后面的题目意思。 Day2 <a href="https://www.cnblogs.com/zwfymqz/p/10662885.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10660141.html
兹瓷查rank和kth的STL平衡树 - 自为风月马前卒
兹瓷查rank和kth的STL平衡树 明天就是一轮省选了啊。。这可能是退役前的最后一篇博文了吧(如果心情不好怕是连游记都会咕) 众周所知stl中有一个依靠红黑树实现的nb数据结构 std::set 但是这玩意儿没有维护siz域,也就是不能做类似于询问rank(i)(查询$i$的排名)和kth(i)(
2019-04-05T14:00:00Z
2019-04-05T14:00:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】兹瓷查rank和kth的STL平衡树 明天就是一轮省选了啊。。这可能是退役前的最后一篇博文了吧(如果心情不好怕是连游记都会咕) 众周所知stl中有一个依靠红黑树实现的nb数据结构 std::set 但是这玩意儿没有维护siz域,也就是不能做类似于询问rank(i)(查询$i$的排名)和kth(i)( <a href="https://www.cnblogs.com/zwfymqz/p/10660141.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10638739.html
临时抱佛脚 - 自为风月马前卒
临时抱佛jio 需要打的板子 ~~高斯消元~~ ~~FFT/NTT~~ ~~拉格朗日插值~~ ~~LCT~~ ~~splay~~ ~~K D Tree~~ ~~二分图/最大流/费用流~~ ~~后缀数组后缀自动机~~ 可能还需要重新学一下的东西 整体二分 Polya定理 dp 区间dp 对于满足 $f
2019-04-01T12:32:00Z
2019-04-01T12:32:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】临时抱佛jio 需要打的板子 ~~高斯消元~~ ~~FFT/NTT~~ ~~拉格朗日插值~~ ~~LCT~~ ~~splay~~ ~~K D Tree~~ ~~二分图/最大流/费用流~~ ~~后缀数组后缀自动机~~ 可能还需要重新学一下的东西 整体二分 Polya定理 dp 区间dp 对于满足 $f <a href="https://www.cnblogs.com/zwfymqz/p/10638739.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10634475.html
洛谷P2664 树上游戏(点分治) - 自为风月马前卒
题意 "题目链接" Sol 神仙题。。Orz yyb 考虑点分治,那么每次我们只需要统计以当前点为$LCA$的点对之间的贡献以及$LCA$到所有点的贡献。 一个很神仙的思路是,对于任意两个点对的路径上的颜色,我们只统计里根最近的那个点的贡献。 有了这个思路我们就可以瞎搞了,具体的细节很繁琐,但是大概
2019-04-01T00:58:00Z
2019-04-01T00:58:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 神仙题。。Orz yyb 考虑点分治,那么每次我们只需要统计以当前点为$LCA$的点对之间的贡献以及$LCA$到所有点的贡献。 一个很神仙的思路是,对于任意两个点对的路径上的颜色,我们只统计里根最近的那个点的贡献。 有了这个思路我们就可以瞎搞了,具体的细节很繁琐,但是大概 <a href="https://www.cnblogs.com/zwfymqz/p/10634475.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10630446.html
洛谷P3366 【模板】最小生成树(Boruvka算法) - 自为风月马前卒
题意 "题目链接" Sol 自己yy着写了一下Boruvka算法。 算法思想很简单,就是每次贪心的用两个联通块之间最小的边去合并。 复杂度$O(n \log n)$,然鹅没有Kruskal跑的快,但是好像在一类生成树问题上很有用 cpp include define Pair pair define
2019-03-31T02:37:00Z
2019-03-31T02:37:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 自己yy着写了一下Boruvka算法。 算法思想很简单,就是每次贪心的用两个联通块之间最小的边去合并。 复杂度$O(n \log n)$,然鹅没有Kruskal跑的快,但是好像在一类生成树问题上很有用 cpp include define Pair pair define <a href="https://www.cnblogs.com/zwfymqz/p/10630446.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10628619.html
loj#2312. 「HAOI2017」八纵八横(线性基 线段树分治) - 自为风月马前卒
题意 "题目链接" Sol 线性基+线段树分治板子题。。 调起来有点自闭。。 cpp include define fi first define se second define pb push_back define bit bitset using namespace std; const i
2019-03-30T11:26:00Z
2019-03-30T11:26:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 线性基+线段树分治板子题。。 调起来有点自闭。。 cpp include define fi first define se second define pb push_back define bit bitset using namespace std; const i <a href="https://www.cnblogs.com/zwfymqz/p/10628619.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10627410.html
noi.ac#309 Mas的童年(子集乱搞) - 自为风月马前卒
题意 "题目链接" Sol 记$s_i$表示前$i$个数的前缀异或和,我们每次相当于要找一个$j$满足$0 define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second // define int
2019-03-30T07:07:00Z
2019-03-30T07:07:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 记$s_i$表示前$i$个数的前缀异或和,我们每次相当于要找一个$j$满足$0 define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second // define int <a href="https://www.cnblogs.com/zwfymqz/p/10627410.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10624232.html
loj#6041. 「雅礼集训 2017 Day7」事情的相似度(SAM set启发式合并 二维数点) - 自为风月马前卒
题意 "题目链接" Sol 只会后缀数组+暴躁莫队套set$n \sqrt{n} \log n$但绝对跑不过去。 正解是SAM + set启发式合并 + 二维数点/ SAM + LCT 但是我只会第一种qwq 首先一个性质是两个前缀的最长公共后缀就是他们再parent树上的LCA的len 那么我们考
2019-03-29T14:07:00Z
2019-03-29T14:07:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 只会后缀数组+暴躁莫队套set$n \sqrt{n} \log n$但绝对跑不过去。 正解是SAM + set启发式合并 + 二维数点/ SAM + LCT 但是我只会第一种qwq 首先一个性质是两个前缀的最长公共后缀就是他们再parent树上的LCA的len 那么我们考 <a href="https://www.cnblogs.com/zwfymqz/p/10624232.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10619069.html
loj#6073. 「2017 山东一轮集训 Day5」距离(树链剖分 主席树) - 自为风月马前卒
题意 "题目链接" Sol 首先对询问差分一下,我们就只需要统计$u, v, lca(u, v), fa[lca(u, v)]$到根的路径的贡献。 再把每个点与$k$的lca的距离差分一下,则只需要统计每个点与$k$的lca深度。这个东西等价于所有的链与$k$到根的链的并。 树剖+主席树维护一下。这
2019-03-29T00:49:00Z
2019-03-29T00:49:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 首先对询问差分一下,我们就只需要统计$u, v, lca(u, v), fa[lca(u, v)]$到根的路径的贡献。 再把每个点与$k$的lca的距离差分一下,则只需要统计每个点与$k$的lca深度。这个东西等价于所有的链与$k$到根的链的并。 树剖+主席树维护一下。这 <a href="https://www.cnblogs.com/zwfymqz/p/10619069.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10619059.html
loj#6074. 「2017 山东一轮集训 Day6」子序列(矩阵乘法 dp) - 自为风月马前卒
题意 "题目链接" Sol 设$f[i][j]$表示前$i$个位置中,以$j$为结尾的方案数。 转移的时候判断一下$j$是否和当前位置相同 然后发现可以用矩阵优化,可以分别求出前缀积和逆矩阵的前缀积(这题的逆矩阵炒鸡好求) 这样就可以$n 10^3$ 发现相邻两个矩阵只有一行不同,那么其他的可以直接
2019-03-29T00:46:00Z
2019-03-29T00:46:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 设$f[i][j]$表示前$i$个位置中,以$j$为结尾的方案数。 转移的时候判断一下$j$是否和当前位置相同 然后发现可以用矩阵优化,可以分别求出前缀积和逆矩阵的前缀积(这题的逆矩阵炒鸡好求) 这样就可以$n 10^3$ 发现相邻两个矩阵只有一行不同,那么其他的可以直接 <a href="https://www.cnblogs.com/zwfymqz/p/10619059.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10619039.html
loj#6073. 「2017 山东一轮集训 Day5」距离(费用流) - 自为风月马前卒
题意 "题目链接" Sol 我们可以把图行列拆开,同时对于行/列拆成很多个联通块,然后考虑每个点所在的行联通块/列联通块的贡献。 可以这样建边 从S向每个行联通块连联通块大小条边,每条边的容量为1,费用为$i$(i表示这是第几条边)。 从每个点所在的行联通块向列联通块连边,容量为1,费用为0 从每个
2019-03-29T00:38:00Z
2019-03-29T00:38:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 我们可以把图行列拆开,同时对于行/列拆成很多个联通块,然后考虑每个点所在的行联通块/列联通块的贡献。 可以这样建边 从S向每个行联通块连联通块大小条边,每条边的容量为1,费用为$i$(i表示这是第几条边)。 从每个点所在的行联通块向列联通块连边,容量为1,费用为0 从每个 <a href="https://www.cnblogs.com/zwfymqz/p/10619039.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10612560.html
洛谷P5108 仰望半月的夜空(后缀数组) - 自为风月马前卒
题意 "题目链接" Sol warning:下面这个做法只有95分,本地拍了1w+组都没找到错误我表示十分无能为力 我们考虑每个串的排名去更新答案,显然排名为$1$的后缀的前缀一定是当前长度的字典序最小的答案,但不一定是左端点最小的答案,因此还需要用一个数据结构去维护一下所有可行的左端点。然后枚举所
2019-03-28T00:19:00Z
2019-03-28T00:19:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol warning:下面这个做法只有95分,本地拍了1w+组都没找到错误我表示十分无能为力 我们考虑每个串的排名去更新答案,显然排名为$1$的后缀的前缀一定是当前长度的字典序最小的答案,但不一定是左端点最小的答案,因此还需要用一个数据结构去维护一下所有可行的左端点。然后枚举所 <a href="https://www.cnblogs.com/zwfymqz/p/10612560.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10605181.html
二次剩余Cipolla算法学习笔记 - 自为风月马前卒
对于同余式 $$x^2 \equiv n \pmod p$$ 若对于给定的$n, P$,存在$x$满足上面的式子,则乘$n$在模$p$意义下是二次剩余,否则为非二次剩余 我们需要计算的是在给定范围内所有满足条件的$x$,同时为了方便,我们只讨论$p$是奇质数的情况 前置定理 $x^2 \equiv
2019-03-27T00:58:00Z
2019-03-27T00:58:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】对于同余式 $$x^2 \equiv n \pmod p$$ 若对于给定的$n, P$,存在$x$满足上面的式子,则乘$n$在模$p$意义下是二次剩余,否则为非二次剩余 我们需要计算的是在给定范围内所有满足条件的$x$,同时为了方便,我们只讨论$p$是奇质数的情况 前置定理 $x^2 \equiv <a href="https://www.cnblogs.com/zwfymqz/p/10605181.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10603943.html
BZOJ5118: Fib数列2(二次剩余) - 自为风月马前卒
题意 "题目链接" 题目链接 一种做法是直接用欧拉降幂算出$2^p \pmod{p 1}$然后矩阵快速幂。 但是今天学习了一下二次剩余,也可以用通项公式+二次剩余做。 就是我们猜想$5$在这个模数下有二次剩余,拉个板子发现真的有。 然求出来直接做就行了 cpp include define Pair
2019-03-26T13:36:00Z
2019-03-26T13:36:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" 题目链接 一种做法是直接用欧拉降幂算出$2^p \pmod{p 1}$然后矩阵快速幂。 但是今天学习了一下二次剩余,也可以用通项公式+二次剩余做。 就是我们猜想$5$在这个模数下有二次剩余,拉个板子发现真的有。 然求出来直接做就行了 cpp include define Pair <a href="https://www.cnblogs.com/zwfymqz/p/10603943.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10596827.html
BZOJ3122: [Sdoi2013]随机数生成器(BSGS) - 自为风月马前卒
题意 "题目链接" Sol 这题也比较休闲。 直接把$X_{i+1} = (aX_i + b) \pmod P$展开,推到最后会得到这么个玩意儿 $$ a^{i 1} (x_1 + \frac{b}{a 1}) \frac{b}{a 1} \equiv T \pmod P $$ 然后再合并一下就可以
2019-03-25T13:33:00Z
2019-03-25T13:33:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 这题也比较休闲。 直接把$X_{i+1} = (aX_i + b) \pmod P$展开,推到最后会得到这么个玩意儿 $$ a^{i 1} (x_1 + \frac{b}{a 1}) \frac{b}{a 1} \equiv T \pmod P $$ 然后再合并一下就可以 <a href="https://www.cnblogs.com/zwfymqz/p/10596827.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10596157.html
loj#2531. 「CQOI2018」破解 D-H 协议(BSGS) - 自为风月马前卒
题意 "题目链接" Sol 搞个BSGS板子出题人也是很棒棒哦 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second define int long long def
2019-03-25T12:03:00Z
2019-03-25T12:03:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 搞个BSGS板子出题人也是很棒棒哦 cpp include define Pair pair define MP(x, y) make_pair(x, y) define fi first define se second define int long long def <a href="https://www.cnblogs.com/zwfymqz/p/10596157.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10590303.html
noi.ac #289. 电梯(单调队列) - 自为风月马前卒
题意 "题目链接" Sol 傻叉的我以为给出的$t$是单调递增的,然后$100\rightarrow0$ 首先可以按$t$排序,那么转移方程为 $f[i] = min_{j=0}^{i 1}(max(t[i], f[j]) + 2 max_{k=j+1}^i x[k])$ 不难发现,若$i defi
2019-03-24T12:55:00Z
2019-03-24T12:55:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 傻叉的我以为给出的$t$是单调递增的,然后$100\rightarrow0$ 首先可以按$t$排序,那么转移方程为 $f[i] = min_{j=0}^{i 1}(max(t[i], f[j]) + 2 max_{k=j+1}^i x[k])$ 不难发现,若$i defi <a href="https://www.cnblogs.com/zwfymqz/p/10590303.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zwfymqz/p/10589575.html
51nod“省选”模测第二场 C 小朋友的笑话(线段树 set) - 自为风月马前卒
题意 "题目链接" Sol 直接拿set维护$li$连续段。因为set内的区间互不相交,而且每个线段会被至多加入删除一次,所以复杂度是对的。 cpp include define Pair pair define MP make_pair define fi first define se seco
2019-03-24T11:08:00Z
2019-03-24T11:08:00Z
自为风月马前卒
https://www.cnblogs.com/zwfymqz/
【摘要】题意 "题目链接" Sol 直接拿set维护$li$连续段。因为set内的区间互不相交,而且每个线段会被至多加入删除一次,所以复杂度是对的。 cpp include define Pair pair define MP make_pair define fi first define se seco <a href="https://www.cnblogs.com/zwfymqz/p/10589575.html" target="_blank">阅读全文</a>