07 2019 档案

摘要:splay 阅读全文
posted @ 2019-07-24 15:19 整理者 阅读(294) 评论(0) 推荐(0) 编辑
摘要:```cpp include define inf 2147483647 using namespace std; const int N=100010; int ch[N][2],val[N],key[N],sz[N],tot; struct FHQtreap{ int rt,x,y,z; inl 阅读全文
posted @ 2019-07-24 15:18 整理者 阅读(204) 评论(0) 推荐(0) 编辑
摘要:```cpp #include using namespace std; const int N=100010; int root,tot; int sz[N],val[N],ch[N][2],fa[N]; void pushup(int x){ if(!x)return; sz[x]=1; if(ch[x][0])sz[x]+=sz[ch[x][0]],fa[ch[x][0]]=x;... 阅读全文
posted @ 2019-07-22 21:04 整理者 阅读(184) 评论(0) 推荐(0) 编辑
摘要:区间DP 设$f[i][j]$为从$i$到$j$这段区间被修正为回文串的最小花费,$c[ch][0]$为添加字符$ch$的花费,$c[ch][1]$为删去字符$ch$的花费,$s$为题目给出的串。为可以用如下几个转移: 用$[i+1,j]$区间转移:这种转移相当于在$[i+1,j]$区间的左边加入一 阅读全文
posted @ 2019-07-09 15:18 整理者 阅读(325) 评论(0) 推荐(0) 编辑
摘要:矩阵乘法(快速幂) 为说明方便,这里让$k$为点数,$n$为路径长度。 先将点都离散化,这样最后的点只有$2k$个。 先考虑一种暴力,每次用$O(k^3)$的复杂度来暴力更新,设当前长度$l$点的两两最短路矩阵为$S$,现在要转移到$l+1$时的最短路矩阵$T$。我们考虑用每条边更新,对于某条从$x 阅读全文
posted @ 2019-07-09 10:40 整理者 阅读(230) 评论(0) 推荐(0) 编辑
摘要:~~现在居然出现一道题只有$pascal$题解没有$C++$题解的情况,小蒟蒻要打破它。~~ 思维题:分类讨论 回归正题,此题十分考验思维,首先我们要考虑如何把不会走的地方给填上,使最后只用求一遍这个图的周长即可。考虑目标点的几种情况: $0.$当前点周围有三个$A$或四个$A$时:这个点肯定不会走 阅读全文
posted @ 2019-07-02 17:54 整理者 阅读(2812) 评论(0) 推荐(0) 编辑