摘要:
http://poj.org/problem?id=2777网上的一段解释经典的线段树题目。成段更新,在利用一个数组在查询顺次整段区间时,登记未曾被遮蔽到的颜色,并对其所对应的编号符号为1.而在成段更新结点时,若某区间将揭示混杂色,就让其子节点更新为它的颜色,并符号该结点。总之,对于成段更新区间属性的题目等闲用线段树来处理,利用时要保留结点属性的单一性,但更新摧毁了这种单一性时,则应递归地坚持该结点孩子的属性的单一性。只有这么,在更新垄断才不至于退化到O(n)的混杂度,保证高效率。View Code 1 #include 2 #include 3 #include 4 #inc... 阅读全文
posted @ 2012-07-27 21:48
_雨
阅读(198)
评论(0)
推荐(0)
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=1867这题输出有点麻烦 两个KMP 找出从一个字符串开头到令一个字符串结尾匹配的最大长度 再根据字符串比较函数字典序输出View Code 1 #include 2 #include 3 char c1[100001],c2[200001],c3[100001],c4[200001]; 4 int next[100001]; 5 int kmp(char *a,char *b) 6 { 7 int k1 = strlen(a),k2 = strlen(b),i,j,y; 8 y = -1; ... 阅读全文
posted @ 2012-07-27 17:16
_雨
阅读(227)
评论(0)
推荐(0)
摘要:
http://acm.hdu.edu.cn/showproblem.php?pid=4313贪心算法:类似kruskal最小生成树的过程,不过此处将边按权值从大到小排列,每次将边加进来时要判断是否会使两个危险的点连通,是的话这条边就是需要被删除的,否则将它加到树上。还有一种 说是树形DP 不懂这题一直WA 看了秦老师的代码 用的--int64 就改了下数据类型 过了。。。并查集+快排+去掉危险的结点View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 typedef 阅读全文
posted @ 2012-07-27 09:36
_雨
阅读(178)
评论(2)
推荐(0)