- 博客(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
原创 记忆化深搜+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关注的人