2011年12月6日

poj 2528 Mayor's posters 线段树+离散化

摘要: 离散化处理要注意+1(看了HH大牛的博客懂的,以前自己的代码是不对的)例如数据:131 101 36 10这样,普通离散化处理 {1 3 6 10}, 然后此程序会操作成点染色,于是结果为2, 但正确答案为 3;HH大牛给出一种离散化方法: 如果相邻数字间距大于1的话,在其中加上任意一个数字,比如加成[1,2,3,6,7,10],然后再做线段树就好了 (详见下面代码)按照上述方法离散化处理,为 {1 3 4 6 7 10 11 }, 染色, 结果为 3;这样,就很简洁地将一个数字表示成一段区域。#include<cstdio> #include<cstdlib> #in 阅读全文

posted @ 2011-12-06 22:10 c语言源码 阅读(184) 评论(0) 推荐(0) 编辑

导航