2011年6月2日

HDU Just a hook

摘要: 更新一段区间内所有点的值#include<stdio.h>int N,Q;const int MAX=100000;struct line{ int left; int right; int Value;};line lines[MAX<<2];void buildTree(int le,int rig,int root){ lines[root].left=le; lines[root].right=rig; lines[root].Value=1; if(le==rig) { return ; } int mid=(lines[root].left+lines[ro 阅读全文

posted @ 2011-06-02 19:13 lonelycatcher 阅读(219) 评论(0) 推荐(0) 编辑

HDU 1566 color the ball

摘要: 这道线段树的题目纠结了好长时间,本来的想法真是太天真了,向线段树里面插入一段线段,当时错误的想法是他的所有的子树同样要更新,这样效率自然就下降了,TLE了很长时间,后来才想出来计算(i,i)被涂色的次数,只要插入的线段包含这个区间,就把它加起来,最后求和。这道题用树状数组做挺简单,但是还没学过树状数组是神马东西,以后再学了#include<stdio.h>int N;const int MAX=100010;struct line{ int left; int right; int number;};line lines[MAX<<2];void buildTree(i 阅读全文

posted @ 2011-06-02 11:11 lonelycatcher 阅读(392) 评论(0) 推荐(0) 编辑

导航