自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

doveccl

请原谅我的年少无知

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

原创 ubuntu 14.04 下安装 ia32-libs 的方法

网上提供的大多数软件源都已经不能shi yong le

2014-10-09 17:49:12 1284

原创 [SHTSC 2012] 信用卡凸包

可能是因为太无聊了吧!可能是因为马上就要退役了吧!可能是因为……反正我就是来写题解了,还能说什么好?数学确实很重要啊!题目大概意思如下:首先一张信用卡大体框架是矩形,但是在四个边缘进行了圆滑处理(四个角是半径为r的1/4圆,并且圆满足与矩形的边相切),如下图现在告诉你信用卡的规格(高、宽、1/4圆半径)还有信用卡张数,并且告诉你每张信用卡在桌面上的坐标以及旋转角

2014-04-24 21:51:57 1580 1

原创 区间

题目描述给出n个区间,一些区间被另一些区间包含,求出最大的层数。 输入:    第一行为整数n,接下来n行,每行两个整数x,y(0 输出:输出一行只有一个整数,即最大层数。 样例输入:62 106 91 27 81 88 10 样例输出:3

2014-04-17 18:34:47 729

原创 PIGS

输尼克在一家养猪场工作,这家养猪场共有M间锁起来的猪舍,由于猪舍的钥匙都给了客户,所以尼克没有办法打开这些猪舍,客户们从早上开始一个接一个来购买生猪,他们到达后首先用手中的钥匙打开他所能打开的全部猪舍,然后从中选取他要买的生猪,尼克可以在此期间将打开的猪舍中的猪调整到其它开着的猪舍中,每个猪舍能存放的猪的数量是没有任何限制的。买完猪后客户会将他打开的猪舍关上。好在尼克事先知道每位客户手

2014-04-16 19:29:03 1050 1

原创 [CQOI 2014] 排序机械臂

看完此题数据范围n就是这句话:如果有高度相同的物品,必须保证他们排序后与初始的相对位置关系相同。被样例2骗了,SB的写了一个错误的DP,然后由于splay太长时间没写,所以……对于这个限制条件,我给每个点加上了时间标记dnf(这当然不是tarjan……随手写写而已)然后加上三个与DP相关的域:mi,ti,pos,分别表示当前区间可以取到的最小值、该最小值所对应的时间戳,要达到该最小

2014-04-07 21:16:25 3819

原创 [HNOI 2013] 切糕

题目描述 Description经过千辛万苦小 A 得到了一块切糕,切糕的形状是长方体,小 A 打算拦腰将切糕切成两半分给小 B。出于美观考虑,小 A 希望切面能尽量光滑且和谐。于是她找到你,希望你能帮她找出最好的切割方案。 出于简便考虑,我们将切糕视作一个长 P、宽 Q、高 R 的长方体点阵。我们将位于第 z层中第 x 行、第 y 列上(1≤x≤P, 1≤y≤Q, 1≤z≤R

2014-03-13 13:56:58 993

原创 [POJ 1523] SPF

这是一道求割点的入门题,没什么好讲的,给一组详细的样例数据以供参考:输入:1 25 43 13 23 43 50 1 22 33 44 55 10 1 22 33 44 66 32 55 10 

2014-02-19 17:49:18 687

转载 最短路经算法简介(Dijkstra算法,A*算法,D*算法)(转载)

转自 http://www.embhelp.com/drew/algorithm/shortpath.htm    作者:Drew    据 Drew 所知最短路经算法现在重要的应用有计算机网络路由算法,机器人探路,交通路线导航,人工智能,游戏设计等等。美国火星探测器核心的寻路算法就是采用的D*(D Star)算法。    最短路经计算分静态最短路计算和动态最短路计算。

2014-01-28 22:41:57 2429

原创 [网络流24题 #16]数字梯形问题

这是一道很经典的费用流题目,可以通过最大费用最大流实现通过分析题目,我们很容易想到建模方法:1、对于规则一,题目规定每一个节点只能访问一次,也就是说,实际上这个时候每一个点都有容量限制,所以我们必须把点i拆分成两个点Xi,Yi。此时每一条边的容量都是1,费用为改点的权值,此时只允许使用该节点一次,并且代价为权值。数字梯形是逐层向下的,并且每一个点可以向下面两个方向进行扩展,于是我们在这

2014-01-28 10:36:25 1074

原创 [网络流24题 #11]航空路线问题

【问题分析】求最长两条不相交路径,用最大费用最大流解决。【建模方法】把第i个城市拆分成两个顶点,。1、对于每个城市i,连接(,)一条容量为1,费用为1的有向边,特殊地(,)和(,)容量设为2。2、如果城市i,j(j>i)之间有航线,从到连接一条容量为1,费用为0的有向边。求源到汇的最大费用最大流。如果(,)不是满流,那么无解。否则存在解,即为最大费用最大

2014-01-26 14:09:14 1377

原创 [网络流24题 #10]餐巾计划问题

【问题分析】网络优化问题,用最小费用最大流解决。【建模方法】把每天分为二分图两个集合中的顶点Xi,Yi,建立附加源S汇T。1、从S向每个Xi连一条容量为ri,费用为0的有向边。2、从每个Yi向T连一条容量为ri,费用为0的有向边。3、从S向每个Yi连一条容量为无穷大,费用为p的有向边。4、从每个Xi向Xi+1(i+15、从每个Xi向Yi+m(i+m

2014-01-26 14:00:55 759

原创 [网络流24题 #9]方格取数问题

【问题分析】二分图点权最大独立集,转化为最小割模型,从而用最大流解决。【建模方法】首先把棋盘黑白染色,使相邻格子颜色不同,所有黑色格子看做二分图X集合中顶点,白色格子看做Y集合顶点,建立附加源S汇T。1、从S向X集合中每个顶点连接一条容量为格子中数值的有向边。2、从Y集合中每个顶点向T连接一条容量为格子中数值的有向边。3、相邻黑白格子Xi,Yj之间从Xi向Y

2014-01-26 13:57:21 695

原创 [网络流24题 #7]试题库问题

同样没有特判程序,所以只谈思路:【问题分析】二分图多重匹配问题,用最大流解决。【建模方法】建立二分图,每个类别为X集合中的顶点,每个题为Y集合中的顶点,增设附加源S和汇T。1、从S向每个Xi连接一条容量为该类别所需数量的有向边。2、从每个Yi向T连接一条容量为1的有向边。3、如果一个题i属于一个类别j,连接一条从Xj到Yi容量为1的有向边。

2014-01-24 14:03:51 1240

原创 [网络流24题 #6]最长递增子序列问题

这一道题貌似在网上找不到比较可靠的数据,所以如果想评测,尽量还是手动模拟验算,这里也不贴代码了。说一下ByVoid大神的建图过程:【问题分析】第一问是LIS,动态规划求解,第二问和第三问用网络最大流解决。【建模方法】首先动态规划求出F[i],表示以第i位为开头的最长上升序列的长度,求出最长上升序列长度K。1、把序列每位i拆成两个点和,从到连接一条容量为1的有向边

2014-01-24 13:34:36 797

原创 [网络流24题 #5]圆桌问题

又是一道多解的题【问题分析】二分图多重匹配问题,可以用最大流解决。【建模方法】建立二分图,每个单位为X集合中的顶点,每个餐桌为Y集合中的顶点,增设附加源S和汇T。1、从S向每个Xi顶点连接一条容量为该单位人数的有向边。2、从每个Yi顶点向T连接一条容量为该餐桌容量的有向边。3、X集合中每个顶点向Y集合中每个顶点连接一条容量为1的有向边。求网络最大

2014-01-23 13:33:44 640

原创 [网络流24题 #3]最小路径覆盖问题

【问题分析】有向无环图最小路径覆盖,可以转化成二分图最大匹配问题,从而用最大流解决。【建模方法】构造二分图,把原图每个顶点i拆分成二分图X,Y集合中的两个顶点Xi和Yi。对于原图中存在的每条边(i,j),在二分图中连接边(Xi,Yj)。然后把二分图最大匹配模型转化为网络流模型,求网络最大流。最小路径覆盖的条数,就是原图顶点数,减去二分图最大匹配数。沿着匹配边查找,就是一个路径上的点

2014-01-23 13:24:24 772

原创 [HNOI 2012]排队

这道题是湖南省选的一道题,与其说是考算法,不如说是考数学,这是一道较为“纯”的数学题。首先来看一下题目:某中学有n 名男同学,m 名女同学和两名老师要排队参加体检。他们排成一条直线,并且任意两名女同学不能相邻,两名老师也不能相邻,那么一共有多少种排法呢?(注意:任意两个人都是不同的)对于30%的数据n≤100,m≤100对于100%的数据n≤2000,m≤2000

2014-01-22 13:50:23 1130

原创 [HNOI 2004]宠物收养所

同样是HNOI的一道水题,非常鄙视那些用set的人……其实这是一道平衡树维护的题,很显而易见要维护两颗平衡树(好吧最开始做题目居然只建立了一棵SplayTree,然后WA到想哭……),而且两棵树中必然有一颗是空的,易证。无非就是注意几个特别的操作,详见代码。#include #define abs(x) (((x)>=0)? (x):-(x))#define MaxN 8001

2014-01-21 13:51:01 682

原创 [NOI 2004]郁闷的出纳员

这是一道练手的水题啦!写网络流怕把splay忘了,于是来练习一下splay。这是一道很经典的splay入门题,用size域查询排名,维护的仍然是有序表,只是由于涉及到删除插入的操作,包括询问排名,所以线段树不是很好实现(但事实上是可以的)。尽管是道很基础的题,但是还是有很多地方值得注意:1、由于员工工资可能是一样的,所以如果让重复的元素出现在树中,则会使删除操作变得异常麻烦。于是我们应该添

2014-01-21 13:48:48 849

原创 [网络流24题 #4]魔术球问题

本来是应该用最大流做的的但是实际上还有一种方法可以得到答案:现在如果有n个柱子,要放数i,从第一个柱子开始试,试到能放的那个柱子,就把i放进去,如果n个柱子都不行,就停止计算,得到最大值。这其实是一个贪心的证明,事实证明最大流与贪心的答案是吻合的。同样这是一个方案数多样化的题目,鉴于没有Special Judge,所以过不了也是正常,不过不用管它。这道题的标准做法应该是最小路径覆盖

2014-01-21 13:47:19 943

原创 [网络流24题 #2]太空飞行计划问题

这道题写了好久啊!先说一下建图过程吧:把每个仪器看作X顶点,把实验看作Y顶点,增加S和T点。S点连接所有的X顶点,权值为每个仪器的费用,T点连接所有实验,权值是收入。如果实验需要相应的仪器,则把对应的X,Y顶点相连,权值为无穷大,那么最大收入则为所有实验的收入减去最小割,根据最小割最大流定理,最小割就是最大流。对应的解就是最小割划分出的T集合中的点,也就是最后一次寻找增广路

2014-01-21 13:45:37 676

原创 [网络流24题 #1]飞行员配对方案问题

如果没有特判程序,就不需要提交去评测了,题目答案多样化,无法得知out文件的答案是用何种搜索顺序制定的,只需比较最大流值是否算对即可。#include #include #include #include #include #define MaxN 110using namespace std;const int INF=~0U>>2;int head[MaxN],v[MaxN

2014-01-21 13:44:07 652

原创 [网络流24题 #17]运输问题

本来和job一样是一道水题,没有想到错误会出在循环的起始值上,这说明写代码时的智商还是有点低,应该多加训练,就是这样O__O"…#include #include #include #include #include #define clean(x,y) memset(x,y,sizeof(x))#define add(x) Q.push(x),v[x]=1#define del(x

2014-01-21 13:42:04 704

原创 [网络流24题 #18]分配问题

这个题目写到了手残的境界,十分感动,不必多说。首先是加反向边时下标没有反过来,然后是基于费用的最短(最长)路每次写成基于弧的容量……最后就是临时数组开小了,导致开始评测只有11分,搞得我真是很无语。看了wjk大神在很久很久以前的代码,发现他的增广是递归式的(在这一点上我比他有优势,非递归)最后发现wjk大神代码没有用临时数组,着实把我震撼了,后来才发现他原来用正向边

2014-01-21 13:40:13 873

原创 [wikioi 1022]覆盖

在这里首先感谢wjk大神对于我的帮助,没有他,我还很难想出建立二分图的模型。我按照我的个人想法,用最大流写了此题,但是情况不尽人意:相当牛叉的时间(看最后一个点),惨象已不必多说……所以,被逼无奈,找到了传说中的匈牙利算法(wjk大神曾称之为“增广路算法”,让我错以为和网络流有关,实际上不是的)匈牙利算法是可以用来解决二分图匹配问题的,而且效率比最大流高很多……

2014-01-21 13:35:07 748

原创 最小费用最大流模板

没什么好说的,直接上代码吧~#include #include #include #include #define InsE(x,y,c,b,P) cost[P]=b,cap[P]=c,v[P]=y,next[P]=head[x],head[x]=P++#define add(x) Q.push(x),vis[x]=1#define del(x) x=Q.front(),Q.pop()

2014-01-21 13:31:37 693

原创 [USACO 4.2.1] Drainage Ditches

题目在这里:http://wikioi.com/problem/1993/关于sap,终于找到了一个可行的模版,而且速度还可以,关键就是怕递归爆栈(可能性很小吧)变量名有点长,那是方便理解,另外网络的储存用的是边式储存(因为我发现了邻接矩阵的BUG)好了,网络流就是那样的东西,有些地方还真的就不好说清楚,自己慢慢悟吧……#include #include #includ

2014-01-21 13:29:16 1039

原创 [POJ 3580]Super Memo

这是一道非常好的题目,考察对于splay(或其他平衡树)的综合应用,需要注意的是splay 上浮 和 下沉 的实现,我的splay以自顶向下方式实现。#include #include using namespace std;const int inf=~0U>>2;int a[200010],lazy[200010],mi[200010],size[200010];bool rev[2

2014-01-21 13:26:26 704

转载 自顶向下的Splay

一、简介:伸展树,或者叫自适应查找树,是一种用于保存有序集合的简单高效的数据结构。伸展树实质上是一个二叉查找树。允许查找,插入,删除,删除最小,删除最大,分割,合并等许多操作,这些操作的时间复杂度为O(logN)。由于伸展树可以适应需求序列,因此他们的性能在实际应用中更优秀。伸展树支持所有的二叉树操作。伸展树不保证最坏情况下的时间复杂度为O(logN)。伸展树的时间复杂度边界是均摊的。尽管

2014-01-21 13:21:35 806

原创 线段树模板

upload: inc a value in [left..right]insert: change value in [left..right]count: count sum in [left..right]#include #include #include using namespace std;struct tree{private: int a,b,laz

2014-01-21 13:19:47 493

原创 [NOIP 2009]靶形数独

相当坑爹的一道题,也是NOIP2009年最后一题,相信难度已不必多说,而且也是唯一一道时限2s的题目。网上有人用Dancing Links做此题,那就只能ORZ......数独问题,是已经被证明了的NP完全问题,但是由于NOIP不可能因为Dancing Links去卡数据,所以较为优秀的方法应该是启发式搜索(亦或可以说是A*)整体上的思路是,定义两个数组int line[10],r

2014-01-21 13:17:20 1213

原创 [NOIP 2008]传纸条

感觉这道题出得不错,而且网上题解讲得非常好,所以~~~~~~~~~~使用动态规划算法的关键,在于状态的定义和找到动态转移方程。很多同学(包括我)在内最初考虑该算法的时候一定是在想:使用DP[i][j]来保存[0][0]到[i][j]的来回最大值。不过很明显,这种状态的保存只保存得了一条路径,而如果DP两次,图的状态怎么确定又是很大的问题。所以,不能这样保存状态。既然要走两次,而

2014-01-21 13:14:01 720

原创 高精度运算模板

支持 加、减、乘、除、开方运算,保留整数位#include#include#include#include#includeusing namespace std;struct hac{ vector a; bool flag; hac con()const //符号取反 { hac temp=*this; temp.f

2014-01-21 13:09:42 582

原创 [wikioi 2037]魔板

这道题已经做了很久了,原因是一直想用双向bfs实现,但是很不幸,由于题目要求输出字典序最小的方案,所以双向bfs在可行性上还是有问题的,最后花了五分钟把代码改成了单向,AC了。看到这题我们不难想到用队列维护bfs,但是关键就在于判断一个新生成的情况是否在队列中曾经出现过,如果有,那么这种情况必然是无用的,无需加入队列。我在用pascal时,曾经用一个八维数组判断(⊙﹏⊙b),当然,由于C++开

2014-01-21 13:06:17 836

空空如也

空空如也

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

TA关注的人

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