自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(53)
  • 收藏
  • 关注

转载 SDOI R2 咕咕记

Day 0路上堵车,\(5\)点才到宾馆\(BCT\)为什么在山上啊!!!!试机的时候敲了一下多项式求逆的板子回到宾馆订了\(KFC\)的外卖Day 1爬山的时候跟\(asuldb\)说“万一我今天\(A\)掉一道题呢”“万一我明天也\(A\)掉一道题呢”“万一我进队了呢”\(asuldb\):“你一定不会爆零的”“万一窝\(A\)的题你爆零了呢”开始考试不开栈...

2019-05-06 21:08:00 139

转载 [TJOI2019]甲苯先生和大中锋的字符串

有个叫asuldb的神仙来嘲讽我说这题SAM水题,而且SA过不了然后我就用SA过了显然是一个Height数组上长为k的滑块,判一下两边,差分一下就可以了#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=1e5+...

2019-05-03 15:21:00 133

转载 【CDQ分治】[HNOI2010]城市建设

题目链接线段树分治+LCT只有80然后就有了CDQ分治的做法把不可能在生成树里的扔到后面把一定在生成树里的扔到并查集里存起来分治到l=r,修改边权,跑个kruskal就行了由于要支持撤销,并查集要按秩合并#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namesp...

2019-03-13 16:35:00 184

转载 树上游戏

这里是一个辣鸡的\(\Theta(n \log^2n)\)做法首先我们套个点分治然后问题就变成了统计跨过根的路径的贡献先跑一遍以当前点为根的子树大小和DFS序同时将根路径上首次出现该颜色的点存起来然后根据颜色排序对于不同颜色统计结果显然互不影响那么对于同种颜色我们容斥一下就可以了区间加法可以用DFS序上差分来代替#include"cstdio"#include"cst...

2019-02-22 18:40:00 148

转载 [JLOI2015]装备购买

线性基+贪心这题毒瘤在卡精度在模质数意义下进行线性基可避免精度误差#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"#include"cmath"using namespace std;const int MAXN=505;const int MOD=19260817;in...

2019-02-17 07:31:00 131

转载 [HNOI2011]括号修复

设\(nd[4]\)0——多出来的右括号1——多出来的左括号2——取反后多出来的右括号3——取反后多出来的左括号这样一来Swap: swap(0,3),swap(1,2),swap(sn[0],sn[1])Invert: swap(0,2),swap(1,3),val[k]^=1Replace: v<-siz[k],v+2^1<-siz[k],v^1<-...

2019-02-11 21:44:00 216

转载 非负整数区间内含某数字的数的个数

群里有人问了这个问题然后被attack秒了orz考虑数位DP预处理v[第几位][该位是否是目标数字][是否有目标数字]显然数字除了0之外的求解过程是完全一致的那么我们特判0就可以了#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;lon...

2019-01-26 19:30:00 147

转载 CF712E Memory and Casinos

设\(f[i]\)为从\(i\)到\(r+1\)且不走出区间的概率\(f[i]=p[i]f[i+1]+(1-p[i])f[i-1]\)\(f[i]-f[i-1]=p[i](f[i+1]-f[i-1])\)\(f[r+1]=1,f[l-1]=0\)\(g[i]=f[i]-f[i-1]\)\(g[i]=p[i](g[i+1]+g[i])\)\(g[i+1]=\frac{1-p[i...

2019-01-21 11:02:00 115

转载 从0x7fffffff+1开始的数学期望

-2147483648 Impel Down蒙奇·D·路飞来到海底监狱Impel Down营救他的哥哥波特卡斯·D·艾斯n+1层的海底监狱有n个电梯,每个电梯连接着上下两层不幸的是,这些电梯是“薛定谔”的,即:当你到达其中一端前,该电梯的位置与运动方向均随机现已知每个电梯从一层到下一层所需的时间t[i]求路飞从顶层到达底层的期望时间\(\\\)由于电梯“薛定谔”的性质,可知...

2019-01-05 21:28:00 395

转载 [TJOI2015]弦论

我们先求出该字符串的\(SA\)和\(Ht\)然后分类讨论\(T=0\)时,每次去掉\(Ht\)往后扫就行\(T=1\)时,我们考虑\(lcp\)对答案的影响既然用到\(lcp\),那就要用\(ST\)表维护左端点固定时,随右端点的增大,区间\(\min\)单调不升我们就可以用二分+限制右端点的方式统计某个后缀的前缀的贡献循环遍历每个后缀时,由于\(Ht\)部分已经统计过对...

2019-01-05 11:00:00 112

转载 [USACO18FEB]Slingshot

题意可化为:在二维平面中有n个点,坐标为\((x_i,y_i)\),点权为\(t_i\)。现有m个询问,每次给定点\((x,y)\),求\(\min\{|x-x_i|+|y-y_i|+t_i,|y-x|\}\)排序离散化后扫描线+分类讨论即可#include"cstdio"#include"cstring"#include"iostream"#include"algorit...

2019-01-02 14:41:00 294

转载 [SCOI2010]序列操作

操作0、1:区间赋值操作2:区间异或操作3:区间求和操作4:区间最长连续段我们用线段树打lazy标记的方式维护:某段区间从左向右和从右向左延伸的0和1的长度、某段区间内0和1的最长长度、区间和。然后分类讨论pushdown与pushup即可#include"cstdio"#include"cstring"#include"iostream"#include"algori...

2019-01-01 21:22:00 162

转载 Matrix

题目大意给定一个\(n \times m\)的黑白矩阵,设点\((i,j)\)的权值\(w_{(i,j)}\)为包含该点的全白矩阵的个数,求\(\sum_{i=1}^n \sum_{j=1}^m w_{(i,j)}\)题解首先转化问题为全部白色子矩阵的面积和然后考虑统计答案我们计算以某点为右下角的矩阵的贡献易得\(\Theta(nm^2)\)的算法:我们维护每个点向上延伸的...

2018-12-20 19:17:00 73

转载 生成函数

留个坑慢慢填概念生成函数——用多项式表示数列的形式幂级数,其中函数的\(i\)次项系数对应数列的第\(i\)项即\(A \to \sum_{i=0}^{\infty} a_ix^i\)例如:$[1,1,1,1,1,...] \to 1+x+x^2+x^3+x^4+ ... $\([1,a,a^2,a^3,a^4,...] \to 1+ax+a^2x^2+a^3x^3+a^4x...

2018-12-19 19:48:00 144

转载 [AMPPZ2014]Petrol

关键点的最小生成树?关键点初始化为0,跑多源最短路,然后重构整个图,用Kruskal跑最小生成树然后跑树链剖分在线回答询问对树上每个点维护到链顶的最大值,结合线段树可以做到\(\Theta(n \log n)\)的复杂度#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using n...

2018-12-19 16:15:00 188

转载 CF954F Runner's Problem

离散化+矩阵快速幂首先看数据范围可以确定该题的算法为矩阵快速幂然后易得转移矩阵\[\begin{bmatrix} 1 & 1 & 0 \\ 1 & 1 & 1 \\ 0 & 1 & 1 \end{bmatrix}\]然后把障碍离散下来重构,获取每段区间内障碍的情况(共\(2^3=8\)种)重构的时候用辅助变量\(pre\)表示上一...

2018-12-13 17:19:00 110

转载 序列终结者

fhq treap+lazy标记就是几个题拼起来而已#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"#include"ctime"using namespace std;const int MAXN=5e4+5;const int INF=0x3f3f3f3f;int n,...

2018-12-12 17:15:00 136

转载 CF696C PLEASE

矩阵快速幂+扩展欧拉定理对于一个矩阵\(A\),我们有\(A^n \equiv A^{n\% \phi(m)+\phi(m)}(\%m)\)经过简单的列举或推导可得设目前进行了\(x\)轮,\(f(x)\)为分子,\(g(x)\)为分母则有\(f(x)=g(x-1)-f(x-1),g(x)=2g(x-1)\)由此及首项可得\(x>1\)时概率的分子一直是奇数,分母一直为2...

2018-12-11 21:42:00 128

转载 [清华集训]Rmq Problem / mex

题目链接我们离线处理这些询问在右端点所在的位置用vector来push_back询问维护每个数值最后出现的位置p[x]从左往右扫,边走边回答询问对于每个询问我们回答第一个p[x]<l的x这个可以用分块来维护时间复杂度\(\Theta(n \sqrt{n})\)#include"cstdio"#include"cstring"#include"iostream"...

2018-12-11 16:56:00 77

转载 CF786B Legacy

线段树优化建图开一棵儿子向父亲连0边的线段树1另一棵父亲向儿子连0边的线段树00向1的对应节点连0边对于点向区间加边,我们从1对应的节点向0对应的区间连边对于区间向点加边,我们从1对应的区间向0对应的节点连边然后跑手写堆优化Dijkstra即可时间复杂度\(\Theta ((n+m\log n)\log n)\)#include"cstdio"#include"cstr...

2018-12-10 17:38:00 102

转载 [CQOI2018]九连环

手写压位高精即可通过#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=5505;const int siz=9;const int MOD=1e9;int T,n;struct Big{ long ...

2018-12-09 15:12:00 142

转载 [HNOI2004]宠物收养场

fhq treap开俩哨兵节点,然后插入、删除、前驱、后继,统计即可#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"#include"ctime"using namespace std;const int MAXN=8e4+5;const int MOD=1e6;int n...

2018-12-07 17:09:00 137

转载 [NOI2010]能量采集

显然题目要我们求\(2\sum_{i=1}^N \sum_{j=1}^M (i,j) -NM\)即\(2\sum_{i=1}^{\min(N,M)} \phi(i)\lfloor \frac{N}{i} \rfloor \lfloor \frac{M}{i} \rfloor-NM\)线筛+前缀和+整除分块即可记得开\(long \ long\)#include"cstdio"...

2018-12-06 21:28:00 120

转载 [POI2005]AUT-The Bus

树状数组维护前缀最大值+扫描线DP#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=1e5+5;int n,m,c,maxn;long long Tib[MAXN];struct rpg{ int x...

2018-12-06 20:04:00 142

转载 [ZJOI2006]书架

fhq treap开个minn和maxn作排序标准置顶就更新val=--minn,垫底就更新val=++maxn改变位置就相当于找前驱后继swap(val1,val2)找排名为k的编号就是二叉查找树的模板找编号为k前面的书个数就拆树取左边的siz#include"cstdio"#include"cstring"#include"iostream"#include"alg...

2018-12-05 17:32:00 102

转载 [SCOI2009]粉刷匠

线性DP预处理+分组背包首先设dp[i][j][0/1]表示该木板前i个格刷了j次且最后一次颜色为0/1的最大正确数做下0/1的前缀和然后转移状态dp[i][j][k]=max(dp[l][j][k],dp[l][j-1][k^1])+lis[i][k]-lis[l][k]然后对每个木板跑分组背包就可以了#include"cstdio"#include"cstring"#i...

2018-12-04 18:36:00 128

转载 [Code+#4]最短路

考虑xor运算的自反性我们可以直接枚举二进制位异或来进行转移这样边数大约是\(n \log n\)级别的总复杂度\(\Theta((n\log n+m)\log n)\)#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int ...

2018-12-04 15:03:00 134

转载 [COCI2006-2007#1] Bond

状压DP\(dp[i]\)表示当前选人状态为\(i\)且选择了前\(i.count()\)个物品时最大的概率#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=20;int n;double f[MAXN+1]...

2018-12-04 13:34:00 133

转载 [SHOI2007]园丁的烦恼

裸的二维数点#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=5e5+5;int n,m,maxn;int Tib[MAXN*3];struct rpg{ int kd,x,y,id; int...

2018-12-04 12:49:00 127

转载 楼房重建

单点修改+区间合并ans[k]=ans[i]+cask(i|1,mid+1,r,tree[i])若该区间最大值小于base,return 0若该区间为单点,return tree[k]>base若该区间左区间最大值小于base,return cask(i|1,mid+1,r,base)否则return ans[k]-ans[l]+cask(i,l,mid,base)#i...

2018-12-03 20:45:00 102

转载 [USACO15FEB]审查(黄金)Censoring (Gold)

AC自动机在预处理fail的时候预处理下节点对应的匹配串的长度这样复杂度就是严格\(\Theta(n)\)的只需要一个栈,在trie图上跑就可以了#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=1e5+5;c...

2018-12-03 17:00:00 150

转载 矿洞:坍塌

为什么不试试手写bitset呢QAQ存在字符x对应二进制第x-'A'位为1这样就是线段树维护区间或了#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=1<<19;const int siz=3;...

2018-12-03 15:30:00 251

转载 [国家集训队]飞飞侠

暴力枚举跑三遍堆优化Dijkstra即可手写堆记得清零#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using namespace std;const int MAXN=155;const char ch[4]={0,'X','Y','Z'};const int dx[4]=...

2018-12-02 21:40:00 125

转载 数位DP

数位DP基本都是这个套路吧dfs(数的最后若干位,各种限制条件,当前第几位) if 最后一位 return 各种限制条件下的返回值 局部变量 ct=当前位的数字 局部变量 sum=0; for i=0 to ct-1 sum+=当前位取i时一定无限制的合法状态数 sum+=当前位取i时满足当前限制的合法状态...

2018-12-02 19:39:00 68

转载 [HNOI2008]玩具装箱TOY

\(F[i]=\min\{ F[j]+(lis[i]-lis[j]+i-j-1-L)^2 \}\)\(f(i)=lis[i]+i,g(i)=f(i)+L+1\)\(F[i]=F[j]+(f(i)-g(j))^2\)\(F[i]=F[j]+f(i)^2-2f(i)g(j)+g(j)^2\)\(F[j]=2f(i)g(j)+(F[i]-f(i)^2-g(j)^2)\)以\(g(j)...

2018-12-02 19:08:00 89

转载 UVA1185 Big Number

题目大意:求十进制下x!的位数这题其实就是要求\(\lg\)函数值的前缀和啊对于一个数x,若\(\lg x=y\),则其位数为\(\lfloor y+1 \rfloor\)然后对于对数,我们有\(\lg \prod_{i=1}^x i= \sum_{i=1}^x \lg i\)预处理前缀和之后在线\(\Theta(1)\)回答询问即可#include"cstdio"#incl...

2018-12-02 13:47:00 50

转载 01分数规划

\(\frac{\sum_{i=1}^N a_ix_i}{\sum_{i=1}^Nb_ix_i}=ans\)\(\sum_{i=1}^N a_ix_i-ans\sum_{i=1}^N b_ix_i=0\)二分答案ans即可#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"using n...

2018-11-30 15:02:00 84

转载 代码规范

长函数大括号换行短函数左右括号在一行长循环大括号不换行短循环不用加括号时能用','就不用';',否则使用';'且左右括号在一行Tab缩进4格能用const不用define转载于:https://www.cnblogs.com/AH2002/p/10037794.html...

2018-11-29 13:42:00 62

转载 [HNOI2010]弹飞绵羊

分块+线性DP维护从某个点出发跳出这个块会跳到哪,需要几步即可#include"cstdio"#include"cstring"#include"iostream"#include"algorithm"#include"cmath"using namespace std;const int MAXN=2e5+5;const int MAXM=505;int n,m...

2018-11-28 20:26:00 67

转载 Mobius反演的套路

T1\(\sum_{i=1}^N \sum_{j=1}^M [(i,j)=1]\)\(f(d)=\sum_{i=1}^N \sum_{j=1}^M [(i,j)=d]\)\(g(d)=\sum_{i=1}^N \sum_{i=1}^M [d|(i,j)]=\lfloor \frac{N}{d} \rfloor \lfloor \frac{M}{d} \rfloor\)\(g(n)...

2018-11-27 21:15:00 139

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除