算法技巧
文章平均质量分 71
优先级队列 / 双指针 / 栈 / 等等
KuB特洛夫斯基
该用户涉嫌装B,已被平台举报!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【JAVA】求拓扑排序可能在第二个位置的点个数(Pro20210924)(拓扑排序)
【JAVA】求拓扑排序可能在第二个位置的点个数(Pro20210924)(拓扑排序)题目思路代码题目N个人在举行一对一比拼的比赛。每个人的实力都是确定的,互不相同且不会改变。比赛的胜负总是由实力决定。因为是没有进行完所有比赛的状态,还无法准确看出谁是第一名,谁是第二名。比如,假设知道下面一部分比赛的结果。参赛人员从1到N编号,箭头出发点上的人输给了箭头终点上的人。(胜←败)[图1][图1]中可能成为第一的人有2,3,5,8这4名。因为第一名还没有确定,所以4个人都有可能成为第二名。如果有人只输给原创 2021-09-29 10:20:37 · 210 阅读 · 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 · 474 阅读 · 1 评论 -
拓扑排序特点及适用范围
拓扑排序特点及适用范围特点适用范围:特点拓扑排序是针对有向图的;做拓扑排序的图不一定是连通图,可能有多个连通分量;拓扑排序是一个动作,而不是结果;一个图的拓扑排序结果不存在,则该图存在环;一个图的拓扑排序结果存在,则:5.1. 图的拓扑排序结果可能有多个,但按字典排序的结果是唯一的;5.2. 至少有一个入度是0的点;5.3. 至少有一个出度是0的点;对于一个图的拓扑排序结果,如果新加上的边,是从前面的点指向后面的点,则新图仍然是无环图。适用范围:可判断有向图是否有环(拓扑排序结原创 2021-09-16 13:50:42 · 2224 阅读 · 0 评论 -
【JAVA】连续区间最大和(Pro20210806)(DP)
【JAVA】连续区间最大和(Pro20210806)(DP)题目思路代码题目假设 A[1…N] 是包含 N 个整数的数组。对数组发出 Q 个请求,每个请求都是一个索引对 (i, j),(每个请求都满足 i ≤ j)。对每个请求的回复是数组 A[1…N] 中除了 i 到 j 的区段之外的最大部分和(数组的连续子数组中和最大的值)。最大子数组至少要包含一个元素。最大子数组的和是存在于 i 元素左边或者 j 元素右边的元素之和。各个请求是独立的。也就是说,在一个请求中排除的区段不会影响到后续的请求。以如原创 2021-08-19 14:51:01 · 410 阅读 · 0 评论 -
【JAVA】两数组的元素差值小于K的情况数(Pro20210803)(二分查找 / 双指针)
【JAVA】两数组的元素差值小于K的情况数(Pro20210803)(二分查找 / 双指针)题目思路:代码(二分查找):代码(双指针):题目A 国与 B 国每年都会举办一场友谊赛。该友谊赛在两国之间已举办多年,比赛规则如下:比赛中,两国各派出 N 名参赛者,各国参赛者站成一排,面对面站立。然后,两国各派出站位相连的 K 名参赛者组成代表选手,作为一组进行比拼。比拼后,两国各自的 K 名选手返回初始位置,重新派出站位相连的 K 名选手组成队伍,进行多次比赛。注意,相同选手的组合仅能比拼一次。换句话说,如原创 2021-08-18 16:59:29 · 695 阅读 · 0 评论 -
【JAVA】POJ 1995 Raising Modulo Numbers (快速冪)
【Java】POJ 1995 Raising Modulo Numbers 快速冪思路思路水题,每项用快速幂求解即可。// An highlighted blockimport java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { static int Z, M, H, B; static long ASW, TMP_ASW原创 2021-07-20 13:38:49 · 172 阅读 · 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 · 176 阅读 · 0 评论 -
【JAVA】每类各选一个后求最大最小值差值的最小值(Pro20210802)(优先级队列 / IndexTree)
【JAVA】每类各选一个后求最大最小值差值得最小值(Pro20210802)(优先级队列 / IndexTree题目:思路:代码(优先级队列):代码(IndexTree):题目:Lin 打算在自己住的村子里建 N 个不同的便利设施。每个便利设施有 K 种建造方法,设施的便利性因建造方法而异。因此,Lin 尝试从 K 种方法中各选择一种来建造这 N 个便利设施。当 N 个便利设施中便利性最高和最低的差值越小,便利设施越便于使用。Lin 希望算出最小的差值。假设便利设施数量 N 为 3,各设施的建造方原创 2021-08-03 17:38:11 · 412 阅读 · 0 评论 -
【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 · 1429 阅读 · 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 · 262 阅读 · 0 评论
分享