首页 > TAG信息列表 > hdu6703
HDU6703 array (线段树)
题意:长为1e5的全排列 有两个操作 把一个数删掉 询问1,r这个区间内 找到一个数大于等于x 且这个数不等于区间内的所有数 题解:建一颗权值线段树 线段树里存值为i的数在原数组中的坐标 维护坐标的最大值 考虑删除操作 就等于让他的坐标变为n+1 因为答案一定在1-n+1hdu6703 线段树+set
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6703 给你一个数组两种操作。操作一是将pos位置的数字加上10000000;操作二是给你个r和k,问你最小的不小于k且没在数组a的[1,r]这个区间内出现过,并输出这个数。(pos,r,k均需异或上一次的答案,初始答案为零)。 因为k不大于n所以2019CCPC网络赛-HDU6703-array (线段树 权值线段树?)
题目链接 题意 样例第一个 ,序列 4 3 1 2 5 ,有两个操作: 1 5 :1操作,给第五个位置的数加10,000,000; 2 1 1(op,r ,op): 2操作,找一个大于等于k的数,且和区间 [ 1,r ]中的数不相等,求这个数的最小值。 思路 设数组 a[ n ] 记录当前的序列,设数组 b [ n ] 反向记录数组a,即记录每个数出现的位置2019ccpc网络赛hdu6703 array(线段树)
array 题目传送门 解题思路 操作1是把第pos个位置上的数加上\(10^7\),操作2是找到区间[1,r]中没有且大于k的最小的数。注意到k的范围是小于等于n的,且n的范围是\(10^5\),远小于\(10^7\),所以对于操作1,可以视为把第pos个位置上的数删去。 因为所有节点上的数都是唯一的,所以建立一颗权值