上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 34 下一页
摘要: 题意:题目将以这样的形式进行提供已知条件或者提问,分析:首先可以想到的是可以用并查集来做。题目的是x1^x2^x3^……式子的值,那么首先就要考虑俩个问题了:1):如何记录x[]元素之间的关系2):怎样传递元素之间的关系这里我们注意到异或运算的性质:对于a,b,c有:a xor b == c 和 a xor c == b 和 b xor c == a 等价,a^a==0因此:我们用r[]数组保存该元素与根节点异或运算的关系;接下来,为了方便处理,我们定义一个虚点xn,r[xn]=0,这样,只要根节点为xn的元素,这对于的具体也是已知的,同时,r[]的值就是其具体的值;而且,有一个好处就是,当进 阅读全文
posted @ 2011-10-22 10:05 枕边梦 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 题意:我们憨厚的USACO主人公农夫约翰(Farmer John)以无法想象的运气,在他生日那天收到了一份特别的礼物:一张“幸运爱尔兰”(一种彩票)。结果这张彩票让他获得了这次比赛唯一的奖品——坐落于爱尔兰郊外的一座梦幻般的城堡! 喜欢吹嘘的农夫约翰立刻回到有着吹嘘传统的威斯康辛老家开始吹嘘了, 农夫约翰想要告诉他的奶牛们关于他城堡的一切。他需要做一些吹嘘前的准备工作:比如说知道城堡有多少个房间,每个房间有多大。另外,农夫约翰想要把一面单独的墙(指两个单位间的墙)拆掉以形成一个更大的房间。你的工作就是帮农夫约翰做以上的准备,算出房间数与房间的大小。 城堡的平面图被划分成M*N(1 <=M 阅读全文
posted @ 2011-10-21 07:28 枕边梦 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 素数回文先产生所有范围内的回文数,再在范围内找出所有 的素数;嘿嘿,判断素数的方法就太牛逼了,好难理解/*ID: nanke691LANG: C++TASK: pprime*/#include<iostream>#include<fstream>#include<string.h>#include<stdlib.h>#include<math.h>using namespace std;long long b[10000]={5,7,11};int p[8]={4,2,4,2,4,6,2,6};int prime(int n)//判断 阅读全文
posted @ 2011-10-19 16:33 枕边梦 阅读(298) 评论(0) 推荐(0) 编辑
摘要: USACO 1.33 Packing Rectangles 过程太复杂了,先跳过咯pku 2989 求极大团数量hdu3896 Greatest TC ( LCA && tarjan)pku3728 The merchant(LCA && tarjan) 阅读全文
posted @ 2011-10-19 15:50 枕边梦 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 哎,纠结了那么久,终于过了,本来很直接的想到了BFS,可是怎么纠结也过不了,orz……还是用DFS了,嘿嘿,一开始好囧,没注意到,其实每一种方法最多只能走四次,走四次就回到初始状态了;DFS的过程比较好理解,从第一种方法开始,枚举这种方法走到次数,接着第二种方法,…………,这样,知道 第九种方法,再判断是否满足条件……/*ID: nanke691LANG: C++TASK: clocks*/#include<iostream>#include<algorithm>#include<fstream>#include<string.h>using n 阅读全文
posted @ 2011-10-19 12:02 枕边梦 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 郁闷死我了,求最长的回文串;本身读进来的是含有标点符号的一个文本串,之后找回文串的时候又忽略了那些标点符号,输出又要将那些标点符号输出…………蛋疼好久,幸好是可以看到什么例子没过,不过,我看是没希望过的了…………orz,文本里面的“\n”也是有效的……用前面的那个求最长回文串的算法就很容易过了,主要是 在处理那个标点符号的问题上……/*ID: nanke691LANG: C++TASK: calfflac*/#include<iostream>#include<fstream>#include<string.h>#define maxn 20010using 阅读全文
posted @ 2011-10-15 17:02 枕边梦 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 感觉这个题解挺不错的,自己理解了一下,还可以哦,哈,想不到还有这么一个O(n)的求最长回文串的算法。http://blog.sina.com.cn/s/blog_6fa65cf90100s3sg.html附上倆道的AC代码hdu3068#include<iostream>#include<algorithm>#include<string.h>#define maxn 111000using namespace std;char str[maxn],str1[maxn*2];int n,ans,nxt[maxn*2];void Manacher(){ mem 阅读全文
posted @ 2011-10-15 13:02 枕边梦 阅读(847) 评论(0) 推荐(1) 编辑
摘要: 题意:给定N个区间,求最后区间内最长连续区间的长度以及最长不覆盖的长度分析:本来是可以直接暴力的,可是想练一下最近线段树到底做得怎么样了,所以就用线段树试了一下,哎,改了俩个多小时,终于出来了。注意:对区间长度的概念还是……因为离散化之后区间长度的求法变了,所以再求半个区间长度的时候,出错了/*ID: nanke691LANG: C++TASK: milk2*/#include<iostream>#include<fstream>#include<algorithm>#include<string.h>#define maxn 20000usin 阅读全文
posted @ 2011-10-12 22:36 枕边梦 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 去掉题目的背景:就是一个环形的串中,寻找一个最长的子串,该串由前后由俩部分组成,连续的b串和连续的r串,当然,一种颜色也可以;w可转变成任意颜色;我的思路:比较简单的思路,但是是一个复杂度O(n^2)的算法;先求出以每一个位置开始的最长串的长度,再找出可衔接的最长串即可;USACO上面有更快的O(n)算法。Holland's Frank Takes has a potentially easier solution: /* This solution simply changes the string s into ss, then for every starting// symbo 阅读全文
posted @ 2011-10-10 19:38 枕边梦 阅读(339) 评论(0) 推荐(0) 编辑
摘要: hdu 3265 Posters天呐,这算什么啊?ans+=1ll*len[1]*(ss[i+1].x-ss[i].x);//这里忘了转成long long型了,结果改了一整晚,可是之前没碰过需要转的呀(不解,求解释),orz!!半信半疑的改完提交了,结果真的过了,再把之前的代码改了一下,还是过了,郁闷!!!题意:同样是求N个矩形的面积并,只不过,矩形中间存在一个空矩形……最直观的方法就是将一个带空矩形的矩形分成四个矩形,再按照求面积并的方法求一遍就是了,需要离散化的#include<iostream>#include<algorithm>#define maxn 20 阅读全文
posted @ 2011-10-03 02:15 枕边梦 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 34 下一页