2013年8月3日

SDKD Single training #10未完成题目

摘要: A URAL 1097 B URAL 1066 【已整理】C URAL 1069 【已整理】D URAL 1169 E URAL 1117 【已整理】 阅读全文
posted @ 2013-08-03 20:14 Primo... 阅读(72) 评论(0) 推荐(0) 编辑

URAL - 1117 Hierarchy(找规律)

摘要: 题意:给定一个关系树,a和b之间传递信息,问需要经过多长时间,其中每个人只能想编号临近的人传递信息,有上下关系的两人传递信息不花时间。思路;这个题的题意很不好理解,我在比赛中只能看出这道题是找规律的题目,但是由于题意没有理解清楚,代码交上一直wa。。后来就放弃了。。。两个没有上下关系的人中间隔了几个人,就得花费几天的时间。这里的间隔是指沿树的路径走上去经过的人数。例如从7到8 就经过了6 4。把草图画出,就可以看出其中的规律。代码如下;#include #include #include #include #include #include #include #include ... 阅读全文
posted @ 2013-08-03 20:09 Primo... 阅读(155) 评论(0) 推荐(0) 编辑

URAL - 1066 Garland(二分)

摘要: 比赛的时候明明知道是二分,却没有写出来。。。用二分法的特征:单调用三分法的特征:只有一个凸点开始的时候我还想对最后一个节点二分,其实没这个必要,因为我有个同学对这道题目推了大半张纸,最后的推出来的式子还是跟第二个点相关,下面说一个比较巧妙的方法,二分第二个点,(这是因为第二个点的高度和最后一个点的高度是正相关的,第二个点的高度如果跟第一个点相同,则第三,四个点的高度会依次增加,如果第二个点的高度小很多,中间某个节点就可能接触到地面,这个很容易想到),最后把所有点的高度全部求出。如果中间有某个点的高度小于0,则第二个点稍微升高一点,如果全部的点都不会接触地面,那么第二个点就稍微降低一点。一直到逼 阅读全文
posted @ 2013-08-03 17:01 Primo... 阅读(114) 评论(0) 推荐(0) 编辑

URAL - 1069 Prufer Code (图的重建)

摘要: 给定一个树,每次删除一个编号最小的叶子节点,然后将叶子节点的父亲节点输出,要求根据该序列还原这棵树。思路:找度为0的点,(这样的点不会成为父亲节点,只能是叶子节点)放到优先队列中,模拟删除点的过程即可。(没删除一个点,就对应序列中的一个父亲节点)代码如下:#include #include #include #include using namespace std; #define M 7505 priority_queue, greater >q; int n, du[M], a[M], x; vectorg[M]; int main () { n = 1; whi... 阅读全文
posted @ 2013-08-03 16:48 Primo... 阅读(174) 评论(0) 推荐(0) 编辑

STL容器

摘要: STL的容器可以分为以下几个大类:一:序列容器, 有vector, list, deque, string.二 : 关联容器, 有set, multiset, map, mulmap, hash_set, hash_map, hash_multiset, hash_multimap三: 其他的杂项: stack, queue, valarray, bitsetSTL各个容器的实现:(1) vector内部数据结构:数组。随机访问每个元素,所需要的时间为常量。在末尾增加或删除元素所需时间与元素数目无关,在中间或开头增加或删除元素所需时间随元素数目呈线性变化。可动态增加或减少元素,内存管理自动完成 阅读全文
posted @ 2013-08-03 15:13 Primo... 阅读(126) 评论(0) 推荐(0) 编辑

LA 3938 - "Ray, Pass me the dishes!"(线段树)

摘要: 动态最大连续和。思路:完全参照刘汝佳厚书的思路。几天前,就从书上得到一个思路,却不知怎么实现,于是乎,几天来一直广搜结题报告,结合人家现成的代码,今天写成了代码,又调了半下午的bug,终于ac了。构造一课线段树,其中每个节点维护3个信息,最大连续和(x,y),最大前缀和(pre),最大后缀和(suf),虽然都叫做什么什么和,存的却都是位置标记,1、建树2、若干次查询这道题目没有加入树节点的修改,算是数据结构中的基础题了。思路来自于静态最大连续和的求解,(最大连续和或在[1...m],或在[m+1......n],或在[x...m......y])代码如下:#include #include . 阅读全文
posted @ 2013-08-03 14:58 Primo... 阅读(228) 评论(0) 推荐(0) 编辑

hdu 1003 - Max Sum(分治of贪心)

摘要: 今天比赛的一道题目,有位同学写的代码比我写的好多了,而且有点贪心的意思,所以就贴了上来,用sum来存前面的正和,如果sum #define M 100005 #define INF 0x7fffffff int main () { int t, n, x, start, end, sum, maxx, tt, k = 0; scanf("%d",&t); while(t--) { scanf("%d",&n); start = 1; end = 1; sum = 0; tt = 1; maxx = ... 阅读全文
posted @ 2013-08-03 11:42 Primo... 阅读(183) 评论(0) 推荐(0) 编辑