自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Bysen32

当梦想照进现实

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

原创 POJ 2584 多重匹配

注意细节细节!!!用网络流来做一定很轻松-.-将多重匹配变为最大匹配,数据较小,可以过....#include#includeusing namespace std;struct Edge{ int v,next;}E[111111];struct SEG{ int s,e;};int ptr[222],match[222],Edgenum;

2012-08-31 23:24:10 736

原创 POJ 2536 水匹配...

#include#include#includeusing namespace std;struct POINT2D{ double x,y;}point[222];struct Edge{ int v,next;}E[111111];int match[222],ptr[222];int Edgenum;bool vis[222];void a

2012-08-31 22:32:45 836

原创 POJ 2062 最大匹配

这题WA了很久很久,确定算法没错.. 但是还是WA了很久很久...原因是Ace的初值没有赋值=.=细节决定成败!!#include#includeusing namespace std;struct Edge{ int v,next;}E[6666];bool vis[66];int ptr[66],match[66],Edgenum; void addE

2012-08-31 21:48:48 889

原创 POJ 2060 最小路径覆盖

有很多出租车订单,标记了开车时间与起点终点。如果出租车能在上一个订单结束后,并且在下一个订单的开车前1min到达起点,那么我们说,这两个订单可以用一辆出租车来完成任务。转化为最小路径覆盖问题。这里是有向图的最大匹配,可以用匈牙利算法求解。以上....#include#includeusing namespace std;struct SEG{ int s,e

2012-08-31 20:26:22 786

原创 POJ 1486 唯一二分图匹配 好题

一道很好的题目。大意:很多透明的矩形薄片平摊在平面上,每个矩形薄片有数字编号。现在给出矩形薄片的边界与编号的坐标。求出能唯一确定的矩形薄片的字母标号与数字编号。很容易转化成二分图的题。开始题意弄错以为是必须全部都唯一匹配则输出匹配序,不行则输出none.现在的题意是求关键边... 不用删边,特判就好.#include#includeusing namespace

2012-08-31 17:51:58 842

原创 最小路径覆盖

DollsTime Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KBTotal submit users: 19, Accepted users: 16Problem 12499 : No special judgementProblem descriptionD

2012-08-31 15:03:40 661

原创 HDOJ 1524 SG函数标准模板题

SG的模板题,不多说。这里采用记忆化深搜优化。Time=15ms还不错。#include#includeusing namespace std;struct EDGE{ int v,next;}E[11111111];int ptr[1111],Enum;int sg[1111];void addEdge( int u,int v ){ E[Enum]

2012-08-30 22:02:02 660

原创 HDOJ 1730 又见阶梯博弈

再做有种亲切感,比SG简单多了.... 泪奔....将同行两棋子之间的空格数视为某堆的石子数。进行一次Nim就OK了....#include#includeusing namespace std;int main(){ int N,M; while( scanf("%d %d",&N,&M)!=EOF ) { int xo=0; int a

2012-08-30 16:21:56 668

原创 POJ 2008 优先队列 好题 数形结合

这题在做的时候果断不会=.=做了一晚上和一上午。当AC之后,感觉很爽!给定一个集合,集合中的元素有w,h两个属性。在此集合中取出一个子集,满足下列条件:A*(H-h)+B*(W-w)其中h,w为取出子集的所有元素中最小的h和w.求子集中最多元素个数。朴素的办法为:枚举 w和h,将符合条件的点计数,这样O(n^3)的算法过不掉...分析:1.不等式

2012-08-30 13:51:22 926

原创 POJ 1724 优先队列解带限制最短路

这题的实质上是最短路径问题。大意:从1到N的路程总花费小于等于K的最短路径。每条路有花费和长度。依旧采用迪杰斯特拉的贪心思路,每次贪最短的,根据这个点来更新其他的点。这题我没有注意的是加限制的优先队列的性质:优先队列的元素保证都是到目标点的花费小于等于K的,这样下来,以长度为第一维度排序的优先队列,第一次到达目标点为终点的时候,此时的len即为所求。我在这个点坑爹的TLE了

2012-08-29 18:46:24 772

原创 POJ 1862 优先队列

题目大意百度来的。看不懂=.=说科学家有奇怪生物,每两个会合并,合并后的重量为2*sqrt(m1*m2);求最终合并的生物最小重量。由于m1+m2>=2*sqrt(m1+m2);所以每次在优先队列中取出2个元素,进行合并。保证最后的解最小。题意没懂WA了一次。#include#include#includeusing namespace std;double ma

2012-08-29 11:20:09 583

原创 POJ 3253 优先队列解哈夫曼树

这是一棵普通的二叉哈夫曼树。#include#includeusing namespace std;int main(){ int N; while( scanf("%d",&N)!=EOF ) { priority_queue,greater > PQ; int len; __int64 ans=0; for( int i=

2012-08-29 10:54:16 746

原创 一道吓人的水题 HDU 1140

题目意思很吓人。经过分析之后就变成了一道比大小的题目... 囧~#include#includeusing namespace std;class Point3D{public: double x,y,z; Point3D( double a=0,double b=0,double c=0 ){ x=a; y=b; z=c; }}A[111]

2012-08-26 21:39:42 783

原创 HDOJ 1536 SG函数的基本应用

从题意来看,是基本的SG函数应用,把刚学的set用进去优化,发现不行...TLE...再看看SG的原理,网上大部分都是采用递归,而那些题解报告都是一把抄,嗤之以鼻..下面是直接TLE的代码:/*********************S-NimSevenster2012.08.26 12:55*********************/#include#includ

2012-08-26 13:36:46 782

原创 HDOJ 1517 博弈的理解

题目大意:Stan与Ollie两人博弈,Stan先手。两人对当前数(初始为1)进行乘操作,乘数为[2,9];给定N,当某人第一次使得操作数大于等于N时,为胜利者。由博弈原理:设x为取到的值。则x>=N时为必败态。任何能转化为必败态的都是必胜态,所以[ceil(N/9),N-1]为必胜点。只能转化为必胜态的都是必败态,所以[(ceil(N/9)/2),ceil(N/9)-

2012-08-26 00:22:32 756

原创 哈夫曼树 优先队列STL的应用

最近每次做题都要看很多资料。看来是真的老了。这题给定字符串,以及待编码的字符数,采用哈夫曼编码,编码总长度最短。求此值。这题添加虚拟节点,使得最后的合并方便,也就是使得每次合并保证树中都大于T个。T为提供的编码字符数。相当于每一个节点要么是空的要么是有T个孩子的。设待编码字符为N,添加的虚节点个数为β。那么对(N+β)进行一次合并-> (N+β)-T+1 第二次合并 (N+β)

2012-08-25 13:10:41 1114

原创 区间最值线段树

去年省赛原题..今年基本上把线段树忘记的差不多了。今天又敲了一遍。发现自己的输入处理还不错。这种类型的弱爆了线段树...由于思想不细致,导致WA了很久,看来以后要细心一点了!weak nodeTime Limit : 2000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Tota

2012-08-25 12:56:18 1113

原创 约瑟夫环 数学解

题目大意:有给定的N个人,主角编号13,求最小的报数序号M,使得主角为赢家。报数序列为1,M%N这样.. 1是第一个出去的网上看的数学方法,各种感觉不爽!觉得算法中最神奇的就是2分和递归了。美妙!数学分析过程网上都有,不解释了。#includeusing namespace std;int find( int n,int m ){ int s=0; for(

2012-08-25 12:52:49 924

原创 k次方的首末三位

K次方Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 10   Accepted Submission(s) : 3Font: Times New Roman | Verdana | GeorgiaFont Si

2012-08-24 18:34:22 2482

原创 HDOJ 1848组合博弈 SG函数的基本应用

文章不错,大家可以看看。搞了半天原来SG函数这么简单,类比为Nim真是碉炸啦!不太会写,将原理拿过来直接敲了。#include#includeusing namespace std;bool cmp( int a,int b ){ return a<b;}int mex( int rec[],int cnt ){ sort( rec,rec+cnt,cmp )

2012-08-24 11:06:52 1249

原创 HDOJ 几道博弈水题

HDOJ 1847 SG函数入门(不用也行)基本博弈的理解。#includeusing namespace std;int main(){ int n,list[1111]; memset( list,0,sizeof(list) ); for( int i=1;i<=1000;i++ ) for( int k=1;i-k>=0;k*=2 ) { if( l

2012-08-24 11:04:25 811

原创 HDOJ 2188&&2149 水博弈

一起做过类似的,如果是以前的我的话,肯定会从0状态开始,打个表搞起。现在想到了另外一种方法,把箱子看成装满钱的,每人从里面拿钱,最多拿m元,拿到最后一张的获胜。#includeusing namespace std;int main(){ int T; scanf( "%d",&T ); while( T-- ) { int n,m; s

2012-08-23 21:10:52 684

原创 HDOJ 2509 Nim博弈

这题只是一只纸老虎。但是我确实被它吓到了。你瞧瞧题中说的,一个堆可以分裂成两个堆,这么复杂的问题实在不会做啊!准备搜题解,看看别人都是寥寥数句结题。于是我也赌气不看题解了,自己推。分析:照样设置T0,S0点。根据题意可知T0为必胜点,S0为必败点。S1点:有且仅有一堆的数量>=2,这里为啥不用考虑分割堆呢?S1能转变为S0点,主动权当然在面临这个选择的人身上,显然是必胜点。

2012-08-23 20:34:17 829

原创 HDOJ 1907

大概看了一种博弈问题的变化题,左边这个链接讲解的还是不错的。Nim博弈大家都知道,就是有N堆石子,两人轮流取,每次在一堆中取任意个,取到最后一个的胜利。现在的变化是,取到最后一个的算失败。这怎么做?首先我们定义:对于N堆石子,每堆的个数为Ai(1设C=A1^A2^...^An;若C=0,则状态设为T,称为利他态。反之,设状态为S,称为利己态。孤单堆,该堆的石子数量为

2012-08-23 17:52:04 801

原创 图论思想,DP构造求解

B-Travel By AirlineTime Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 24   Accepted Submission(s) : 1Font: Times New Roman | Verdana | Ge

2012-08-23 11:28:20 1137

原创 一道闹心的水题

G-WindTime Limit : 3000/2000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 123   Accepted Submission(s) : 13Font: Times New Roman | Verdana | GeorgiaFo

2012-08-21 12:36:09 869

原创 求解中缀表达式...

E- Seven tombsTime Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other)Total Submission(s) : 31   Accepted Submission(s) : 9Font: Times New Roman | Verdana | Georgia

2012-08-20 17:30:39 925

转载 托勒密定理 圆的内接四边形

摘自维基百科:在数学中,托勒密定理是欧几里得几何学中的一个关于四边形的定理。托勒密定理指出凸四边形两组对边乘积之和不小于两条对角线的乘积,等号当且仅当四边形为圆内接四边形,或退化为直线取得(这时也称为欧拉定理)。狭义的托勒密定理也可以叙述为:圆内接凸四边形两对对边乘积的和等于两条对角线的乘积。它的逆定理也是成立的:若一个凸四边形两对对边乘积的和等于两条对角线的乘积,则这个凸四边形内接于

2012-08-03 12:50:06 4945

原创 POJ 2007 计算几何水题

大意是说将凸多边形顶点按逆时针排序,起点是原点且没有第二象限的点。水之..../*********************** *Creator:Sevenster * *Time:2012.08.01 13:47* *PID:POJ 2007 * ***********************/#include#include#include#def

2012-08-01 14:03:21 581

原创 POJ 2624 简单计算几何

第一次用运算符重载,代码清晰多了。已知两边,求组成平行四边形的第4点。运用向量相加性质。有trick,公共点不一定是给出的第二点和第三点,自行判断。/************************ *Creater:Sevenster * *Time:2012.08.01 12:05 * *PID:POJ 2624 * ***************

2012-08-01 12:37:59 751

空空如也

空空如也

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

TA关注的人

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