- 博客(15)
- 资源 (12)
- 收藏
- 关注
原创 poj 1389 Area of Simple Polygons 线段树扫面线,和1151一样的嘛
这道题和1151一样嘛!自己有打一边温习温习详细讲解看 http://blog.csdn.net/youngyangyang04/article/details/7787693#include#include#includeusing namespace std;#define N 1005struct ode{ int y1,y2,x,flag;}node
2012-07-30 12:45:26 752
原创 poj 1823 Hotel 线段树,注意懒惰标记,不标记就会超时滴
这题就491个accepted,还挺吓人的,别被吓住哈,其实我被吓住了,嘻嘻,这泥玛做也是悲剧,但看分类上说属于中等题,我就猛憋一股气,三A ,呵呵这个题我们这需要在线段上用ml,mr,len表示左面有几个连续空位,右面有几个连续空位,中间有几个连续空位在和并的时候注意更新规则a[i].len=max(a[i*2].mr+a[i*2+1].ml,max(a[i*2].len,a[i
2012-07-30 12:37:12 1039
原创 hdu 4318 Power transmission 临接表 广搜 多校联合赛(二) 第九题
现学的临近表广搜的过程中不断更新点剩余电量的最大值本来想找我的参考blog的,怎么搜不到了呢!那就不好意思啦 #include#include#includeusing namespace std;#define N 50005#define inf 0.0struct edge{ int t; int w; edge *next;}*lisk[N
2012-07-29 09:16:35 2339
原创 hdu 4313 Matrix 并查集 多校联合赛(二) 第四题
这道提问在这哥宫殿里最上的权值和是机器不向联可以用并查集一做,思想又有点想克鲁斯卡尔,想将所有边从大到小排序,然后加边,让点都指向把机器,如果线的两个点都指向机器了,当然就吧这个边加到sum里,最后sum就是答案啦#include#include#includeusing namespace std;#define N 100005struct node{ int x;
2012-07-29 09:04:06 2087
原创 hdu 4311 Meeting point-1 递推 多校联合赛(二) 第二题
这道提看完yy是最小生成数,一看点100000个,顿时吓尿了,最短路对校生成树都要n^2什么的啊,所以所以,没做出来了解他的行走模式就知道,其实我们是可以x,y分开算的,这是什么概念,排序之后就是在x轴上可以分别算出每个点到其他距离和sumx,y轴上可以分别算出每个点到其他距离和sumy,对于询问的(x,y),可以二分查找到他在x轴上对应的sumx,y轴上对应sumy,在sumx+sumy就o
2012-07-29 08:55:11 3002
原创 hdu Hero 4310 贪心水果 多校联合赛(二)第一题
这道题贪心水过的,dp的方法有待研究,我好水啊!!!就是排序,在cmp里加一哥a.x*b.y>a.y*b.x#include#include#includeusing namespace std;struct node{ int x,y;}a[25];bool cmp(node a,node b){ if(a.x*b.y==a.y*b.y) re
2012-07-29 08:36:25 2137
原创 hdu 4315 Climbing the Hill 博弈问题,可转化为nim游戏问题,多校联合赛(二)第六题
博弈问题,先考虑如果总数n为偶数(k!=1),当n个点全两两挨在一起时,谁先走谁输(自己模拟吧)当总数n为奇数时(k!=1),先吧第一个点走道终点,然后就是偶数的情况了,然后考虑怎么将他们两两挨在一起(注意不用所有点都挨在一起)这是就是当n为偶(k!=1)计算a[i+1]与a[i]的距离,for(i+=2),这样我们就将它化成几点nim游戏问题,将a[i+1]与a[i]的距离左为每堆石子的
2012-07-29 08:30:30 1551
转载 codeblocks 终端设置
Linux平台上C++的IDE并不多见,CodeBlocks就是其中比较优秀的一款,但是在ubuntu下运行程序时的xterm终端太丑了,且不能对其文本进行操作,颇为遗憾。自己曾想改为gnome-terminal多次未果,google一下,我果然知道了、、、步骤:Settings -> Environment更改"Terminal to launch console
2012-07-27 10:07:24 1583
原创 poj 1151 hdu 1542 Atlantis 线段树扫描线(详细讲解)
我的扫面线第一题,一开始看网上讲的都好抽象,最后还是研究别人代码整明白的,所以我要写一个直观的,哈哈哈!!希望大家都能看懂如图虚线将整个图型分成三个矩形,我们现将每个点的x进行排序,也就是(10,15,20,25.5)这样就知道矩形的长了,还差宽,然后我们就要开始扫描线啦先每个点的y值离散话,因为我们要求的是映射在x轴的线段,然后建树,共有t哥点,样立t-1等于4下面的线段树我每个
2012-07-26 10:32:01 11078 14
原创 poj 2506 Tiling dp 递推
我是有用dp做的,做完之后看网上大多人都是推出公式,反正我是没看出来dp[i][j],i表示第i列放入一竖条,j表示放入的竖条是什么形状,j一共有5种情况,dp就表示这个i表示第i列放入一个j类型竖条有几种摆放方法如图 0~4表示j的五种状态然后就有递推公式dp[i][0]=dp[i-1][0]+dp[i-1][3]+dp[i-1][4]dp[i][1]=dp[i-1]
2012-07-24 08:37:30 912
原创 hdu 4300 Clairewd’s message kmp匹配! 多校联合赛第一题
题目大意是有一份文件,前面是密文,后面是原文,但那个人接到这个文件后不知道中间从哪里开始是原文,所以你要帮忙还原一下,如果后面原文比密文少,你就将它补全字符串长度范围是100000如果是爆搜,n^2一定超时的没话说,但我比赛的时候好像是让驴踢了,套一层for循环枚举中间值,然后kmp,那kmp还不如暴力快了呢!!而且时间复杂都还是n^2,啊!!太缺了,将线段a以中间为标记分成两个数组前一半ta
2012-07-23 12:49:53 2699
原创 hdu 4308 Saving Princess claire_ 广搜 多校联合赛第七题
一个广搜题,就多了一个p点的处理,我们在以起点为开始广搜 遇见第一个p时(这个p一定是理起点最近的点)再将多有的p点都爆搜出来,压入队列,然后正常广搜就ok啦!!5000*10000貌似没有超int啊!!wa了一次,改成longlong过了,测试数据有问题???#include#include#includeusing namespace std;char a[5005][50
2012-07-21 20:31:14 1434
原创 hdu 4302 Holedox Eating 线段树去维护蛋糕!! 多校联合赛第三题
好囧啊!!打完貌似很快可调试一整天,太伤了,要是没有驴薛的对拍程序,我估计要整的没完没了,吐血了!!不知到怎么想的,上来就想吃完蛋糕在走道,可题意分明是先找到蛋糕再吃!!貌似大家都不知道我在说什么,小小的吐曹一下!!总之,思路不清晰千万不开始打代码!!!后换无穷啊!!!!!#include#includeusing namespace std;#define max1
2012-07-21 16:47:31 983
原创 hdu 4301 Divide Chocolate 动态规划 递推 多校联合赛第二题
给你n*2这么大的巧克力 问你有多少种分发,这道提想暴力都困难,先想到一中递推关系,先定义dp[i][j][z],i表示第i列,j表示i列内分成j部分,z表示第i列的两块巧克力处于分开的状态还是和并的状态!!如图 也就是说如果已经是第i列,则如果添加第i+1列则有三种情况,第一种是还是j部分,也就是不加部分,第二种是加一部分,j+1,第三种是加两部分,j+2,第一种情况是dp[i][j][1]=d
2012-07-20 08:39:44 1533
原创 改完了 你懂的!!
#include#include#define pi 3.1415926using namespace std;int main(){ double x1,a,b,c,x2,x3; while(1){ cout<<"请输入x1的值:"<<endl; cin>>x1; x1=x1*pi/180; if(x1=(
2012-07-05 16:48:45 552
stardict 词典资源
2014-10-16
信息检索导论
2014-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人