适用 $·$树上路径类 $·$树上点对 例题 "luoguP3806" 模板题 加强数据后要先把所有询问离线,每次$solve$挨个子树遍历,然后$tmp[k]$表示当前遍历的子树中没有长度为$k$的链,$jud[k]$表示曾经遍历的子树中有没有长度为$k$的链,双 指针啥的扫一扫,清空千万别$me ...
分类:
其他好文 时间:
2020-03-05 13:48:08
阅读次数:
75
双指针问题,当前的数小于后一位,就减去它的值,否则就加上它的值。 class Solution { public int romanToInt(String s) { Map<Character, Integer> demo = new HashMap<>(); demo.put('I', 1); ...
分类:
其他好文 时间:
2020-03-05 01:03:16
阅读次数:
78
本篇博客旨在总结双指针法在剑指offer链表题中的应用 包括删除链表中重复的节点、链表中倒数第k个节点、链表中环的入口节点、反转链表、合并两个排序的链表、两个链表的第一个公共节点。 根据双指针的类型,可以大致分为三种: 第一种是间隔一定距离的双指针法,包括删除链表中重复的节点、链表中倒数第k个节点两 ...
分类:
其他好文 时间:
2020-03-04 22:43:21
阅读次数:
80
题目: 这道题有多种实现的思路,这里使用双指针结合数组有序的特点进行解决 思路: m代表A初始时有效元素的个数,n代表B中元素的个数,那么n+m才是A的总长度 从A的最后一个位置开始,设为cur,分别从A和B有效元素中选取最大的一个,进行比较,将较大的放入cur,随之相应的cur--,较大元素所在数 ...
分类:
编程语言 时间:
2020-03-03 13:08:33
阅读次数:
78
要求:给定一个链表,判断链表中是否有环。 方法:双指针. 又是双指针~~ 想象一下,两名运动员以不同的速度在环形赛道上跑步会发生什么? 算法 通过使用具有 不同速度 的快、慢两个指针遍历链表,空间复杂度可以被降低至 O(1)O(1)。慢指针每次移动一步,而快指针每次移动两步。 如果列表中不存在环,最 ...
分类:
编程语言 时间:
2020-03-03 00:54:59
阅读次数:
92
160. 相交链表 [toc] 1、试题介绍 编写一个程序,找到两个单链表相交的起始节点。 试题链接:https://leetcode cn.com/problems/intersection of two linked lists/ 2、java做法 2.1、双重循环 测试结果: 2.2、双指针做 ...
分类:
其他好文 时间:
2020-03-02 20:41:45
阅读次数:
64
题目地址 给定一个只含有abc的字符串,要求包含abc分别各一个的子串个数。 预处理每种字符前缀和,枚举子串左端点,二分查找满足条件的右端点,三个字符取最大的,直接计数。 双指针。 code1 code2 ...
分类:
其他好文 时间:
2020-03-02 11:12:20
阅读次数:
48
Solution 第一问二分模板题,利用第一问答案做第二问 $O(n^2m)$ 的 dp 是显然的,考虑用前缀和优化,用双指针预处理出转移位置的边界,于是每次转移复杂度 $O(1)$,总体复杂度 $O(nm)$ ...
分类:
其他好文 时间:
2020-03-01 14:40:19
阅读次数:
64
思路 0. 首先思考什么时候产生LIS上升的贡献,肯定是遇到了一个小于号啊,左边 4 大于号肯定不产生LIS的贡献了,。 假设上面想到了。 接下来考虑怎么找最短,和最长。 再等等,思考还有没有产生贡献的地方? 容易想到就是 小于号 与 小于号 之间 也会产生贡献。 比如 3424 using nam ...
分类:
其他好文 时间:
2020-02-29 17:34:26
阅读次数:
71
题目链接: https://www.acwing.com/problem/content/1240/ 题解: 双指针算法,注意率先移动前向的指针,当前向指针的时间-后向指针的时间超过了规定时间的话,后项指针要移动到该区间里才行 AC代码: #include <cstdio> #include <cs ...
分类:
其他好文 时间:
2020-02-28 20:29:26
阅读次数:
72