IndexTree
文章平均质量分 73
KuB特洛夫斯基
该用户涉嫌装B,已被平台举报!
展开
-
【JAVA】求数列中相邻两数间不存在比两数大的情况数(Pro20211203)(IndexTree / DP)
【JAVA】求数列中相邻两数间不存在比两数大的情况数(Pro20211203)(IndexTree / DP)题目解题思路代码(IndexTree)代码(DP) 题目 身高各异的 N 个人按一定间隔站成一排,每个人都按照以下规则来监控他们能看到的人是否在做其他的事。 规则:我和我要监控到的第 i 个人之间不能有人比我高, 也不能有人比第 i 个人高。例如,根据下 [图] 可知,⑤ 号可以监控到 ③ 号, 但无法监控到 ① 号,因为 ③ 号比 ⑤ 号高。 假设如上 [图] 所示,一共站着八个人。从左向右原创 2021-12-23 12:14:27 · 253 阅读 · 0 评论 -
【JAVA】求固定曼哈顿距离范围内的匹配情况数(Pro20210917)(二分 / Index Tree)
【JAVA】求固定曼哈顿距离范围内的匹配情况数(Pro20210917)(二分 / Index Tree)題目思路代码(二分)代码(Index Tree) 題目 在一个二维平面的 X 轴上有 N 个店铺,有 M 个房屋分别散落在平面的任意位置上。可送货范围 D 是固定的,所以如果店铺与房屋之间的距离小于 D,就可以送货。距离是根据店铺与房屋在 X 轴坐标上差值的绝对值和在 Y 轴坐标上差值的绝对值之和来决定。如下图所示,字母(A、B、C)表示房屋的位置,数字(1 到 4)表示店铺的位置。图中的菱形覆盖区域是原创 2021-09-23 11:06:45 · 354 阅读 · 1 评论 -
Index Tree特点及适用范围
Index Tree特点及适用范围特点:适用范围: 个人总结,仅供参考! 特点: 空间复杂度:[2N, 4N] 时间复杂度: Update:logN(单点更新) Query:2logN(一次区间查询) Index Tree是完美二叉树; Index Tree一定存在空间浪费(至少Tree[0]未使用); Index Tree的使用,仅仅是为了提升效率: 只使用Index Tree的叶节点,就可以解决问题,但效率较低; 一次区间查询:O(N) --> O(logN)(效率提升了); 一次更新:O原创 2021-09-16 14:07:28 · 534 阅读 · 0 评论 -
【JAVA】最大间隔限定的最大和(Pro20210827)(DP(IndexTree / PriorityQueue)
【JAVA】最大间隔限定的最大和(Pro20210827)(DP(IndexTree / PriorityQueue)题目思路代码(IndexTree)代码(PriorityQueue) 题目 Lia 在一个景点看到了由 N 个垫脚石组成的石桥。单纯地走过这些垫脚石感觉没有意思,所以她给每块垫脚石设置了一个分数,将踩到的所有石头上的分数全部加起来,想要得到一个最大分数。 但是,为了让这件事更有意思,她决定按下列规则来过桥。 第一块和最后一块垫脚石必须要踩。 设定一个K值,下一块踩的石头与上一块踩的石头间相原创 2021-08-31 16:06:08 · 117 阅读 · 0 评论 -
【JAVA】Stars(POJ 2352)(IndexTree)
这里写自定义目录标题思路:代码(IndexTree):代码(BIT): 题目地址:http://poj.org/problem?id=2481 思路: 题目要求的是每个等级的星星有几颗,那就需要先求出每颗行星的等级。 根据题目内容,每颗星星的等级,是X坐标和Y坐标均小于等于自身坐标的星星数量。 每颗星星的等级都需要算,那就存在计算先后的问题。 那么,对于某一颗星,只要确保在计算它的等级的时候,已经计算的星星都不在这颗行星右侧(已经计算的星星的X坐标都小于等于当前星星的X坐标),那就只需要看在这些星星中,有多原创 2021-08-04 16:05:57 · 147 阅读 · 0 评论 -
【JAVA】Cows(POJ 2481)(IndexTree)
【JAVA】Cows(POJ 2481)(IndexTree)思路:代码: 题目地址:http://poj.org/problem?id=2481 思路: 能量比当前牛大的牛,则吃草区间是大于当前牛的。 即:起始坐标小于等于当前牛的起始坐标且结束坐标大于等于当前牛的结束下标的牛的数量,减去和当前牛的吃草区间完全相等的牛的数量即可。 首先,要确保起始坐标小于等于当前牛的,则根据起始下标升序排序,就可以确保在处理当前牛时,已经被处理的牛的起始下标小于等于当前牛的起始下标。 其次,在已经被处理的牛中,寻找结束下标原创 2021-08-04 12:39:49 · 138 阅读 · 0 评论 -
【JAVA】每类各选一个后求最大最小值差值的最小值(Pro20210802)(优先级队列 / IndexTree)
【JAVA】每类各选一个后求最大最小值差值得最小值(Pro20210802)(优先级队列 / IndexTree题目:思路:代码(优先级队列):代码(IndexTree): 题目: Lin 打算在自己住的村子里建 N 个不同的便利设施。每个便利设施有 K 种建造方法,设施的便利性因建造方法而异。因此,Lin 尝试从 K 种方法中各选择一种来建造这 N 个便利设施。 当 N 个便利设施中便利性最高和最低的差值越小,便利设施越便于使用。Lin 希望算出最小的差值。 假设便利设施数量 N 为 3,各设施的建造方原创 2021-08-03 17:38:11 · 329 阅读 · 0 评论 -
【JAVA】最长递增子序列(LIS)的不同解法(POJ 2533)(DP / IndexTree)
【JAVA】LIS的不同解法(POJ 2533)(待完善)方法1:DP(贪心 + 二分)方法2:IndexTree(原始数据的下标和Tree叶节点下标对应)方法3:IndexTree(原始数据的值和Tree叶节点下标对应)方法4:BIT(原始数据的值和Tree叶节点下标对应) 题目地址:http://poj.org/problem?id=2533 方法1:DP(贪心 + 二分) 思路: 原始数组DATA[],用于存放原始数据。 临时数组ARR[],用于存放局部最优解(注意:ARR数组中的元素,并不一定是原始原创 2021-07-06 16:38:30 · 229 阅读 · 0 评论 -
【JAVA】逆序对(POJ 2299)(IndexTree)
【JAVA】逆序对(POJ 2299)思路:代码 题目地址:http://poj.org/problem?id=2299 思路: IndexTree的叶节点和数字按顺序一一对应; 假设先排小的数字,确认每个数字移动的时候,左侧有K个比自己大的,则自己就要移动K次; 每个数字移动后,则这个数字的位置已经不存在,更新为0; SUM(K1, K2, …, Kn)即为所求。 代码 import java.io.IOException; import java.util.Arrays; import java.uti原创 2021-07-22 15:11:05 · 103 阅读 · 0 评论 -
【JAVA】有关系数对中两侧均递增的最大对数Pro20210628 (最长递增子序列(LIS) / IndexTree / DP + 二分)
【JAVA】有关系数对中两侧均递增的最大对数Pro20210628 题目 哲珉常去的健身房进了一种新的健身器材。该器材是以两柱子竖立的形态,每个柱子上有N+1个把手,各把手都以从下到上的方向贴着0到N的编号。 使用该器材进行锻炼时,需要用左手握住左侧柱子的0号把手,用右手握住右侧柱子的0号把手。然后,将双手向上移动到更高的把手来持续进行锻炼。 该器材附有一张表,表上以成对的形式写着多个左右把手的编号。锻炼者只能同时握住表上写着的一对把手编号。即,若表上有(3, 4),那么可以同时握住左侧3号把手和右侧4号把原创 2021-07-21 16:12:51 · 158 阅读 · 1 评论 -
【JAVA】求数组连续区间内最大值与最小值的差不大于K的最大区间长度 Pro20210705 (双指针+优先级队列 / 双指针+IndexTree)
求数组连续区间内最大值与最小值的差不大于K的最大区间长度 Pro20210705题目方法一:双指针+优先级队列方法二:双指针+IndexTree 题目 给定数组,求在数组的连续区间内最大值与最小值的差不大于K的最大区间长度。 输入: 测试用例数量T 第1个测试用例数组长度N 差值K 第1个测试用例数组 第2个测试用例数组长度N 差值K 第2个测试用例数组 … 方法一:双指针+优先级队列 思路: 既然是连续区间,那么在下标left和下标right区间内,元素都是计算范围内的,所以用双指针指定连续区原创 2021-07-14 15:23:00 · 1112 阅读 · 1 评论 -
【JAVA】求数组前K个数中固定位置元素之和Pro20210524 (优先级队列 / IndexTree)
【JAVA】求数组前K个数中固定位置元素之和Pro20210524题目方法一:优先级队列方法二:IndexTree 题目 用户用餐后会在外卖应用上对食物的满意度进行评价。(满意度分数始终大于0) 研究满意度的专家称,当把满意度分数按照从小到大的顺序排列时,某个(X/Y)位置的满意度非常重要。因此作为管理满意度的负责人丽雅,她想逐个接收分数后进行处理。 每当接收的满意度为Y的倍数时,会调查X/Y位置的满意度并进行记录。(如果X=3,Y=4的情况,满意度有4个时取第三个分数,有八个时取第六个分数。) 然而,有时原创 2021-07-21 11:12:01 · 163 阅读 · 0 评论