自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 bzoj 1782: [Usaco2010 Feb]slowdown 慢慢游 (线段树+DFS序)

题目描述传送门题目大意:给出一颗n个节点的树,按照一定的顺序激活每个点,并询问每个点到根的路径上经过了多少个已经激活的点。题解这题应该是一眼树链剖分吧。不过拿树链剖分来做其实有点大材小用了。直接线段树+DFS就可以。 每次单点查询,将子树对应的dfs序中的区间+1.代码#include<i...

2017-03-31 21:38:47

阅读数 417

评论数 0

原创 bzoj 3881: [Coci2015]Divljak (AC自动机+容斥原理+LCA+树状数组)

题目描述传送门题目大意:Alice有n个字符串S_1,S_2…S_n,Bob有一个字符串集合T,一开始集合是空的。 接下来会发生q个操作,操作有两种形式: 1 P,Bob往自己的集合里添加了一个字符串P。 2 x,Alice询问Bob,集合T中有多少个字符串包含串S_x。(我们称串A包含串B...

2017-03-31 21:01:46

阅读数 469

评论数 0

原创 bzoj 4358: permu (莫队+栈||KD-tree||莫队+线段树)

题目描述传送门题目大意:给出一个长度为n的排列P(P1,P2,…Pn),以及m个询问。每次询问某个区间[l,r]中,最长的值域 连续段长度。题解1:莫队+线段树用权值线段树维护区间的连续最大长度,左端连续最长,右端连续最长。 应该是比较好想,好写,好调的做法。 时间复杂度O(nn√logn)...

2017-03-31 19:28:03

阅读数 1048

评论数 0

原创 bzoj 3064: Tyvj 1518 CPU监控 (线段树)

题目描述传送门题目大意:给出一个长度为n的序列,有四种操作。 Q X Y:询问[x,y]的最大值 A X Y:询问[x,y]的历史最大值 P X Y Z:[x,y]中的每个数增加z C X Y Z:[x,y]中的每个数都变成Z题解对于每个区间维护六个值。 tr 区间当前的最大值 mx...

2017-03-31 16:59:59

阅读数 502

评论数 0

原创 bzoj 1901: Zju2112 Dynamic Rankings (树状数组套线段树)

题目描述传送门题目大意:给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i,j,k,在a[i],a[i+1],a[i+2]……a[j]中第k小的数是多少(1≤k≤j-i+1),并且,你可以改变一些a[i]的值,改变后,程序还能针对改变后的a继续回...

2017-03-30 20:28:18

阅读数 479

评论数 3

原创 bzoj 2141: 排队 (树状数组套线段树)

题目描述传送门题目大意:给出一个序列,每次交换两个位置的数,求交换完后整个序列的逆序对数。题解对于一个位置会产生的逆序对数是他前面比他大的数+他后面比他小的数。 我们可以用树状数组套线段树维护一下,外层表示位置在树状数组中该点的控制区间,线段树是权值线段树。 然后每次交换玩了计算一下就可以了。...

2017-03-30 19:32:58

阅读数 230

评论数 0

原创 bzoj 2674: Attack (整体二分+树状数组套线段树)

题目描述传送门题目大意:   有N座城市和N个太守,N个城市可以看作在二维平面上的N个点。   N座城市的标号为0,1,2,……,N-1。   第i座城市的坐标为(Xi,Yi),镇守这座城市的太守的能力值为Zi。   chnlich每次会选择一个边平行于坐标轴的矩形区域,并奇袭其中太守能力...

2017-03-30 17:42:04

阅读数 383

评论数 0

原创 bzoj 2752: [HAOI2012]高速公路(road) (线段树)

题目描述传送门题目大意:一个n个点的链,有n-1条路径,每条路径有一个花费。会不定期的对连续路段的花费进行区间修改。 对于给定的l,r(l<r)l,r(l<r),在[l,r][l,r]中任选两个点a,b,那么从a到b将期望花费多少费用呢?题解对于路径建立线段树,所以一共有n-1个点。...

2017-03-30 11:37:41

阅读数 172

评论数 0

原创 bzoj 1758: [Wc2010]重建计划 (01分数规划+点分治)

题目描述传送门题解这道题一直在TLE,但是bzoj发过来的数据都可以在1s内出解,不是很懂为什么。 要最大化所选边的平均值,这是个01分数规划的问题,我们只需要二分答案然后判断树中是否有一条长度在[L,U]之间的链∑s∈eval[s]−mid\sum_{s\in e} val[s]-mid大于0...

2017-03-30 10:14:03

阅读数 699

评论数 0

原创 bzoj 4199: [Noi2015]品酒大会 (后缀自动机+DP)

题目描述传送门题目大意:两个长度为r的子串相同称为r相似。两个r相似的子串的价值是两个子串开头位置的价值乘积。 求r相似的子串数量和最大的代价(r=0…n-1)题解后缀自动机parent树上两个点的lca的len是两个字符串的最长公共后缀,但是这个要求的是开头位置的乘积,所以我就考虑将串反置,建...

2017-03-30 07:32:22

阅读数 377

评论数 0

原创 bzoj 4556: [Tjoi2016&Heoi2016]字符串 (主席树+二分+后缀数组+ST表||后缀自动机+线段树合并+LCA)

题目描述传送门题目大意:给出一个长度为n的字符串,每次询问[a,b]中的子串与[c,d]的最长公共前缀的长度的最大值题解对字符串建立后缀数组。我们知道两个后缀的最长公共后缀等于区间[rank[i]+1,rank[j]]的height的最小值,那么因为是取min,所以区间的长度越长答案肯定不可能更优...

2017-03-29 21:53:20

阅读数 538

评论数 0

原创 后缀自动机的性质应用

之前自己整理过后缀自动机的构造,现在再来整理一波性质。最长公共子串这个问题非常常见,大概可以根据难易程度分成两种。两个串的最长公共子串这个问题可以用DP来解决,也可以用后缀数组。 DP的效率比较低,后缀数组的话将两个串用分隔符连接起来求出height数组,取sa[i],sa[i-1]分别属于两个...

2017-03-29 09:50:41

阅读数 2356

评论数 3

原创 bzoj 3620: 似乎在梦中见过的样子 (KMP)

题目描述传送门题目大意:给出一个字符串,求所有满足形似于 A+B+A ,且len(A)>=k,len(B)>=1 (位置不同其他性质相同的子串算不同子串,位置相同但拆分不同的子串算同一子串)的子串的数量。题解感觉这道题自己的做法时间卡的比较紧。 枚举A+B+A的左端点i,对于[i,n...

2017-03-28 17:45:51

阅读数 461

评论数 0

原创 bzoj 3796: Mushroom追妹纸 (后缀数组+KMP+二分)

题目描述传送门题目大意: 求一个字符串满足 1、w是s1的子串 2、w是s2的子串 3、s3不是w的子串 4、w的长度应尽可能大题解刚开始想用SAM做,想了半天发现不是很可做啊。 还是好好想后缀数组的做法吧。这道题最恶心的限制就是限制3:s3不是w的子串。 那么如果没有这个限制该怎么...

2017-03-28 16:25:21

阅读数 558

评论数 0

原创 bzoj 3473: 字符串 (后缀自动机)

题目描述传送门题目大意:给定n个字符串,询问每个字符串有多少子串(不包括空串)是所有n个字符串中至少k个字符串的子串?题解同bzoj3277代码#include<iostream> #include<algorithm> #include<cstdio> #in...

2017-03-28 11:28:13

阅读数 533

评论数 0

原创 bzoj 3207: 花神的嘲讽计划Ⅰ (主席树+hash)

题目描述传送门题解对于每个位置的权值为[i,i+k-1]这一段的hash值。 离散化之后依次插入主席树中。 查询的时候先找到这一段离散后的值,然后查询[x,y-k+1]这一段中是否出现过。代码#include<iostream> #include<algorithm> ...

2017-03-28 10:16:41

阅读数 210

评论数 0

原创 bzoj 2226: [Spoj 5971] LCMSum (反演)

题目描述传送门题目大意: ∑i=1nlcm(i,n)\sum_{i=1}^n lcm(i,n)题解又要化式子啦,开心。 ∑i=1nlcm(i,n)\sum_{i=1}^n lcm(i,n) ∑d=1n∑i=1ni∗nd[gcd(i,n)=d]\sum_{d=1}^n \sum_{i=1}^n...

2017-03-28 09:21:45

阅读数 176

评论数 0

原创 bzoj 1927: [Sdoi2010]星际竞速 (费用流)

题目描述传送门题解这道题刚开始想到的是有上下界的费用流,感觉好麻烦啊,不想写。然后又YY了一种带负权,强制走某些边的方案,结果跑spfa的时候出现了负环== 于是从头开始考虑,对于每个点如果使用了能量爆发模式,那么相当于通过一条不存在的边到达了该点,因为每个点都需要经过至少一次,所以要么是通过某...

2017-03-28 08:05:47

阅读数 214

评论数 0

原创 bzoj 3158: 千钧一发 (最小割)

题目描述传送门题目大意:给出n个数,每个数有两权a,b。 两个数能同时选,必须满足下面至少一个条件 (1) gcd(ai,aj)!=1gcd(ai,aj)!=1 (2)不存在整数T满足ai2+aj2=T2ai^2+aj^2=T^2 求所选集合∑b\sum b的最大值题解设源汇分别为S,T,...

2017-03-28 07:50:50

阅读数 209

评论数 0

原创 bzoj 1272: [BeiJingWc2008]Gate Of Babylon (容斥原理+Lucas定理)

题目描述传送门题解容斥部分:至少0个超过限制的-至少1个超过限制的+至少2个超过限制的-…. 剩下的就是组合数学的锅了,用插板法然后化简就可以啦。代码#include<iostream> #include<cstdio> #include<cstring> #...

2017-03-27 21:36:35

阅读数 270

评论数 0

原创 bzoj 1895: Pku3580 supermemo (splay)

题目描述传送门题目大意:给出一个初始序列a1,a2,….,a3, 要求你编写程序支持如下操作: 1. ADD x y D:给子序列ax… ay的每个元素都加上D。 2. REVERSE x y:将子序列ax… ay翻转。 3. REVOLVE x y T:将子序列ax… ay旋...

2017-03-27 18:41:27

阅读数 188

评论数 0

原创 Codeforces 688D. Remainders Game (扩展中国剩余定理)

题目描述传送门题目大意: 给出n个数ci,我们知道x%ci的值,能不能确定出x%k的值。题解虽说给的tag是扩展中国剩余定理,但是没有真的需要写扩展中国剩余定理。 如果两个数x,y在%ci意义下都相同,那么x=y+lcm(ci)∗t(t>0)x=y+lcm(ci)*t (t>0) ...

2017-03-27 15:41:54

阅读数 192

评论数 0

原创 bzoj 4591: [Shoi2015]超能粒子炮·改 (Lucas定理)

题目描述传送门题目大意:给出两个整数n,k,n,k<=1018n,k,n,k<=10^{18} 求C(n,0)+C(n,1)+C(n,2)+......C(n,k)  mod 2333C(n,0)+C(n,1)+C(n,2)+......C(n,k) \space \space ...

2017-03-27 14:43:14

阅读数 935

评论数 0

原创 bzoj 4403: 序列统计 (Lucas定理)

题目描述传送门题目大意:给定三个正整数N、L和R,统计长度在1到N之间,元素大小都在L到R之间的单调不降序列的数量。输出答案对10^6+3取模的结果。题解设m=r-l+1,那么我们相当于m个数,每个数选择xi个,使最后的总和为N x1+x2+…+xm=N 这其实就相当于N个球放到M个盒子中,允许...

2017-03-27 10:18:14

阅读数 242

评论数 0

原创 bzoj 4712: 洪水 (树链剖分+DP)

题目描述传送门题目大意:给出一颗树,对于每个节点可以花费val[i]的代价把他堵住,使水无法向下流。每个节点的代价可能会在某时刻增加。对于每个询问,求出某个点的子树中的叶子节点(没有子节点)都没有水的最小代价。题解先考虑如果没有点权的修改该怎么做?应该是比较裸的树形DP. dp[i]=min(v...

2017-03-27 09:26:41

阅读数 365

评论数 0

原创 bzoj 1798: [Ahoi2009]Seq 维护序列seq (线段树)

题目描述传送门题目大意:有长为N的数列,不妨设为a1,a2,…,aN 。有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一段数全部加一个值; (3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值题解线段树维护加乘标记的裸题。。。代码#include&...

2017-03-26 18:57:12

阅读数 175

评论数 0

原创 bzoj 4756: [Usaco2017 Jan]Promotion Counting (线段树合并)

题解传送门题目大意:n只奶牛构成了一个树形的公司,每个奶牛有一个能力值pi,1号奶牛为树根。 问对于每个奶牛来说,它的子树中有几个能力值比它大的。题解线段树合并的裸题。感觉线段树合并在处理子树的问题中蛮好用的耶。代码#include<iostream> #include<cst...

2017-03-26 18:50:07

阅读数 1100

评论数 0

原创 bzoj 2244: [SDOI2011]拦截导弹 (CDQ分治+DP)

题目描述传送门题目大意:某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度、并且能够拦截任意速度的导弹,但是以后每一发炮弹都不能高于前一发的高度,其拦截的导弹的飞行速度也不能大于前一发。某天,雷达捕捉到敌国的导弹来袭。由于该系统...

2017-03-26 17:30:07

阅读数 497

评论数 3

原创 bzoj 3963: [WF2011]MachineWorks (DP+CDQ分治)

题目描述传送门题解将所有的机器按照d从小到大排序。 f[i]f[i]表示买入第i台机器后的最大收益,则f[i]=max{f[j]+(d[i]−d[j]−1)∗g[j]+r[j]}−p[i]f[i]=max\{f[j]+(d[i]-d[j]-1)*g[j]+r[j]\}-p[i],其中j<i...

2017-03-26 14:29:15

阅读数 358

评论数 1

原创 bzoj 1493: [NOI2007]项链工厂 (平衡树)

1493: [NOI2007]项链工厂 Time Limit: 30 Sec  Memory Limit: 64 MB Submit: 1528  Solved: 654 [Submit][Status][Discuss] Description T公司是一家专门生产彩色珠子项链的公...

2017-03-26 08:33:11

阅读数 173

评论数 0

原创 bzoj 4553: [Tjoi2016&Heoi2016]序列 (CDQ分治+DP+树状数组)

题目描述传送门题目大意:有一个长为n的序列,m个变换,每次变换把x位置的权值变成v.求一个子序列满足在任意变换中都单调不降(任意变换不能同时进行),问子序列的最长长度。题解先考虑暴力DP。如果点j 可以用来更新i的答案。那么所有包含j的变换以及j初值的最大值一定小于等于i的初值。所有包含i的变换以...

2017-03-25 18:31:41

阅读数 246

评论数 0

原创 bzoj 2428: [HAOI2006]均分数据 (模拟退火)

题目描述传送门题目大意:给出n个数,分成m组,设每组的和是xi 求∑mi=1(xi−x¯)m−−−−−−−−√\sqrt {\sum_{i=1}^m (xi-\bar x)\over m} ,其中x¯=∑mi=1xim \bar x={\sum_{i=1}^m xi\over m}题解暴力所...

2017-03-25 16:03:03

阅读数 264

评论数 0

原创 bzoj 3939: [Usaco2015 Feb]Cow Hopscotch (CDQ分治+DP)

题目描述传送门题目大意: 游戏在一个R*C的网格上进行,每个格子有一个取值在1-k之间的整数标号,奶牛开始在左上角的格子,目的是通过若干次跳跃后到达右下角的格子,当且仅当格子A和格子B满足如下条件时能从格子A跳到格子B: 1.B格子在A格子的严格右方(B的列号严格大于A的列号) 2.B格...

2017-03-24 21:45:56

阅读数 254

评论数 0

原创 bzoj 2253: [2010 Beijing wc]纸箱堆叠 (CDQ分治+DP)

题目描述传送门题目大意:每个物品有三个参数(x,y,z),一个物品只有三个参数同时严格小于另一个物品,才能放到另一个物品中。问最多多少个两两嵌套。题解我们先按照x坐标排好序,然后进行CDQ分治。 分治的时候先计算[l,mid]的中点的答案。 然后按照y排序,将原本[l,mid]中的点一次加入他...

2017-03-24 20:18:20

阅读数 800

评论数 0

原创 bzoj 3295: [Cqoi2011]动态逆序对 (CDQ分治+树状数组)

题目描述传送门题目大意:对于序列A,它的逆序对数定义为满足i题解代码#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath...

2017-03-24 17:48:14

阅读数 245

评论数 0

原创 bzoj 2683: 简单题 (CDQ分治+树状数组)

题目描述传送门题目大意 题解CDQ分治,把询问拆成x1-1,和x2两种操作。 每次将区间中的操作按照横坐标排序,然后二分,加入[l,mid]中的操作,[mid+1,r]中的询问统计[y1,y2]之间的和。代码#include<iostream> #include<cstdio...

2017-03-24 17:02:49

阅读数 178

评论数 0

原创 bzoj 3784: 树上的路径 (ST表+优先队列+点分治)

题目描述传送门题目描述: 给定一个N个结点的树,结点用正整数1..N编号。每条边有一个正整数权值。用d(a,b)表示从结点a到结点b路边上经过边的权值。其中要求a题解这道题用到了点分治的思想,但是重点应该还是统计答案。 首先在点分治中,我们每个点最多会被遍历logn次,那么我们可以每次点分治的...

2017-03-24 15:41:11

阅读数 326

评论数 0

原创 bzoj 4455: [Zjoi2016]小星星 (容斥原理+DP)

题目描述传送门题目大意:给出一个图和一棵树,让树上的点对应图上的点,问有多少种合法的对应方案。题解一开始想了一个非常不科学的思路.f[i][j][k]f[i][j][k]表示树中的点i对应图中的点j,i的子树对应的集合是k。 但是如果这么写的话不管是容斥还是转移的时间复杂度度都很高,容斥的基本不...

2017-03-24 11:26:10

阅读数 274

评论数 0

原创 bzoj 4596: [Shoi2016]黑暗前的幻想乡 (矩阵树定理+容斥原理)

题目描述传送门题目大意:n个点要修n-1条路(形成一棵树)。有n-1个公司,每个公司可以修建某些路径。求每个公司恰好修建一条路的方案数。题解生成树计数一般都是用基尔霍夫矩阵求行列式来做,关键是怎么解决每个公司恰好修建一条路的限制。 根据容斥原理答案就是:至少0个公司没有修路的方案-至少1个公司没...

2017-03-24 07:36:52

阅读数 358

评论数 0

原创 bzoj 4361: isn (容斥+DP+树状数组)

题解传送门题目大意:给出一个长度为n的序列A(A1,A2…AN)。如果序列A不是非降的,你必须从中删去一个数, 这一操作,直到A非降为止。求有多少种不同的操作方案,答案模10^9+7。题解f[i][j]f[i][j]表示选取到第i个元素,第i个元素必须选,一共选出了j个元素,选出的元素构成一个不...

2017-03-23 18:45:47

阅读数 509

评论数 0

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