摘要: 1 /* 2 题意:n个数的序列,m个询问,每次询问给你区间[l,r]问是否区间内有两个相同的数; 3 如果没有输出OK,有的话输出最右边满足的数的值; 4 5 分析:从左到右扫描一遍,给每个数记录它左边最近的相同数的标号, 6 那么区间[l,r]最大的标号如果还小于l那么就不存在相同的数; 7 用线段树维护,顺便记录下该数的下标; 8 9 10 */11 #include<cstdio>12 #include<cstring>13 #include<cstdlib>14 #include<iostream>15 #include<cmat 阅读全文
posted @ 2013-05-21 22:12 Rabbit_hair 阅读(261) 评论(0) 推荐(0)
摘要: 1 /* 2 题意:给n个数,m个操作,每次把区间[l,r]的数用它们的平均值替代, 3 如果平均值不是整数,且当前n个数的和小于原先的和就向上round,不然就向下round; 4 5 分析:简单线段区间更新; 6 7 trick:关于正数和负数的整除问题,正数整除是自动向下取整的,但负数是向上取整的 8 即13/3=4.3 ->4 但-13/3=-4.3 ->-4 9 10 */ 11 #include<cstdio> 12 #include<cstring> 13 #include<cstdlib> 14 #include<iostr 阅读全文
posted @ 2013-05-21 21:31 Rabbit_hair 阅读(260) 评论(0) 推荐(0)