自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 收藏
  • 关注

原创 poj 1436 成段更新(区间覆盖)

Horizontally Visible SegmentsTime Limit: 5000MS Memory Limit: 65536KTotal Submissions: 2578 Accepted: 965DescriptionThere is a number of disjoint vertical lin

2012-09-29 11:09:56 979

原创 vecter(unique+(binary_search )

#include #include #include using namespace std;bool myfunction (int i, int j) { return (i==j);}int main () { int myints[] = {10,20,20,20,30,30,20,20,10}; // 10 20 20 20 30 30 20 20 10

2012-09-29 10:22:58 395

原创 hdu 4417 Super Mario 划分树(线段树)

看了大牛的思路http://blog.csdn.net/fp_hzq/article/details/8010322#comments每次询问区间内小于等于k的数有几个,很明显符合划分树的范畴,然后只要改改query函数,没次对于大于中间的数就加上划分到左边的个数,否则不管。注意了:就是可能区间会划分到空,还有可能只有一个元素,而且等于查找的数,要特殊处理下#include#includ

2012-09-27 21:24:18 577

原创 归并树与划分树

POJ 2104 寻找区间第K数划分树,时间复杂度O(MlogN),归并树,时间复杂度O(Mlog^3N)。归并树好慢啊!先把划分树弄明白吧!。。。orz

2012-09-27 19:23:51 561

转载 poj 2104 归并树(线段树)

* 题意:给定一个序列key[1..n]和m个询问{s,t,rank}(1 分析:由于2761和这题差不多,且数据量是这题的10倍,所以我一开始就把2761的SBT代码交上去,结果竟然是TLE,估计是栽在了"Case Time Limit: 2000MS"上面了。最终还是用了别人的思路,由此接触到一种很巧妙的结构:归并树归并树可以用简单的一句话概括:利用类似线段树的树型结构记录合并

2012-09-27 19:03:36 1229 1

转载 Linux内核的进程、线程问题

Linux进程、线程问题2010年8月15日,今天研究的是Linux的进程管理,昨天是内存寻址,感慨颇深啊,《深入理解Linux内核》这本书真是浪得虚名,根本没有说到问题的本质,一些概念的由来、定义、区别以及联系,技术的原理,运行过程,整体结构,各部分衔接等等问题统统没有说明白,甚至根本没说,全书都是Linux的数据结构,及各种变量,接口函数,却根本没说是什么,为什么。对于新手来说简直是灾难,

2012-09-27 18:41:30 2997 1

原创 spoj GSS1

SPOJ GSS系列题You are given a sequence A[1], A[2], ..., A[N] . ( |A[i]| ≤ 15007 , 1 ≤ N ≤ 50000 ). A query is defined as follows: Query(x,y) = Max { a[i]+a[i+1]+...+a[j] ; x ≤ i ≤ j ≤ y }. Give

2012-09-25 20:19:35 1725

原创 spoj GSS系列

You are given a sequence A of N (N modify the i-th element in the sequence or for given x y print max{Ai + Ai+1 + .. + Aj | xInputThe first line of input contains an integer N. The following

2012-09-25 20:17:28 624

原创 查询某区间内最靠右的不超过k的数

为了回答这个询问, 我们需要一棵存储RMQ的线段树。 现在考虑, 把询问的区间分成了O(logn)个节点所表示的区间之后,通过比较区间最小值与k的大小关系,立即可以判定某区间内是否有满足条件的数。在这些区间内选择一个最靠右的,然后如果它的右儿子存在满足条件的数,则在右儿子中查找,否则在左儿子中查找。时间复杂度当然是O(log n)。实际实现也不用像上面说的一样分为两步,一步就够了

2012-09-25 11:28:27 1574

原创 询问区间是否同色

下面再看一个例子:有一条直线,每次把其中一段染成某种颜色,要求输出最终的染色情况。首先,可以把所有操作所涉及到的坐标离散化,从而可以用整数区间来表示直线上的线段。然后,由于现在的问题不涉及区间的查询,只涉及区间的修改,我们不需要考虑“如何合并两条线段的信息”这一问题,而只需考虑“如何在树上作标记以快速维护每个位置的颜色”。不难发现,这个题目中,每个节点不需要记录前面意义上的“值

2012-09-25 10:30:59 679

原创 成段更新Problem C(1003)

Problem C(1003)Happy Children’s DayStandard Input / Standard OutputChildren's Day is coming. In this day, children will get a lot of candies. In MAX city, people develop an automatic candy

2012-09-25 09:10:16 782

原创 数据结构

一 数据结构(1)树          二叉搜索树                    普通的                    红黑树                    B树                    AA树                    Treap                    Splay Tree

2012-09-24 10:36:20 359

原创 记忆化深搜+dp

hdu  1078FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2840    Accepted Submission(s): 1105Problem Descri

2012-09-21 11:29:43 1032

转载 进程的状态转换

进程是操作系统为了控制多个程序而创建的数据,操作系统是通过修改进程的状态来完成对相应程序的控制,用户程序的一些操作也可以修改一些进程的状态。那么进程的状态都有哪些呢?状态之间是如何装换的呢?       进程三态状态装换图 注意:创建和退出不是进程的状态。创建操作不做重点解释。阻塞也叫等待,和就绪的区别:等待是等待除CPU以外的资源,而就绪等待的是CPU资源。

2012-09-21 09:25:51 916

原创 dfs+剪枝

hdu  1455SticksTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3542    Accepted Submission(s): 886Problem DescriptionGeorg

2012-09-20 20:13:59 1811

原创 dfs + 回溯 +剪枝

hdu  1010Tempter of the BoneTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 40110    Accepted Submission(s): 10854Problem Desc

2012-09-19 21:30:35 1101

原创 深搜与不重复组合

zoj  1711Sum It UpTime Limit: 2 Seconds      Memory Limit: 65536 KBGiven a specified total t and a list of n integers, find all distinct sums using numbers from the list that add up to t.

2012-09-19 19:42:24 1306

原创 深搜与一般组合

zoj 1089LottoTime Limit: 2 Seconds      Memory Limit: 65536 KBIn a Lotto I have ever played, one has to select 6 numbers from the set {1,2,...,49}. A popular strategy to play Lotto - altho

2012-09-19 18:58:54 737

原创 二进制与容斥原理

Co-primeTime Limit 1000msMemory Limit 65536KdescriptionGiven a number N, you are asked to count the number of integers between A and Binclusi

2012-09-19 16:01:50 557

原创 二进制枚举

ZZY’s DilemmaTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submission(s): 286    Accepted Submission(s): 117Problem DescriptionZZY has ma

2012-09-19 09:29:50 734

转载 vecter总结2

转自http://blog.sina.com.cn/s/blog_46da01db0100fbc4.htmlvector的使用方法容器vector称做向量,相当于可以动态改变大小的数组,使用方法简单。vector里,提供了大量的函数,其中许多函数,在STL的不同容器里,用法是基本相同的,熟悉了vector,再掌握其容器,会简单的多。下面说明vector的常用方法。l

2012-09-18 21:41:05 544

原创 引用与指针的区别

简介  常常有人问引用与指针的区别,可能是指针和引用在功能上的相似,而是他们混淆这两个概念,  现在总结以下二者的区别,希望大家能彻底弄清这两个概念根本性的差别      引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。3) 不存在指向空值的引用,但是存在指向空值的指针。

2012-09-18 21:35:52 296

原创 vecter

vector的用法     vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.     用法:          1.文件包含:                首先在程序开头处加上#include以包含所需要的类文件vector          还

2012-09-18 21:30:37 604

原创 同样优先队列的广搜题 hdu 4198

hdu  4198Quick out of the HarbourTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 584    Accepted Submission(s): 265Problem Descr

2012-09-18 21:18:30 730

原创 使用优先队列的广搜

poj  1649RescueTime Limit: 2 Seconds      Memory Limit: 65536 KBAngel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M Angel's frien

2012-09-18 20:36:32 1184

原创 优先队列

优先队列用法在优先队列中,优先级高的元素先出队列。标准库默认使用元素类型的优先队列的第一种用法,也是最常用的用法:priority_queueint> qi;通过故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果我们要把元素从小到大输出怎么办呢?这时我们可以传入一个比较函数,使用functional.h函数对象作为比较函数。

2012-09-18 20:30:13 362

原创 深搜3 BNUOJ 13256 - The Crystal Maze

The Crystal MazeTime Limit: 2000 ms Case Time Limit: 2000 ms Memory Limit: 32768 KBSubmit: 8 Accepted: 2 This problem will be judged on LightOJ. Original ID:1337.[Prev][Next]Descriptio

2012-09-18 14:22:02 920

原创 深搜2 poj 2448

poj  2448A Knight's JourneyTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 21891 Accepted: 7393DescriptionBackground The knight is getting b

2012-09-18 10:43:46 1484

原创 广搜2 食物链

Gathering FoodTime Limit: 2000 ms Case Time Limit: 2000 ms Memory Limit: 32768 KBSubmit: 36 Accepted: 12 This problem will be judged on LightOJ. Original ID:1066.[Prev][Next]Descript

2012-09-15 20:30:15 1496

原创 深搜1 poj 1562

Oil DepositsTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 9628 Accepted: 5275DescriptionThe GeoSurvComp geologic survey company is responsible for d

2012-09-15 16:36:56 739

原创 广搜1 poj 2243

Knight MovesTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 8800 Accepted: 5051DescriptionA friend of you is doing research on the Traveling Knight Pr

2012-09-15 15:51:32 951

原创 n^n的数字根

Eddy's digital RootsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2569    Accepted Submission(s): 1478Problem DescriptionThe d

2012-09-15 10:11:15 1216

转载 hdu 1214圆桌会议

这题就是在求一串数(圆环上)在每次只能对调相邻两位时,要得到其逆序最少要移动多少次。在直线上移动很简单,类似于冒泡排序的方法,一个数不断向上冒,直到最终位置。不难得到其需要移动的次数公式为n*(n-1)/2。其中n为总点数。那么在圆环上移动又会如何呢?应该会不一样这是我们直观的感受。事实也是如此,移动的过程是将圆环分为两段,分别移动。那么又在何处分段呢?答案是尽量使两段长度

2012-09-14 21:24:00 359

原创 hdu 2964按奇数权展开

Prime BasesTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 422    Accepted Submission(s): 208Problem DescriptionGiven any intege

2012-09-14 11:17:59 543

原创 hdu 2674

N!AgainTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1779    Accepted Submission(s): 1009Problem DescriptionWhereIsHeroFrom:

2012-09-14 09:53:47 450

转载 hdu 2554

这题可以这样来抽象:n对数,大小为1、2、3、...、n。现要求两个1之间有1个数,两个2之间有2个数,以此类推,两个n之间有n个数。并且,数的次序可以随意的。 解决之道:准备知识:①n对数,共2*n个数。所以要有2*n个位置来放置这2*n个数。②sum()表示求和运算。正式解决:①设k(k=1,2,..,n)放置的第一个位置

2012-09-14 09:00:43 399

原创 hdu 1395

水题:数据量太弱,枚举就能过。。分析:1、n==1或者n%2==0,都不会有这样的2的幂次存在。因为2^k(k=1、2、3...)为偶数,n为偶数时显然不存在;n==1则容易验证。2、n为奇数是则一定存在。其实这里有点没想通,哪位路过的大牛给讲下。。n为奇数,则至少会存在一个偶数模取n等于1。2^k则会找到所有的偶数。#include#includ

2012-09-13 19:49:42 382

原创 hdu 2608

0 or 1Time Limit: 6000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1581    Accepted Submission(s): 388Problem DescriptionSolving problem is a

2012-09-13 18:32:14 653

原创 HDU 4143 A Simple Problem

HDU 4143 A Simple Problemhttp://acm.hdu.edu.cn/showproblem.php?pid=4143两个for枚举肯定超时,移项因式分解后,只要一个for枚举(y-x)就好了,(y+x)用n去除(y-x)。另外两个小点,关注到(y-x)一定小于等于sqrt(n),并且(y-x)与(y+x)不相等#include#include#incl

2012-09-12 17:13:43 501

原创 n<=10^18是否能被一个数的平方整除

问n    将n分解为:p1p2pk  其中pi为素数,且pi    若n能被一个数的平方整除,它肯定能被一个素因子的平方p^2整除,我们找到最小的这个p即可  ~~~    1.如果p不是最后的素因子,在p之后的素数pi>=p,这时就有n>=p^3了,       即p    2.如果p是最后的素因子,所以n的形式就是p1p2p'p^2,而p'       所以可以先将n

2012-09-12 16:02:38 1668

空空如也

空空如也

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

TA关注的人

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