摘要: 线段树题意:很明显的线段树。做了这题更加让我注意了用点和用段来建树的区别。这题是用点来表示线段的。一开始从0到10^9这个点之间的线段都是白色的,然后m个更新,每个更新 a,b,col,表示从点a到点b这条线段染成黑色或白色,问最后,白色线段中最长的是哪一段,输出它的位置(即线段两端的端点)注意更新的时候a,b的数值范围是 0<a<b<10^9 , 其实这样给数据方便了处理,否则的话最后要搞一下挺烦的先看看用段和用点表示线段树的区别。用点的话,0,1,表示的长度是1。1,3表示的长度是2。而用段的话1,3表示的长度是3,就是这个意思线段树的建树,无论在何种情况下,应该说建树的 阅读全文
posted @ 2013-04-03 21:34 Titanium 阅读(563) 评论(0) 推荐(0) 编辑
摘要: 并查集题意:题意比较好懂简单说一下。一个序列,只有0,1;输入n,表示序列长度(从1到n标号),输入m,下面m个更新,每行都是a,b,string,表示说序列中下标a到下标b的元素中有偶数个或奇数个1.没得到一个更新就更新序列的信息,知道读入第k个信息,和已建立的信息矛盾,那么结束,输出k-1,表示前面k-1个更新不矛盾,如果m个更新都成立,那么输出m这题要转化一下,一转化就比较明显了。我们定义前缀和为sum[i]表示1到i的和,那么sum[b]-sum[a-1]=c[a]+c[a+1]+c[a+2]……c[b] , 即序列的[a,b]区间和因为序列中只有0,1所以区间和的奇偶性就是该区间拥有 阅读全文
posted @ 2013-04-03 21:11 Titanium 阅读(785) 评论(1) 推荐(0) 编辑