摘要: https://www.luogu.com.cn/problem/P2261 数论分块 将原式变形,很容易得到以下式子: \[ G(n,k)=n*k-\sum_{i=1}^n \lfloor \frac{k}{i} \rfloor \times i \] 对于$\lfloor\frac\rfloor 阅读全文
posted @ 2020-07-20 19:17 GK0328 阅读(86) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P5905 Johnson 将源点设为$0$,将$0$向每个点连一条边权为$0$的边 先跑一边$SPFA$ 再将$u\rightarrow v$的一条边的边权增加$dis[u]-dis[v]$ 从每个点开始跑$dijkstra$,求出 阅读全文
posted @ 2020-07-20 18:16 GK0328 阅读(92) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/CF1140E \(DP\) 没有长度为奇数的回文串,必定满足没有长度为$3$的回文串 我们要避免$x,y,x$的情况 即$a[i]≠a[i+2]$ 根据这一规律,我们把序列拆成下标分别为奇数和偶数的两个序列分别处理 可以发现,一段$ 阅读全文
posted @ 2020-07-20 18:14 GK0328 阅读(177) 评论(0) 推荐(0) 编辑
摘要: $LaTeX$教程: 看知乎 看百度 $\rightarrow$用箭头$\leftarrow$ 矩阵 符号 符号(多) 两类斯特林数 {n \brack m} {n \brace m} \[ {n \brack m} {n \brace m} \] 附:Markdown字体 阅读全文
posted @ 2020-07-20 17:39 GK0328 阅读(120) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P5826 子序列自动机 首先考虑$O(nm)$的暴力 $nxt[i][j]$表示$i$之后$j$出现的最前位置,很容易处理(具体看代码) 匹配子串一个个跳过去就好了(同上,具体看代码) C++ Code: #include<bits 阅读全文
posted @ 2020-07-20 17:30 GK0328 阅读(114) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P3402 可持久化并查集 利用主席树的性质进行求解 注意弄清楚每个函数的返回值是主席树中的位置还是原序列中的位置(即在哪个集合) \(O(n \log^2n)\) C++ Code: #include<bits/stdc++.h> 阅读全文
posted @ 2020-07-20 17:27 GK0328 阅读(104) 评论(0) 推荐(0) 编辑
摘要: http://hihocoder.com/problemset/problem/1457 后缀自动机 在后缀自动机上拓扑,计算每个节点的答案即可 然而我凉了很久…… 原因:建图数组开小了! 注意:后缀自动机节点数开$2n$,边的条数开$3n$ C++ Code: #include<bits/stdc 阅读全文
posted @ 2020-07-20 17:26 GK0328 阅读(204) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P6139 广义后缀自动机(广义 SAM) 后缀自动机可以处理单串的问题,而多串问题则需要广义后缀自动机。 广义后缀自动机可以用离线处理,也可以在线处理 离线: 将所有字符串建成一颗$trie$树,进行$bfs$,依次将各节点丢进$S 阅读全文
posted @ 2020-07-20 17:24 GK0328 阅读(118) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1845 数学 很容易想到,将数$A$进行质因数分解,然后计算因数和即可 我调了$1.5h$,数学真的烂$QAQ$ 注意:调代码一定不要浮躁,不要觉得自己的代码没有问题 #include<iostream> #include<cstdio> #in 阅读全文
posted @ 2020-07-20 16:42 GK0328 阅读(75) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P1516 扩展欧几里得算法(\(exgcd\)) \[ (x+mt)-(y+nt)=pl \\ (n-m)t+lp=x-y \] 令$a=n-m,b=l,d=x-y$ $exgcd$一下 对$b/gcd(a,b)$取模,可以得到最小 阅读全文
posted @ 2020-07-20 11:58 GK0328 阅读(98) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.com.cn/problem/P4556 线段树合并 线段树合并即合并两颗权值线段树,合并方法非常简单 但是这道题我调了很久 原因:数组开小了QAQ 线段树合并一般数组开$n \log n$级别,然后根据操作次数乘上常数(更大也无伤大雅) 我$ls$,$rs$数组 阅读全文
posted @ 2020-07-20 09:26 GK0328 阅读(137) 评论(0) 推荐(0) 编辑
摘要: $1.$打开'查看->扩展',安装$C/C++$和$C/C++ Compile Run$ $2.$下载$Fira Code$(见此处),打开$tff$,选择$FiraCode-Regular.tff$,进行安装 $3.$打开'文件->首选项',修改$Font Size$为18,修改$Font Fam 阅读全文
posted @ 2020-07-20 07:48 GK0328 阅读(146) 评论(0) 推荐(0) 编辑