您的位置:首页 > 其它

hdu 1698 Just a Hook

2010-08-21 21:23 204 查看
这个是我做的线段树第三个题,比前两个区间求和稍微麻烦了一些!

大致意思是:

给一组棍子染色,不同的颜色有不同的值,执行一系列的区间染色后,问这组棍子的总值是多少。

这题我用了两种方法,说是两种,其实就中间的某些细节不太一样!

Nuumber one:

每个线段树的结点,存储该结点所代表区间的染色状况num,如果该区间全为同样的颜色,则用一个正数(1,2,3)表示,如果含有多种颜色,则用-1表示,每次执行染色操作时,如果所要染的颜色与区间颜色一样,则停止,如果所要染区间跟当前结点区间一致,则直接将所要染颜色赋给当前结点的num,否则,如果当前结点区间不是混合色,则先将当前结点的颜色赋给左右子结点的num,并递归下去。

Number two:

[code]# include<]





                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: