自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Moon`light的博客

力扣刷题之路

  • 博客(15)
  • 收藏
  • 关注

原创 博客迁移

将简书的一些博客迁移到这里来,这里贴出一些网址:1.我的简书2.我的个人博客Moon_Light3.我的githubXudong

2020-11-08 16:49:02 53

原创 ABC-185(A~F)

比赛地址个人博客githubA/* * Author: Moon-light * 按照题意输出*/#include <bits/stdc++.h>using namespace std;#define fi first#define se second#define pb push_back#define mp make_pair#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)#defin.

2020-12-14 21:45:47 623

原创 数位DP

记录今天在Acwing学习的几道数位Dp题目,整理了思路,方便以后的复习:1.度的数量题目描述求给定区间 [X,Y] 中满足下列条件的整数个数:这个数恰好等于 K 个互不相等的 B 的整数次幂之和。例如,设 X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意:17=24+2017=2^4+2^017=24+2018=24+2118=2^4+2^118=24+2120=24+2220=2^4+2^220=24+22样例输入15 2022输出3数位DPK个互不

2020-11-09 18:56:56 137

原创 DP-LIS

写在前面:学DP掌握基础很重要,这里记录一下LIS和LCS,(希望每次在记录时能够收获新的东西引入问题:给定一个长度为N的数列,求数值严格单调递增的子序列的长度最长是多少。N有这两个数据范围:1.1≤N≤10001≤N≤10001≤N≤10002.1≤N≤1000001≤N≤1000001≤N≤100000样例:Input:73 1 2 1 8 5 6output:4一.1≤N≤1000对序列中一个的数a[i]来说,我们定义dp[ i ] 表示以a[i]这个数结尾的最长上升子序列的

2020-11-09 18:51:42 118

原创 LeetCode.195周赛

1496. 判断路径是否相交给你一个字符串 path,其中 path[i] 的值可以是'N'、'S'、'E' 或者 'W',分别表示向北、向南、向东、向西移动一个单位。机器人从二维平面上的原点 (0, 0) 处开始出发,按 path 所指示的路径行走。如果路径在任何位置上出现相交的情况,也就是走到之前已经走过的位置,请返回 True ;否则,返回 False 。分析用map标记当前点是否已经走到,然后模拟走的过程,每走一步判断一下即可。class Solution {public: b

2020-11-09 18:48:40 105

原创 树状数组

复习一下树状数组树状数组一种用于处理单点修改和区间查询的数据结构。树状数组C的定义: C[x] = Sum a[x-lowbit(x)+1,x], 即数组C表示原数组某一区间段的和。lowbit操作int lowbit(int x){ return x&-x;}单点修改 O(logN)对于树形结构,我们如果修改一个点的话,对于他祖宗节点的影响是单一的,即我们可以通过一层一层向上更新包含这个节点的所有C数组的值。int update(int u,int x){

2020-11-09 18:48:33 75

原创 LeetCode.201场周赛

**写在前面:**好久没写博客了,今天正好是周末Leetcode周赛,补充一个笔记吧。期末考试还剩一周了,暂时得放几天代码鸽子,不然期末就要GG了更好的阅读体验: 戳我跳转5483. 整理字符串给你一个由大小写英文字母组成的字符串 s 。一个整理好的字符串中,两个相邻字符 s[i] 和 s[i + 1] 不会同时满足下述条件:0 <= i <= s.length - 2s[i] 是小写字符,但 s[i + 1] 是相同的大写字符;反之亦然 。请你将字符串整理好,每次你都可以从字符串

2020-11-08 16:58:30 132

原创 LeetCode.204周赛

5499. 重复至少 K 次且长度为 M 的模式给你一个正整数数组 arr,请你找出一个长度为 m且在数组中至少重复k次的模式。模式 是由一个或多个值组成的子数组(连续的子序列),连续 重复多次但 不重叠。 模式由其长度和重复次数定义。如果数组中存在至少重复k次且长度为m的模式,则返回true,否则返回 false 。分析题意是在一个数组中是否存在连续的k个长度为m的相同子序列,我们只需要枚举起点,然后通过判断从这个起点开始的k个长为m的子序列即可。代码class Solution

2020-11-08 16:57:46 98

原创 并查集

并查集对于某些集合问题,涉及到大量查询操作(查询两个元素是否属于同一集合或是查询某一个元素的祖宗节点),如果使用一般的数据结构,时间和空间开销都比较大,而并查集则可以高效地解决这一类问题。并查集是一种树状数据结构,用来解决集合间的合并以及元素的查询问题,每个集合可以理解为一棵树,不同的集合构成一个森林。我们来看并查集的一个简单的应用:1.Acwing836.合并集合一共有n个数,编号是1~n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:1.“M a b”,将编号为a和b的

2020-11-08 16:56:18 130

原创 差分约束

差分约束(1)求不等式组的可行解原点需要满足的条件:从原点出发,一定可以走到所有的边。(这一点必须要满足,否则会遗漏某些不等式)步骤:先将每个不等式Xi <= Xj + Ck,转化成一条从Xj走到Xi,长度为Ck的一条边。找一个超级原点,保证这个原点一定可以遍历所有边。从原点求一遍单源最短路:1 .如果存在负环,则原不等式组一定无解。2 .如果不存在负环,则dist[i]就是原不等式组的一个可行解。根据不等号的方向,建图时注意方向。(2)如何求最大值或者最小值(这里的最值

2020-11-08 16:55:43 409

原创 求逆元

逆元的定义若整数b,m互质,并且b|a,则存在一个整数x,使得a/b≡a∗x(mod m),则称x为b的模m乘法逆元,记为b−1(mod m)。b存在乘法逆元的充要条件是b与模数m互质。否则,b不存在乘法逆元。当模数m为质数时,b^(m−2)即为b的乘法逆元。题目示例:Acwing876.快速幂求逆元https://www.acwing.com/problem/content/878/代码://求逆元模板#include <iostream>#include <algori

2020-11-08 16:55:15 78

原创 简单贪心

贪心算法是指,在对问题求解中,对问题的每一步决策都采取当前意义下最优策略的算法,即问题的整体最优性可以由局部最优性来导出。贪心算法的正确性需要证明,常见的手段有:微扰(邻项交换),反证法,数学归纳法,范围缩放,决策包容性我们来看几道基础的贪心题:1.Acwing913排队打水 、 洛谷P1223排队接水(两题题意一致,仅输入输出要求不同)有 n 个人排队到 1 个水龙头处打水,第 i 个人装满水桶所需的时间是 ti,请问如何安排他们的打水顺序才能使所有人的等待时间之和最小?输入格式第一行包含

2020-11-08 16:54:35 143

原创 欧拉回路

欧拉通路与欧拉回路欧拉通路: 对于图G来说,如果存在一条通路包含G中所有的边,则该通路成为欧拉通路,也称欧拉路径。欧拉回路: 如果欧拉路径是一条回路,那么称其为欧拉回路。欧拉图 : 含有欧拉回路的图是欧拉图。对有无向图G和有向图H:图G存在欧拉路径与欧拉回路的充要条件分别是:欧拉路径: 图中所有奇度点的数量为0或2。欧拉回路: 图中所有点的度数都是偶数。图H存在欧拉路径和欧拉回路的充要条件分别是:欧拉路径: 所有点的入度等于出度 或者 存在一点出度比入度大1(起点),一点入度比出度大1(

2020-11-08 16:54:03 1328

原创 Manacher算法

看这样一道例题:hdoj-3068.最长回文给出一个只由小写英文字符a,b,c…y,z组成的字符串S,求S中最长回文串的长度.回文就是正反读都是一样的字符串,如aba, abba等Input:输入有多组case,不超过120组,每组输入为一行小写英文字符a,b,c…y,z组成的字符串S两组case之间由空行隔开(该空行不用处理)字符串长度len <= 110000Output:每一行一个整数x,对应一组case,表示该组case的字符串中所包含的最长回文长度.Sample

2020-11-08 16:52:12 66

原创 AC自动机学习笔记

先简单复习一下学习AC自动机所需要的前缀知识。#前缀知识 1-Trie树字典树,也称Trie树,前缀树,主要用于存储大量的字符串以及查询操作。对于Trie树,一般有两个操作:1.insert操作,在Trie树中存储一个字符串2.query操作,在Trie树中查询一个字符串举个例子,对于这样几个字符串,{abcde,abcgf,hello,her}我们看他们在Trie树中是如何存储的:这里需要注意,字符是边,而不是节点,但都是一一对应的代码int son[N][26],cnt[N],i

2020-11-08 16:51:22 215

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除