![](https://img-blog.csdnimg.cn/20210610145924798.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
ACWING
在ACWING总结学习的算法题
福尔摩东
上岸求求了
展开
-
值域二分专题
TOCLeetCode374.猜数字大小/** * Forward declaration of guess API. * @param num your guess * @return -1 if num is lower than the guess number * 1 if num is higher than the guess number * otherwise return 0 * int guess(int n原创 2022-01-20 20:48:21 · 249 阅读 · 0 评论 -
Trie树
TOCTrie树快速存储和查找字符串集合的数据结构142. 前缀统计import java.util.*;class Main{ static int N = (int)1e6+10; static int[][]ch = new int[N][26]; static int idx = 0; static int[] end = new int[N]; public static void main(String[] args){ Sc原创 2022-01-20 20:47:41 · 179 阅读 · 0 评论 -
最长上升子序列专题
TOC补充最大上升子序列和import java.util.*;class Main{ public static void main(String[]args){ Scanner sc = new Scanner(System.in); int[]dp = new int[1010]; int[]arr = new int[1010]; int n = sc.nextInt(); for(int i = 1;原创 2022-01-20 20:46:31 · 79 阅读 · 0 评论 -
AC周赛补题
ACWING 第26场周赛总结❝接下来写一下收获与总结:❞AC4076 模拟模拟题import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner&原创 2021-11-20 23:15:52 · 309 阅读 · 0 评论 -
从0写一个hash表?你懂字符串哈希吗?
重新认识Hash表1. 模拟哈希表1.1 开放寻址法1.2 拉链法2. 字符串哈希2.1 处理字符串经常用的还有KMP3. leetcode 习题 1871. 模拟哈希表1.1 开放寻址法开放寻址法- 线性探测法#include<iostream>#include<cstring>using namespace std;const int N = 2e5+10,null = 0x3f3f3f3f;int p[N];int find(int x){原创 2021-10-08 12:01:11 · 204 阅读 · 0 评论 -
滑动窗口系列总结
滑动窗口题解待更新ACWING154 滑动窗口ACW135 最大子序和替换后的最长重复字符和大于等于 target 的最短子数组ACWING154 滑动窗口(https://www.acwing.com/problem/content/156/)#include<bits/stdc++.h>using namespace std;const int N = 1e6+10;int n,m;int p[N],q[N];int hh = 0,tt = -1;int main(){原创 2021-10-07 00:12:51 · 157 阅读 · 0 评论 -
连通块和连通分量,快来看
关于连通块的小技巧砍树砍树给定一棵包含 n个节点的树。你的任务是从树中删除尽可能多的边,使得剩余图形的所有连通分量都具有偶数个节点。输入格式第一行包含整数 n。接下来 n−1 行,每行包含两个整数 a,b,表示节点 a 和 b之间存在一条边。节点编号 1∼n。保证给出图形是一棵树。输出格式输出一个整数表示可以删除的最大可能边数。如果无论如何都不可能使得剩余图形的所有连通分量都具有偶数个节点,则输出 −1。数据范围前六个测试点满足,1≤n≤10。所有测试点满足,1≤n≤105,1≤a原创 2021-10-04 17:32:40 · 465 阅读 · 0 评论 -
约瑟夫环and汉诺塔and摩尔投票法
约瑟夫环and汉诺塔and摩尔投票法1.汉诺塔问题2.约瑟夫环数组循环链表3.摩尔投票法1.汉诺塔问题类似于中序遍历,两次递归#include<bits/stdc++.h>using namespace std;void move(int n, char start, char goal,char temp){ if(n >= 1){ move(n-1,start,temp,goal); printf("disk%d from %c原创 2021-08-25 16:59:05 · 157 阅读 · 0 评论 -
第k小个数和第k大个数,5种方法,速看!!!
1.第k小个数地址:链接地址1.1时间复杂度O(n)1.1.1基于快排实现将k值当做物理地址的值,比如第5个数其实就是数组4的位置,第2个数就是数组1的位置每次只需要判断k在左区间还是右区间,一直递归查找k所在区间最后只剩一个数时,只会有数组[k]一个数,返回数组[k]的值就是答案描述将k值当做物理地址的值,比如第5个数其实就是数组4的位置,第2个数就是数组1的位置每次只需要判断k在左区间还是右区间,一直递归查找k所在区间最后只剩一个数时,只会有数组[k]一个数,返回数组[k]的值就原创 2021-06-22 11:47:17 · 959 阅读 · 0 评论