自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fyc的博客

AFO_after_noip

原创 不带权的线段覆盖问题

选最多的线段,他们两两不重叠(端点也不可以) 其实是个很水的问题,有很多方法,以前一直用排序+dp,因为太傻逼,遇到变式就卡住了。 决定写下贪心做法。 一个很无脑的想法就是按左端点排序,然后无脑选。 然而随手就能找反例。 改进一:在左端点一样时按右端点升序排序,再贪心。 好像好一些,然...

2017-07-20 15:06:54

阅读数 248

评论数 0

原创 bzoj 2938: [Poi2000]病毒

题目大意,问是否存在一个无限长的串,且不包含题目给出的子串。 AC自动机。 将给出的n个串建一颗AC自动机,如果有一个无限长串能在上面一直跑且一直不经过匹配点就满足条件。 容易想到即要在自动机上存在一个不包含匹配点的环。 dfs一遍就好了。 code: #include #includ...

2017-07-20 10:56:22

阅读数 165

评论数 0

原创 bzoj 1030: [JSOI2007]文本生成器

当时道AC自动机的模板题吧。好久没打忘得七七八八。 AC自动机其实跟KMP没什么巨大区别。 这题直接做有些困难,考虑补集转化思想,即求不可阅读的方案数。 题意可以转化为在自动机上走m步,不经过单词结尾点(fail指针指向的点也算) f[i][j]表示前i个字符走到j号点的方案数。 这样就...

2017-07-19 16:09:35

阅读数 175

评论数 0

原创 1831: [AHOI2008]逆序对

题目大意:在填充一列数,使逆序对数最小。 有个结论,即当ia[j]时,将i,j调换一定更优。 所以填进去的数一定是不下降的。 然后树状数组一阵乱搞+dp就可以了。 调试笔记:树状数组边界要清楚。 code: #include #include #include #include #de...

2017-07-19 13:17:52

阅读数 191

评论数 0

原创 bzoj 3931: [CQOI2015]网络吞吐量

这题考语文2333 其实是源点到汇点的流量一定要延最短路,可以有多条,求最大流。 要开long long。 code: #include #include #include #include using namespace std; struct trnode{ int lc,rc,c; bo...

2017-07-19 13:14:03

阅读数 229

评论数 1

原创 bzoj 1483: [HNOI2009]梦幻布丁

题目大意:可以把一种颜色完全染为另一种颜色,问颜色段数。 我用了线段树合并。对每种颜色开一棵线段树每一段记下左边和右边是否有这种颜色,就可以维护了。 然而无限RE,拍又拍不出。留坑。 难道要离散化?可是std也没有啊? 向大神求助。 #include #include #include ...

2017-07-19 13:09:13

阅读数 217

评论数 1

原创 bzoj 4152: [AMPPZ2014]The Captain

题目是一道比较奇怪的最短路。 首先不难想到,这有和一个点相邻的点才有价值(两点间的矩阵没有别的点)。 否则,如果a,b间存在c,那a->c->b的代价一定小于等于a->b的代价。 然后本蒟蒻就不会了。 其实相邻也可以理解为按x坐标排序后相邻的点与按y坐标排序后相邻的点。 ...

2017-07-17 14:56:41

阅读数 166

评论数 0

原创 3174: [Tjoi2013]拯救小矮人

题目大意,题面已经很清晰了。 贪心+dp 首先按照身高+臂长衡量一个矮人的逃生能力,让逃生能力弱的先走(在最有方案中)是最好的,所以按照这个值排序,然后就可以dp了。 f[i]表示走了i个人后剩下最高高度是多少,暴力转移。 code: #include #include #include #inc...

2017-07-17 14:50:48

阅读数 107

评论数 0

原创 bzoj 3879: SvT

题目大意:求若干个后缀两两减的LCP之和。后缀总和不大于3*10^6; 后缀自动机加虚树。 看这种询问有多,总点不太多的又在一棵树上可以考虑虚树。 把原串反过来,等于求前缀的最长公共后缀。 首先有个显然的性质是两个前缀的LCS是它们在parent树上的lca的max。如果不了解的可以先做这题:点击...

2017-07-15 11:11:06

阅读数 218

评论数 0

原创 bzoj 2286: [Sdoi2011]消耗战

题目大意,切掉若干条边,使根不能到指定的点,代价最小,多次询问。 这篇东西不错:点击打开链接 虚树的模板题,注意卡时,在建虚树前先将一条链的点删剩一个,每个点记录到根最短的边边权。 貌似数据有误?反正我开了long long 记录边权就A了。 LCA模板一定不能错啊啊啊啊! code: ...

2017-07-14 16:16:43

阅读数 161

评论数 0

原创 3110: [Zjoi2013]K大数查询

题目大意,带该段的区间第k大。 注意,一个位置上可以有多个数的,更改操作是增加新数,而不是覆盖。 备用知识:标记永久化点击打开链接(不用的话应该也可以,但空间会大) 然后就上权值线段树套区间线段树。 不修改的区间第k小是例题(类似二分),树套树可以解决修改的问题。 我们可以c+n+1转正...

2017-07-14 09:52:22

阅读数 184

评论数 0

原创 线段树lazy标记永久化

例题:codevs 1082(好吧就是改段求段) bzoj 3110(树套树,但可以练手) 1、为什么要有这玩意:当我们用可持久化的数据结构lasy标志可能不能下传,或者用动态开点线段树时如果标记下传会造成无用空间。 2、实现: 以下内容纯属自己YY。 最主要思路,标记不下传,查询时经过一个节点就...

2017-07-14 09:07:51

阅读数 748

评论数 0

转载 各种排列组合奇怪的数的公式和推导

转师姐的 一、排列(在乎顺序) 全排列:P(n,n)=n! n个人都排队。第一个位置可以选n个,第二位置可以选n-1个,以此类推得: P(n,n)=n*(n-1)*…*3*2*1= n! 部分排列:P(n,m)=n!/(n-m)! n个人,选m个出来排队,第一个位置可以选n个,…...

2017-07-13 10:34:29

阅读数 3030

评论数 0

原创 4917: Hash Killer IV

题目大意,构造一个符合HASH函数的答案。 首先我们要了解unsigned int的性质。 它的储存范围是0~2^32-1 即二进制下的32个1以内。 而左移和右移时超出范围的直接砍掉。所以不能直接除。 所以就可以愉快的模拟了。 模拟时有一部分是一样的,而根据之一部分又能求出下一部分,以...

2017-07-13 10:00:18

阅读数 116

评论数 0

原创 3196: Tyvj 1730 二逼平衡树

题目比较简洁: 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱定义为小于x,且最大的数) 5.查询k在区间内的后继(后继定义为大于x,且最小的数) ...

2017-07-13 07:58:08

阅读数 125

评论数 0

原创 4241: 历史研究

题目大意:区间内出现次数*权值最大的数。 与2724差不多:bzoj2724题解 主要check的时候返回num*a就行了。 卡时卡卡了好几次(雾) code: #include #include #include #include #include #include #include ...

2017-07-12 14:52:48

阅读数 165

评论数 0

原创 2724: [Violet 6]蒲公英

题目大意:不带修改的区间众数。 %%%clj大大:区间众数 分块,首先有个重要结论: 摘自clj论文。 分块做。 那么我们就预处理f[i][j],第i块~j块间的众数。 每次枚举最左边(右边)的数,与剩下的块的众数(已求出)比较一下谁更多,更新数组。(类似区间dp) 至于求区...

2017-07-12 14:41:24

阅读数 20

评论数 0

原创 2151: 种树

题目大意:在一个环中选k个不相邻的点,使点权和最大。 同1150 然而我做过也不会啊啊啊。 经典的贪心题目。首先如果k>n/2肯定无解,否则有解。 然后是贪心,加双向链表维护。当选一个点时,因为有可能选两边的点更优,所以要把原来的点删掉,加一个两边权减中间权的点。 至于维护什么的,...

2017-07-11 16:13:57

阅读数 139

评论数 0

转载 1797: [Ahoi2009]Mincut 最小割(from hzwer)

jcvb: 在残余网络上跑tarjan求出所有SCC,记id[u]为点u所在SCC的编号。显然有id[s]!=id[t](否则s到t有通路,能继续增广)。 ①对于任意一条满流边(u,v),(u,v)能够出现在某个最小割集中,当且仅当id[u]!=id[v]; ②对于任意一条满流边(u...

2017-07-11 14:43:18

阅读数 165

评论数 0

原创 3155: Preprefix sum

传说可以用树状数组,不过因为本人比较菜,于是上无脑差分数组+线段树。 容易发现,当一个数i增加x时,会使前缀和的前缀和j(j>=i)增加(j-i+1)*x。那么可以想象成i~n段加x,i+1~n段加x,i+2~n段加x……。 那么用差分数组就可以直接改i~n,然后可以求前缀和求答案。(前...

2017-07-11 10:11:31

阅读数 236

评论数 0

原创 4457: 游戏任务

跟bzoj2427差不多,但没有环,也是dp经典的类似采药dp搞一搞。 code: #include #include int n,m; int F[110][510],t[110],c[110]; int f[510]; int max(int x,int y){return x>y?...

2017-07-11 09:31:14

阅读数 188

评论数 0

原创 2427: [HAOI2010]软件安装

连接:http://www.lydsy.com/JudgeOnline/problem.php?id=2427 应为可能有环,即要么一起选,要么都不选,做一期强联通所点在树上dp即可。 注意,每个点做完要延父亲边更新一次。 code: #include #include #include #inc...

2017-07-11 09:15:04

阅读数 397

评论数 0

原创 1258: [CQOI2007]三角形tri

认真读题(很重要) 然后找规律+乱搞就可以了 #include #include #include using namespace std; char str[60]; bool h[5]; int g[5][5]; int main() { memset(g,0,sizeof(g))...

2017-07-10 16:26:54

阅读数 143

评论数 0

原创 3065: 带插入区间K小值

快捷版题意:带插入、修改的区间k小值在线查询。 我太菜了啊啊啊啊啊啊啊啊啊。 看题解+膜代码用了一上午,又写+调了一上午,起码改了十几个地方。 思路:替罪羊树套权值线段树。 首先平衡树当然是维护区间,每个节点上的线段树代表其子树的权值状态。 首先是插入操作。因为全程%hzwer所以抄了他...

2017-07-10 15:32:41

阅读数 410

评论数 0

原创 1406: [AHOI2007]密码箱

题目大意:求0 容易化成x^2-ny=1;  设 n=n1*n2 y=y1*y2 n1*n2*y1*y2=(x+1)(x-1) 设n1*y1=x+1   n2*y2=x-1 相减得n1*y1-n2*y2=2 然后扩展欧几里得直接上就可以了。 这样求的答案可能有重复,用set搞一搞。 ...

2017-07-09 08:51:24

阅读数 188

评论数 0

原创 3172: [Tjoi2013]单词

后缀自动机模板题。 2012年noi冬令营陈立杰讲稿(SAM后缀自动机) 这个写的不错,一定要耐心看。 code: #include #include #include #include using namespace std; struct SAM{ int par,ma...

2017-07-09 08:47:16

阅读数 163

评论数 0

原创 3668: [Noi2014]起床困难综合症

遇上水题,好爽啊。 就将每一二进制位初始为0与1的最终情况暴力求出来,贪心一下就好了。 code: #include #include #include #include using namespace std; struct trnode{ int dep,fa,top,son,t...

2017-07-09 08:39:46

阅读数 146

评论数 0

原创 3631: [JLOI2014]松鼠的新家

树剖裸题。 每次将a[i-1]到a[i]的路径都加一,输出时除了a[1]其他都减一即可。 PS:线段树小技巧 如本题有访问所有叶子节点的值。只要把整棵树遍历一遍,访问到叶子是记录下就可以了,o(n)。(然而并没什么用) code: #include #include #include #...

2017-07-09 08:33:51

阅读数 150

评论数 0

原创 3600: 没有人的算术

VFK太强了。 题目大意:维护一段由集合组成的序列,集合分左右,支持合并操作,求区间内字典序最大的的位置。 http://pan.baidu.com/s/1B0JNo http://hzwer.com/7462.html 还有WJMZBMR的《重量平衡树和后缀平衡树在信息学奥赛中的应用》(好像是...

2017-07-09 08:20:44

阅读数 264

评论数 0

原创 2141: 排队

分块模板题。 在块内的暴力统计,每一块开一个树状数组。 我SB逆序对求法写错。 code: #include #include #include #include #include #include using namespace std; int n,pre[20010],tr[150...

2017-07-07 08:45:44

阅读数 263

评论数 0

原创 3295: [Cqoi2011]动态逆序对

题目大意:多次删点,每次统计下逆序对。 人生第一道树套树。树状数组套位置线段树。 先预处理出s1[i],s2[i],即第i为前比a[i]大的数,于i后比a[i]小的数。 那么每次ans-=s1[i]+s2[i]+这些点中已被删去的点。 然后把删掉的加到树套树就行了。 当然也可以直接在树套...

2017-07-07 08:35:33

阅读数 279

评论数 0

原创 1056: [HAOI2008]排名系统&1862: [Zjoi2006]GameZ游戏排名系统&codevs 1985

要求打一个数据结构,支持单点修改,单点排名查询,区间排名查询。 Splay模板题。 可以多加两个节点在两边,开个数组记录玩家在Splay上的位置。 然而bzoj卡cin,又懒,不想打哈希,于是愉快的精神AC了。 可以交codevs:http://codevs.cn/problem/1985...

2017-07-07 08:23:22

阅读数 305

评论数 0

原创 4556: [Tjoi2016&Heoi2016]字符串(后缀自动机做法)

题目大意:给出两段区间,求其中一段的所有子串与另一段的最长公共前缀。 做法:听说可以用后缀数组作,不过忘得差不多了,与是愉快的敲了sam。好像还挺有收获的。 首先原串反过来建,这样题目就转化成了一段的所有子串与另一段的最长公共后缀,这样就可以识别了。 假设要在s【a,b】中找最长后缀在s【c,d】...

2017-07-05 15:18:51

阅读数 408

评论数 0

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