固定算法
文章平均质量分 83
最长递增子序列(LIS) / 最长公共子序列(LCS) / 最小公共父祖先(LCA) / 最小生成树(MST) / 等
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 评论 -
【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个连通分量权值之和的最小值Pro20210720(最小生成树(MST) / 克鲁斯卡尔 Kruskal)
【Java】求连通图中的K个连通分量权值之和的最小值Pro20210720(克鲁斯卡尔 Kruskal)题目思路代码(调整前):优化后(求MST时,求出(N - 1 - K + 1)条边即可):代码(优化后):题目琳恩正在计划前往S国进行K次旅行。S国有N座城市,城市之间通过M条道路连接着。琳恩可从任意一座城市前往另一座城市,移动时,每条道路均会产生通行费,所以她需要支付费用。琳恩计划在K次旅行期间,通过利用最少的道路来访问N座城市,而每座城市至少需要访问一次。如果按照如上的方式旅行时,存在多种方案原创 2021-08-02 14:49:41 · 476 阅读 · 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 · 346 阅读 · 0 评论 -
【JAVA】有关系数对中两侧均递增的最大对数Pro20210628 (最长递增子序列(LIS) / IndexTree / DP + 二分)
【JAVA】有关系数对中两侧均递增的最大对数Pro20210628题目哲珉常去的健身房进了一种新的健身器材。该器材是以两柱子竖立的形态,每个柱子上有N+1个把手,各把手都以从下到上的方向贴着0到N的编号。使用该器材进行锻炼时,需要用左手握住左侧柱子的0号把手,用右手握住右侧柱子的0号把手。然后,将双手向上移动到更高的把手来持续进行锻炼。该器材附有一张表,表上以成对的形式写着多个左右把手的编号。锻炼者只能同时握住表上写着的一对把手编号。即,若表上有(3, 4),那么可以同时握住左侧3号把手和右侧4号把原创 2021-07-21 16:12:51 · 240 阅读 · 1 评论
分享