自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

litble的成(tui)长(fei)史

苟...苟活者在淡红的血色中,会依稀看见微茫的希望

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

原创 多标记线段树处理法(洛谷3373,codevs4927)

1.洛谷P3373线段树2加法和乘法标记,处理方法:加法时直接添加标记,乘法时将加法标记也进行修改,在标记下放时,先放乘法(直接乘),再放加法(直接加),放乘法标记时要同时修改加法标记。#include#include#include#include#include#include#include#includeusing namespace std;#define

2017-04-28 12:38:39 972

原创 bzoj1057(洛谷1169)最大01子矩阵和最大01子正方形

1.思路首先我们注意到0和1交错嘛,也就是这个矩形中元素ai][j],如果(i+j)%2==0是一种颜色,如果(i+j)%2==1是另一种颜色,所以我们可以先把每个(i+j)%2==1(或者等于0)的颜色反过来,然后就是求最大全1或者全0的子矩阵和子正方形了。2.最大01子正方形看我的这篇博客--->  http://blog.csdn.net/litble/article/det

2017-04-27 16:29:19 937

原创 洛谷P1373 小a和uim之大逃离

1.前言我好弱啊,根本做不出啊~我开始怀疑我学了动规没......首先瓶子容量要++,然后小a和uim是一起走的,只是轮流吸魔液而已。2.解法开一个数组f[i][j][k][p]表示在(i,j)格子处,二人魔液相差k,是第p个人吸。那么uim吸魔液可以看成是小a扔掉一些魔液。bob表示瓶子容量,得到状态转移方程:f[i][j][k][0]+=f[i-1][j][(bob

2017-04-26 20:49:47 1081

原创 bzoj1217(洛谷P2279)消防局的设立(dp或贪心)

1.前言我现在很气。气的理由和我那篇讲cqoi2017树形dp的博客差不多.....推dp方程推到想吐最后发现是个贪心。2.贪心做法首先dfs求出每一个节点的深度,然后深度从大到小排序(或者保存每个深度的所有节点),对于每一个不能被消防局覆盖到的节点,在它的爷爷节点上设置一个消防局最优,为什么呢?我不会理性的证明,只会感性的,感性的证明就三个字:显然嘛!设置了以后,更新所有和爷

2017-04-25 21:14:06 727

原创 洛谷1387最大正方形

省选结束后,我又退化到做普及组难度题目的层次了......思路是......用f[i][j]表示i行j列的那个方格子是一个多大的正方形的右下角的那个格子,那么只有是1的格子才可以更新f[i][j]的值,显然:1 11 1   如果是2,那么f[i-1][j]和f[i][j-1]和f[i-1][j-1]都要大于等于11 1 11 1 11 1 1  如果是3,那么

2017-04-24 18:33:52 735 1

原创 扩展kmp(HDU4333)

1.思路对于一个数413413,可以生成多少个数呢?不难注意到,因为它有两个循环节,所以生成的数每个都重复了两遍,循环节个数可以通过kmp快速求出,最后求出的答案都除以一个循环节个数即可,在此不再赘述,见我的另一篇博客:http://k-xzy.cf/?p=1165剩下的内容就是求这个数重复两遍得到的新数(比如63就是得到6363)的每一个后缀与原数的公共前缀,这样只要分别比较公共前缀

2017-04-23 19:58:43 902

原创 阿狸的打字机(bzoj2434,codevs1946,洛谷2414)

1.分析朴素的算法是把所有字符串处理出来后对于每个询问进行一次kmp,然并卵,肯定超时。因为有很多字符串,我们可以考虑建立一个AC自动机。这样我们又有了一种思路,假如顺着某个节点的fail指针走,最后可以走到某个字符串的末尾,那么表示这个节点所在的字符串里包括一个那个能走到末尾的字符串。不信看图:可是这样子搞还是太慢了。我们可以根据反向的fail指针建立一棵fail树,这样的话

2017-04-20 18:50:06 497

原创 AC自动机与dp(poj3691)

1.题目大意给你一段DNA,求最少修改多少基因可以让DNA不含带病基因(基因只能是G,T,C,A)2.做法简述AC自动机+dp,用f[i][j]表示在i节点处匹配DNA中j处基因的最少修改次数,那么方程是:f[son[i]][j]=min(f[son[i]][j],f[i][j-1] or f[i][j-1]+1);如果son[i]处基因和DNAj处相同则不要加1,否则要加1

2017-04-18 13:33:15 748

原创 set的用法

我发现set这东西很有用.....它可以去重并且排序,多有用啊!set是用红黑树来维护的,不过这高端的东西我这个蒟蒻还没有学,所以具体原理也不知道。最常用的set用法:s.clear()清空。s.insert(x)将元素x插入一个set中s.erase(x)删除键值为x的元素s.find(x)返回键值为x的元素的迭代器一道set用法练习题:明明的随机数(这题大家都做过吧

2017-04-14 14:09:36 1060

原创 bzoj2456瞎搞

这道题就是瞎搞...如果有两个数不相同,同时删除,最后剩下来的数就是众数。但是....卡空间....空间只有1MB。其实这题的关键是不要开iostream库#include#include#include#include#include#include#includeusing namespace std;int main(){ int i,n;

2017-04-12 21:41:42 983

原创 HDU2196树形dp

1.前言今天考试考了一道树形dp的题目,我发现我对于树形dp是个白痴,于是我挑了一道网上都说是水题的题目做,然后愉快地调了一个下午。我果然是个蒟蒻。2.题目思路f[x]表示x在以它为根的子树中可以到达的最远距离se[x]表示x在以它为根的子树中可以到达的次远距离bj[x]表示x在以它为根的子树中到达最远距离走的儿子节点g[x]表示x通过它的父节点可以到达的最远距离然

2017-04-12 16:58:13 874

原创 cqoi2017,bzoj4813小Q的棋盘(树形dp或瞎搞)

1.前言我现在很气。考试的时候想着写树形dp,结果因为脑残以为要多叉转二叉而写挂了。挂了之后我瞎搞一通,结果居然50分,我特别奇怪地加了个步数可以把整棵树走一边就输出n的特判,就蜜汁AC了,这!什!么!鬼!题!!!!!!好吧,后来发现可以证明我的贪心是对的,也就是说树形dp什么的完全是我想多了。反正我觉得我要滚粗了,连重庆的水题都做不出。2.贪心做法(100分,O(n))可

2017-04-12 14:14:27 1133 1

原创 洛谷P1967codevs3287货车运输

1.思路分析刚开始以为是网络流,后来很快发现因为每次查询不同要更改源点汇点,并且万一有两条路连接同样的城市,货车只能走一条。等等,如果有两条同样的,货车只能走一条?那么不用求最短路,咱们生成一棵最大生成树吧。愉快地生成了最大生成树后,显然是求lca啦!倍增维护最小值即可。2.代码#include#include#include#include#include#in

2017-04-10 20:07:42 368

原创 斜率优化与“打包类”问题

斜率优化啊,这个东西挺玄学的.....我这个蒟蒻也是一知半解,现在把我会的都写一下,希望神犇指教。斜率优化与单调性:用斜率优化不一定要求单调性,但你维护一个单调性可以降低时间复杂度(同机房的神犇%%%说的)例题:HDU3507设f[i]表示前i个数字打印的花费,sum是打印每个数字花费的前缀和,那么我们很容易可以写出状态转移方程:f[i]=min(f[j]+M+(sum[i]-

2017-04-08 21:24:13 523 2

原创 洛谷P1220,codevs1258关路灯

1.问题分析这是一个区间dp,因为无论什么时候关闭路灯的状态肯定是一个区间才可能到达最优值(如果是两个区间中间断开了,由一个区间走向另一个区间的路上是可以关路灯,这样又形成了一个区间的)。而我们关闭了一个区间的路灯之后

2017-04-08 07:55:37 468 1

原创 最大权闭合子图

参考资料:胡伯涛《最小割模型在信息学竞赛中的应用》1.什么是最小权闭合子图?如图所示(图是网上找的)如果对于一个点集合,其中任何一个点都不能到达此集合以外的点,这就叫做闭合子图。每个点都有一个权值,那么最小权闭合子图就是权值最小的那个闭合子图。图中的闭合子图有空集,{5},{2,5},{4,5},{2,4,5},{3,4,5},{1,2,4,5},{1,2,3,4,5}其中最小

2017-04-06 19:40:44 1021

原创 poj2699枚举+网络流

1.前言网络流的题目最难的地方是看出它是个网络流           ——沃兹基朔德2.题目大意就是说一些人比赛,两两比一场,一共要比n*(n-1)/2场嘛,然后赢一场就得一分,如果一个人赢了比它分数高的所有人,那么就叫这个人“strong king",问最多多少个"strong king"。(分数最高的人也是的)3.题目分析很容易证(cai)明(chu),不同数量"stron

2017-04-05 21:49:14 371

原创 蒟蒻的分块入门

前言发现分块这个东西已经渗透到经济生活的各个领域(大雾),所以我不得不学些简单的分块技巧,否则会被同机房的jar形绕懵圈的。解析首先%%%%hzwer:   http://hzwer.com/8053.html对于一个有n个元素的数列,我们把它拆碎了,拆成除了最后一块以外,每块都是k的n/k(或许要+1)个块。这样对于某些块,我们可以整块操作,优化时间。例题:洛谷P3372

2017-04-04 22:18:00 930 2

原创 cqoi2015任务查询系统(bzoj3932洛谷P2015)

题目分析看到“前k小”,有没有想到主席树?我们可以对每个时间点为根来建立主席树,然后可以差分。就是每个任务开始的时间+pos(优先级),每个任务结束的时间-pos,最后求存在k个元素的时候的前缀和。提醒这是我写的第二个主席树的题目,所以我真是弱爆了......因为没想到差分,这题只打了暴力......我可以退役了......一定注意,求前缀和的时候,左半边子树的前缀要加起来!!

2017-04-04 19:22:04 297

原创 cqoi2015网络吞吐量(bzoj3931,洛谷3171)

题目分析在这样一道很裸很裸的模板题上爆0简直了,我觉得我可以退役了......主要是想复杂了,完全不相信会有这么裸的省选题啊.....题意已经很明显了,就是要跑2遍Dijkstra最短路然后用网络流,当然如果你一定要用SPFA也可以,如果正着跑的dis[s]值加上反着跑的dis[t]值再加上这条边的长度是最短路的话,这条路就在最短路里面,选择。尊重题目意思,我用了Dijkstra。另外,一

2017-04-04 16:11:38 379

原创 主席树学习笔记(poj2104,bzoj1901/zoj2112)

前言千辛万苦才明白主席树是什么东西,同机房的jar形把我坑害得好惨......另外,网上的主席树资料都很精炼啊,像我这种蒟蒻怎么可能看的懂,不过总算是找到了一些好资料。主席树的原理同机房的Jar形说主席树不是树,是森林,是有一定道理的,因为主席树是很多的树。要说起主席树,肯定要说poj2104这道题。我们首先把数据排个序后去重,比如4,4,1,2,5(记为a数组)排序后去重:1...

2017-04-01 20:42:47 637

空空如也

空空如也

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

TA关注的人

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