自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 mysql为什么使用B+树

mysql为什么使用B+树

2022-09-14 16:27:26 609 1

原创 golang自定义排序

golang自定义排序。

2022-09-09 09:36:25 556

原创 grpc getaway 使用出错

grpc geteway使用出错

2022-08-04 17:11:28 406

原创 KMP - leetcode28. 实现 strStr()

KMP算法原理分析

2022-07-22 22:36:30 185

原创 Go知识梳理

本人的golang的知识梳理

2022-07-08 22:20:42 142

原创 tomocat7插件不能用,报错

Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin:2.2在idea右边maven里面输入:mvn tomcat7:run ,就可以正常使用了在这里插入图片说明:

2022-04-13 03:06:11 331

原创 Typora的使用-Markdown

各级标题 :ctrl+数字有序序列 :数字+“.”+空格无序序列:- +空格加粗:ctrl+b斜体:ctrl+l下划线:ctrl+u区块:> +空格代码块:```10.表格:| | |,竖杠中间加内容

2021-12-04 16:10:40 197

原创 Thread-2

一.常见方法1.yield();当前获取cpu时间的线程释放cpu,但是并不代表他不会继续抢占,相反他还会和剩余的其他线程重新抢占cpu和线程的优先级有关2.join();迅雷下载和迅雷看看:边下边看需求:如果没有加载完成是无法播放的,一个线程是下载,一个线程是播放,需要保证顺序被设置为join的线程执行完毕以后,其他线程才会继续执行3.守护线程: Thread.setDaemon(boolean flag)一个线程如果被设置为守护线程以后,当其他线程执行完毕,守护线程不管是否还在执行,他

2021-11-28 19:34:04 286

原创 test7

离散化要求:了解离散化的概念和作用,参考博客重复元素离散化后的数字相同重复元素离散化后的数字不相同区间和题解可以参考博客拓扑排序学习拓扑排序:模板题

2021-11-20 21:59:57 82

原创 1、基础学习

practice1practice2practice3practice4practice5

2021-11-20 21:58:16 318

原创 practice3-基础算法3

基础算法3前缀和、差分一维前缀和和差分二维前缀和和差分离散化区间合并双指针(尺取法)前缀和、差分 要求:  了解前缀和和差分的概念一维前缀和和差分前缀和模板题差分模板题例题1二维前缀和和差分二维前缀和模板二维差分模板例题1例题2离散化要求:了解离散化的概念和作用,参考博客重复元素离散化后的数字相同重复元素离散化后的数字不相同区间和题解可以参考博客区间合并例题1例题2双指针(尺取法)1.了解双指针的概念2.了解对撞指针3.了解快慢指针4.可参

2021-11-20 21:44:30 126

原创 practice2-基础算法2

基础算法2分治算法思想快速排序归并排序全排列位运算分治算法思想要求:了解分治的概念  分解  解决  合并  经典分治算法:快排、归并排序快速排序 要求:掌握分治、递归的思想模板题例题1归并排序 要求:掌握分治、递归的思想模板归并法求逆序对全排列要求:掌握全排列算法的位运算要求:1、了解位运算的概念和位运算符号2、延伸:求一个数字二进制中1个个数...

2021-11-20 20:01:26 722

原创 practice1-基础算法

基础算法时间复杂度基础算法桶排序快速排序归并排序二分位运算时间复杂度1.掌握时间复杂度的大概计算方法一秒对应的时间复杂度是10^8一个问题会给出运算时间2.时间复杂度的应用(了解):由数据范围反推算法复杂度以及算法内容基础算法   1、掌握算法的思路并做好总结   2、B站上有很多的精彩视频讲解   3、acwing上有算法模板和算法课(但是算法课需要收费)   4、洛谷有官方题单可以巩固基础,后期算法学完了就可以刷洛谷题单桶排序 要求:掌握桶的概念与运用例题1例题2快

2021-11-20 17:30:17 659

原创 practice5-搜索+练习

拓扑排序学习拓扑排序:模板题练习对上周知识进行复习和练习练习

2021-11-15 22:28:43 284

原创 多线程Thread1

多线程1.为什么要用多线程,或者所生活中有哪些多线程 程序的顺序结构是,做完一件事之后才能做下一件事 但是有些事情是需要同时完成的,呼吸-吃饭-思考 1.1 进程-任务-task 每一个进程表示一个操作系统的任务,每个任务可能会有很多子任务 1.2 调度机制:抢占式调度 吃饭,人很多,但是窗口很少,只要前面的人打完饭了,下一个就立马去打饭 1.3 吃饭-吸气-思考 时间线(时间片) 三个人同时上厕所

2021-11-14 13:27:30 456

原创 practice4-数据结构1

数据结构1section1链表栈队列section2section3树和图的遍历数组模拟邻接表的实现概念:剪枝+回溯搜索section4section1链表单链表删除链表的倒数第 N 个结点双向链表队列双向链表循环链表 : 约瑟夫环栈后缀表达式表达式括号匹配表达式求值表达式的转换队列机器翻译section2数组模拟链表数组模拟栈和队列单调栈单调队列并查集模板题修复公路section3树和图的遍历1、了

2021-11-07 20:52:56 292

原创 lowbit(x)的原理解析

lowbit(x)函数返回x二进制下最低位的1代表的十进制数,比如(二进制) x=1100 ,lowbit(x)代表 100原理解析lowbit(x)= x & (~x+1) 假设 x的二进制表示为 11100 ,那么 ~x 表示为 00011 ,~x+1=00100 , 最低位的1的 位数不变, 进行 & 运算 返回 100证明: 假设最低位的1在第 k 位,后面还有 m 个0(m>=0),即..100(m个0) 那么取反运算后,后m位 0 都会变成

2021-11-03 21:47:07 367

原创 二维数组、对象数组、集合排序

二维数组排序 int a[][] ={{1,2},{4,3},{2,1},{2,-1}}; Arrays.sort(a,new Comparator<int[]>() { @Override public int compare(int[] o1, int[] o2) { //如果第一个数字相等,比价第二个 if(o1[0]-o2[0]==0) return o1[1]-o2[1]; return o1[0]-o2[0]; }

2021-04-25 22:40:08 113

原创 有重复元素的二分

普通二分思路:逐渐缩小区间,直到找到,或者找不到,跳出循环int l=0; int r=arr.length-1; int mid=0; while(l<r) { mid=l+((r-l)>>1); if(arr[mid]==value) return mid; else if(arr[mid]>value) r=mid-1; else l=mid+1; } return -1;有重复元素的二分取第一

2021-04-24 22:42:34 116

原创 一周做题总结

K倍区间做题感受:1.规律应该是很简单的,相当于初中难度了,但是用计算机写代码就是想不出来这个规律2. 高精度问题,单纯的认为是加也不会超出int的范围 以后做题之前先考虑数据范围,再设定数字完全二叉树的权值 :1.max的值不能设置成0,以为会出现全为0的情况,giao,有一个样例一直被卡,还是考虑的不周全21:56 2021/3/291.提交的时候老是忘记去掉包名字2.模拟题可以找打规律,但是老是找不到,第二就是节点老是找到错的 3,还是精度的问题,老是出错21:5.

2021-04-05 21:15:46 85

原创 21-0323做题收获

K倍区间做题感受:1.有些数学规律应该是很简单的,相当于初中难度了,但是用计算机写代码就是想不出来这个规律看了别人的题解大致知道这个是前缀和的应用,但是不知道前缀和的衍生规则,也没有细心推到2.k倍区间问题,没有考虑高精度问题,单纯的认为是加也不会超出int的范围,但是前缀和相加了多次可能超过int范围了以后做题之前先考虑数据范围,再设定数据...

2021-03-26 17:59:50 75

原创 今日收获

今天做题犯了一个超级低级的错误,在oj上测试的时候忘了吧包名删除了,我的天,一直抓耳挠腮找不到错误,记录下来引以为戒

2021-03-20 22:19:32 63

原创 分解质因数的误区

分解质因数的误区误区正解误区我原来的想法是找到除数范围内的所有质因数,建立了一个素数筛,然后逐个便利判断是是除数的引述,很是麻烦,而且时间复杂度高,大致为O(n)级别代码如下:package 啊哈添柴;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Scanner;import java.util.Set;public class 分解质因数 { st

2020-12-03 22:42:19 153

原创 IME++ Starters Try-outs 2019 题解

IME++ Starters Try-outs 2019 题解A. Arnon-Degree of SeparationB. Building BridgesC. CoachD. Donimo'sE. Essay TimeF. Friendship MattersA. Arnon-Degree of Separation传送门**题目大意:**找到人和人之间有直接联系的最长距离,如果存在不能到达的人就直接输出“=[”反之输出“=]”并输出最短距离import java.util.ArrayLis

2020-12-01 22:00:15 181

原创 地精排序

地精排序思路:回溯例如:arr=1,3,5,2,41.首先进行遍历,建立标记i=0;当a[i]<a[i+1],如1<3,i++2.i=1,3<5,i++;3.5>2,进行交换,然后回溯i自减i–;时间复杂度O(n);static void gnome_sort(int[] arr) { int i = 0; while (i < arr.Length) {

2020-11-29 11:08:46 94

原创 用最少数量的箭引爆气球

题目:用最少数量的箭引爆气球传送门在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想

2020-11-23 22:15:02 105

原创 ccpc手速铜

ccpc省赛手速铜,说说当时的考试情况吧前面七分钟手速做出来一道,后面5个小时一道没做出来先是做字符串反转那个,以前在cf上做出来过类似的题,以为也挺简单的,样例过了,自己找的栗子过了,就是不知道卡在哪里了然后是星际星灵旋风斩那个,我以为就是一个简单的小项目,建立虫子类,神族类,攻击事件。也是样例过了,但是不对,结束后群里发思路了,再研究研究最后是太阳轰炸,这个是我队友做的,他按照题上的推出来了一个公式,然后求的,不过一直不对。听学长意思是设计了高精度,所以不对总之就这次比赛挺难的,也找到了自己的

2020-11-22 14:56:36 202

原创 2020-11-15

国赛出来了,没拿奖,没啥好说的没有好好的准备,自己的努力也不足,自己也菜平时在小组的小组学习时间因为一些杂七杂八的事情都比别人少,基础算法有的也搞不懂总之,这个比赛做的很难受,对自己也有点失望以后多努力...

2020-11-15 13:50:39 78

原创 递归理解

递归–递推–动态规划首先,我的理解这三种都是一种形式、一个思想。包括递推、dp都可以算作是递归。用递归的形式,代码简洁,但是效率低(改进,记忆性递归)。dp,递推代码比较多,但是效率高下面看我学的几个例题:上楼梯题意:小明上楼梯,他一次能上一层、两层、或者三层,问100层楼梯,有多少种走法递归分析:每在一层楼都可以分为三种情况,往上走1、走2、走3。反之,每一层都是由三种走上来的。由下面一层、下面两层、下面三层走上来。所以,往下递归,每一层都有三种情况:n-1,n-2,n-3递推分析:每一层都

2020-11-07 22:30:14 120 1

原创 Educational Codeforces Round 97 div2

A. Marketing Scheme传送门题意:给定一个区间【l,r】,取一个数字a,使区间中的任意数字x mod a>a/2。问是否存在这样的数字。思路:x mod a,当x<a时取得的模最大,因此a最小为r+!。因此仅需判断 l>a/2 就行代码如下:import java.util.Scanner;public class A { public static void main(String[] args) { Scanner sc=new Scanner(Sys

2020-10-28 18:11:46 197 2

原创 Codeforces Round #678 (Div. 2)补题

B. Prime Square传送门题目大意:输出一个方阵,使方阵每行每列的和都是素数,同时方阵的组成不能是素数解法:我原来的思路是素数筛,然后发现太麻烦,方阵中允许重复数字出现,我无法用代码实现正确思路:方阵行列最小为2,找到两个数字a,b,是的a+b=素数,吧这两个数字放进数组中,然后对这个数组全排列输出。对此可以建立一个方阵,行列相同1234234134124321代码如下:import java.util.*;publ

2020-10-25 11:20:57 371

原创 10-24

接下来两周的目标:1.算法很美课程结束2.数据结构到线性结构3.离散课跟上课程4.开始准备下一次的英语四级

2020-10-24 19:54:43 88

原创 Constant Palindrome Sum

**Constant Palindrome Sum**传送门需要知识:差分数组题意:对于数列,使a[i]+a[n-i+1]=x,用[1,k]之间任意一个数替换a[i]或者是a[n-i+1],求出替换最小的次数。这道题用的是差分数组,用差分数组维护x=[2,2k]的次数。这道题我是没有想出来,看了题解才知道,而且差分我也很少运用,算是盲区了对于每对a[i]+a[n-i+1],设置sum=a[i]+a[n-i+1],minn=min(a[i],a[n-i+1]),maxx=max(a[i],a[n

2020-10-18 11:20:28 130

原创 递归小结

找重复:找到一种划分方法找到递推公式或者等价转换 都是父问题转换为求解子问题,其中会有变化的量子问题和父问题有一样的表现形式.找变换的量变化的量通常要作为参数找参照找到相对参照,有些题中参照物是不断变化的,因此传入的参数也要改变顺序找出口(所有的循环都可以改成递归,因为循环都是重复)汉诺塔,将1-N从A移动到B,c可以作为中转:1~N-1移动到c,b为辅助把N移动到B把1~N-1 从c移动到B,A为辅助/** * 汉诺塔递归解法 */public cla

2020-09-22 20:04:58 104

原创 2020-09-05

**2020-09-05做题收获1.今天一道题卡了很久,我是算法菜鸟,脑子里面一直没有清晰的路线,今天尝试写了一下详细的题解来理顺思路,感觉很有用,所以分享一下给定01字串,使相邻的1之间0的个数大于等于k。给定一个01字串,将其中的0变成1,还能成立,求能替换的数量这道题我一开始没有清晰的思路,很模糊的感觉,就迷糊的写了下去,因此出现了少考虑条件,但回头检查代码的时候,代码写的犹如乱麻,理不顺,只能重写,然而重写也不对。因此,浪费了很多时间我知道有些人称这些为水题,但本人菜鸟。因此,接下来我尝

2020-09-05 22:17:48 78

原创 2020-09-04

**2020 九月四日 做题收获1.数学从条件推出结果,一步步求结果。但是计算机因为其特点,可以从结果逆推求一组数字两两配对,和相同,能配多少组一开始我直接从条件推,用双指针直接比对一组组的数据,得出和相同的可能,但是时间复杂度过高,因此error然后从结果逆推枚举,从题目中可以得到和的范围:<101,然后输入的时候把数据作为下标录入进去,不断凑组合,比较出现的次数。比如:n是5,max<11,从0-11不断枚举,sum=3时,min(a(1),a(2))package _9yu

2020-09-04 22:22:28 133

原创 1.初识前端

1.什么是前端<!-- shift + 1 快速生成网页基本文档结构 --><!-- ctrl+/ 注释 --><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title

2020-08-16 16:16:52 171

原创 笔记

集合框架-Collection一.List接口:有序的集合,数据可以重复,长度可变,可以动态的增加和修改1.1 ArrayList —可变长度的数组!1.扩容的时候按照以前长度的一半进行增长:0001(1)->0000.1(0.5)int newCapacity = oldCapacity + (oldCapacity >> 1);int newCapacity = oldCapacity + (oldCapacity/2);2.添加数据3.修改数据4.查询数据5.判定

2020-07-26 19:38:04 89

原创 StringBuffer方法

String StringBuffer StringBulider 定长 可变字符串 可变字符串 线程安全 线程不安全 效率最低的 执行效率低 执行效率高(前期建议用)package day19; * @author 落叶知秋 * String StringBuffer StringBulider * 定长 可变字符串 可变字符串 * 线程安全...

2020-06-21 19:45:44 136

原创 封装

封装性是java面向对象的特征之一;三大特性之一,封装性;封装是一个面向对象的术语,其含义其实很简单,就是吧东西包装起来。等下就用这种思维来解释封装性以及他带来的好处,main只留下大致结构框架,更加简洁,符合面向对象思想,即只看到结果。也更容易对代码进行调试和维护package day14;public abstract class Hero { String name; int attract; int blood; Hero(String name,int attract,int

2020-06-14 21:07:44 132

空空如也

空空如也

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

TA关注的人

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