老臣

有时,我可能脆弱得一句话就泪流满面,有时,也发现自己咬着牙走了很长的路。...

二分图大讲堂——彻底搞定最大匹配数(最小覆盖数)、最大独立数、最小路径覆盖、带权最优匹配

文本内容框架: §1图论点、边集和二分图的相关概念和性质 §2二分图最大匹配求解 匈牙利算法、Hopcroft-Karp算法 §3二分图最小覆盖集和最大独立集的构造 §4二分图最小路径覆盖求解 §5二分图带权最优匹配求解 ...

2017-07-31 15:50:23

阅读数 261

评论数 0

bzoj2718/1143 CTSC2008 祭祀 最长反链

经典题来着。。 其实就是求最长反链。 然后我们有Dilworth定理: 1.最长链=最长反链覆盖 2.最长反链=最长链覆盖 第一个我还没见过,等一下去查一查。第二个就是我们要用到的了。 证明http://vfleaking.blog.163.com/blog/static/174807...

2017-07-31 15:34:21

阅读数 119

评论数 0

bzoj2756[SCOI2012]奇怪的游戏 二分 分类讨论 最大流

细节比较多的一道题目。 题意:给你一个矩阵,每次能把相邻的两个数都+1,问你最少多少次能把整个矩阵的数都变成同一个数。 网络流的模型比较明显,但是正解的话考场上可能不容易想到= =。 先把整个网格图黑白染色,设格子数和总和分别为num1,sum1,num2,sum2. 那么假设最终变成了X...

2017-07-30 20:50:38

阅读数 124

评论数 0

bzoj2391Cirno的忧郁 treap+三角剖分

好强啊这题,只能%题解。 因为题目中不存在三点共线的情况先设p0(-10000,-10000),然后将其他点极角排序(如果用最左下的点后面计算时还需要特殊处理)f[i][j]表示0,i,j这个三角形内的点数,ij为排序后的标号这一步可以预处理,做法是对于每个i建一棵平衡树,将排在它以后的j逐个加...

2017-07-30 19:38:47

阅读数 228

评论数 0

bzoj3170&&jzoj3256 【TJOI2013】松鼠聚会 切比雪夫距离

是个概念题。 题目中的距离其实就是切比雪夫距离,把横坐标变为x-y,纵坐标变为x+y以后直接用前缀后缀和统计一下就好了。#include<cstdio> #include<iostream> #include<algorithm> #include<cs...

2017-07-28 22:28:03

阅读数 137

评论数 0

bzoj4080 Wf2014 Sensor Network 随机化

题意:给你一个点集,让你选出最多的点同时保证任意两个点之间距离不能超过d。 一开始一看见n<=100以为直接暴力加入,然后每一次在已经加入的里面比较,结果WA了。。其实挺明显的,肯定不是最优的啊= =,要保证正确性只能2^100。。。 所以就懵逼了,题解是随机化一个序列以后贪心来,感觉整...

2017-07-28 12:25:11

阅读数 147

评论数 0

bzoj4484[Jsoi2015]最小表示 拓补排序+bitset

挺显然的吧,一条边没有影响当且仅当这个边相连的两个点已经可以互相到达,就是没想到用bitset维护,老纠结map。。。 #include<cstdio> #include<algorithm> #include<cstring> #include<bits...

2017-07-28 10:02:17

阅读数 147

评论数 0

bzoj3196 Tyvj 1730 二逼平衡树 线段树套treap

裸的树套树,其实本来是想练习treap,后来想想算了,顺手学一波咯,反正是入门题。 t[k].s表示子树大小,t[k].w表示k这个点含有多少相同的数。#include<cstdio> #include<algorithm> #include<cstring>...

2017-07-27 16:56:33

阅读数 242

评论数 0

bzoj1691 [Usaco2007 Dec]挑剔的美食家 treap+贪心

比较明显的贪心吧,按照鲜嫩值排个序,从大到小,然后每次只加入比当前鲜嫩值大的,直接查找就好了,找到以后就删掉。#include<cstdio> #include<algorithm> #include<cstring> #define fo(i,a,b) for...

2017-07-27 15:39:38

阅读数 130

评论数 0

bzoj1588[HNOI2002]营业额统计 treap

Description营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一...

2017-07-27 10:00:52

阅读数 85

评论数 0

bzoj1862&&1056 GameZ游戏排名系统 treap+哈希表

居然只是隔了就拿来当原题,这样真的好吗=。= 平衡树直接硬上,然后用哈希表存一下名字,其余的话就是裸操作了,要注意的是要加上一个时间标记,不然删的时候会炸。。 时间标记有几个地方忘记加上结果T了半天= =。 码了1个小时多,手酸了都= =4400B#include<cstdio>...

2017-07-26 17:09:06

阅读数 134

评论数 0

bzoj1503[NOI2004]郁闷的出纳员 treap

换个打法,以前一直用指针,现在觉得太麻烦,借鉴ymwdalao的模板。#include<iostream> #include<cstdio> #include<ctime> #include<cstdlib> using namespace std;...

2017-07-26 11:55:19

阅读数 203

评论数 0

bzoj3545[ONTAK2010]Peaks 线段树合并+离散

一开始以为是什么没见过的点分治姿势,后来发现不对,肯定要数据结构维护,那难道是树剖?不可能啊这怎么维护= =,在ymw大神的提醒下突然想到线段树合并= =。。 先离散,然后对每一个联通块建一颗线段树(动态开点),然后按照边的从小到大排序,询问也按照那个限制从小到大排序,然后离线,按照题目要求每次...

2017-07-26 08:58:56

阅读数 164

评论数 0

bzoj2683&&1176[Balkan2007]Mokia cdq分治

应该算是入门题,只不过我很久没做这种矩形题了,所以没有想到一个关键点导致我模型没转化过来。 还是像之前一样把询问和赋值多添加一个维,表示时间,然后添加很显然就不说了,每次直接bit加入就好,问题是查询。 一个子矩阵x1 y1 x2 y2 的答案等于ans[x2][y2]+ans[x1][y1]...

2017-07-25 21:15:28

阅读数 103

评论数 0

bzoj3209 花神的数论题 数位DP

一开始想的是先预处理出n位的答案,因为假设当前给出的数x有y位,那么y-1位的答案是固定的,我只要处理y位的答案就可以了,问题是这样太复杂。。。 设f[i][j]表示i位有j个1的答案,那么明显有f[i][j]=f[i-1][j]+f[i-1][j-1],表示第i位选0或1. 然后最后统计一下...

2017-07-25 16:12:54

阅读数 129

评论数 0

bzoj3597 [Scoi2014]方伯伯运椰子 01分数规划

题意:给你一个满流的残量网络,让你通过调整以后,使得调整前后的平均费用之差(调整后比调整前小)最大,同时要求调整后仍然满流。 其实这题不难,只不过网上的题解大多数都模棱两可,写法也参差不一,搞得我很蛋疼。。 事实上我们可以发现,当前给我们的图肯定不是最小流,否则无法增广。 然后,根据费用流的...

2017-07-25 10:53:41

阅读数 135

评论数 0

bzoj3522 [Poi2014]Hotel dfs(DP)

其实这题勉强可以算是个DP= = 一开始想的是设f[i][j]表示以i为根,距离为j的答案,然后发现转移好像很复杂,写出来了但是MLE= =。。懒得开滚动了。 然后发现其实并不用这么复杂= = %题解: 首先可以发现,满足条件的点对一定是“有一个中心点,三个点到中心点的距离相等,且三个点分...

2017-07-25 08:59:24

阅读数 161

评论数 0

bzoj3990 [SDOI2015]排序 dfs

考试遇见这种题目只能傻眼。。 题目大意:给定一个长度为2^n的排列,有n个操作,第i个操作为【将序列分成2^(n-i+1)段,每段长2^(i-1),然后任选两段交换】,每个操作最多用一次,求有多少操作序列能把序列排出来 (orz popoqqq)orz hzwer: 我们可以发现一个操作序列...

2017-07-24 22:23:45

阅读数 151

评论数 0

bzoj3295[Cqoi2011]动态逆序对 cdq分治(树套树/主席树)

这题应该挺老了吧,好多人都切了,各种姿势都有,cdq分治是比较简单的一种,我就打了。。 跟普通的偏序不同,这里有一个删除的操作,那么我们其实可以把删除看作倒着插入,然后对被删除的哪一个数标记一下被删除的时间,然后对序列中的每一个数加上一维限制t,表示时间,那么明显对于未删除的,他们的时间按顺序递...

2017-07-24 20:54:44

阅读数 155

评论数 0

bzoj3262陌上花开 cdq分治 三维偏序

cdq分治的入门题目,学习一下这个很实用的玩意儿。 大概思想就是把在线变为离线,去掉时间的限制,然后每次对于询问区间分治处理,块内之间的影响可以递归处理,然后剩下的就是块与块之间的影响,这个其实就很简单了,随便搞搞就好,反正是静态查询,双指针啊啥的随便上。。 这题的话第一维排序,第二维cdq,...

2017-07-24 16:35:18

阅读数 150

评论数 0

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