自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 格雷码详解(分治法)

格雷码详解(分治法)格雷码是一个长度为2^n的序列。序列无相同元素,每个元素都是长度为n 的字符串,相邻元素恰好只有一位不同对于给定的正整数n,格雷码为满足如下条件的一个编码序列。序列由2^n个编码组成,每个编码都是长度为n的二进制位串。序列中无相同的编码。序列中位置相邻的两个编码恰有一位不同。例如n=3的格雷码000001011010110111101100可以采用分治的方法求解比如求解n=3格雷

2021-10-29 22:18:42 3475 1

原创 SpringSecurity权限认证(四)

SpringSecurity权限认证(四)使用分布式时,就需要JWT与SpringSecurity一起进行配合使用。Jwt工具类package com.bep.server.config.jwt;import io.jsonwebtoken.*;import org.springframework.beans.factory.annotation.Value;import org.springframework.security.core.userdetails.UserDetails;i

2021-10-27 20:31:49 805

原创 SpringSecurity权限认证(三)

SpringSecurity权限认证(三)查询数据库中信息进行用户登录前端传入用户信息之后,在security中,有单独的类进行存储,就是UserDetails。为了方便,直接让用户类实现UserDetails。登录时,直接传入UserDetails类即可。之后,security,会调用UserDetailsService的loadUserByUsername进行登录。我们需要自行登录,就需要实现UserDetailsService重写loadUserByUsername函数。@Servi

2021-10-27 16:00:03 775

原创 JWT实现

JWTjwt组成一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名(xxx.yyy.zzz)。Header:头部,通常头部有两部分信息:​ 声明类型type,这里是JWT(type=jwt)加密算法,自定义(rs256/base64/hs256)我们会对头部进行base64加密(可解密),得到第一部分数据Payload:载荷,就是有效数据,一般包含下面信息:用户身份信息-userid,username(注意,这里因为采用base64加密,可解密,因此不要存放敏感信

2021-10-27 14:03:46 894

原创 SpringSecurity权限认证(二)

SpringSecurity权限认证(二)当未登陆或者token失效时访问接口时,自定的返回结果当用户未登录时,不希望返回错误信息,而返回自定义结果时,就需要自行进行配置,在SecurityConfig进行配置。 @Autowired private RestAuthorizationEntryPoint restAuthorizationEntryPoint; @Override protected void configure(HttpSecurity http) thr

2021-10-27 13:19:41 288

原创 SpringSecurity权限认证(一)

SpringSecurity权限认证(一)导入依赖<!--security 依赖--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>设置数据库配置spring.datasource.driver-c

2021-10-26 23:17:56 464

原创 mp逆向工程

Mybatis-plus逆向工程导入依赖<dependencies> <!--web 依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!

2021-10-25 22:38:05 568

原创 信息安全之加密域可逆信息隐藏RDH-EI(附加代码)

加密域可逆信息隐藏经典算法(附加代码)本文介绍加密域可逆信息隐藏经典算法,张新鹏教授的《Reversible Data Hiding in Encrypted Image》。主要分为图像加密、信息嵌入、信息提取与图像恢复三个过程。(图片必须是bmp格式的)(代码下载:链接:https://pan.baidu.com/s/1T24P3IU2pVN8b0UNNXJ5VQ提取码:7aq2)总体展示如下https://i.loli.net/2021/07/03/YNgf8idq5USPZoz.png算法

2021-07-03 16:16:07 6493 2

原创 线段树模板

线段树模板#include<bits/stdc++.h>using namespace std;int segTree[100];int add[100]; // 懒惰数组//每次修改时, 可以不修改到下面区间具体的值, 先由懒惰数组记录 等查询到具体区间时再加上void build(int l, int r, int root){ // l r 表示区间范围 if(l == r){ cin >> segTree[root];

2021-02-20 16:28:19 87

原创 尺取法

尺取法当我们需要在给定的一些数中,找到一个最短的区间,使得区间里的每一个元素的和大于或者等于给定的一个值。一般的想法是开两个循环,然后暴力枚举区间的起点和终点。但是这样时间复杂度太高了,可以使用尺取法来解决这个问题。核心思想设置两个指针,一个左指针,一个右指针。一开始两个指针都指向数组的初始位置,然后右指针一直向右滑动,直到两个指针所确定的区间的和值大于或者等于给定的值。再把左指针一直向右滑动直到两个指针确定的区间的和值小于给定的值,此时的情况是左指针向右移动一次,两个指针所确定的区间的和值刚好小

2020-06-08 21:58:38 155

原创 HD1686(hash)

HD1686(hash)传送门#include<stdio.h>#include<string.h>#define N 1000006typedef unsigned long long ull;ull p[N], has[N], base = 131;char t[N], w[N];void init(){ p[0] = 1; for(int i = 1; i< N; i++) p[i] = p[i-1] * base;}

2020-06-08 10:47:48 231

原创 KMP模板

KMP​ KMP算法每当一趟匹配过程中出现字符比较不等时,主串S中的i指针不需回溯,而是利用已经得到的“部分匹配”结果将模式向右“滑动”尽可能远的一段距离后,继续进行比较。​ KMP算法的主要核心其实就是next数组的求解next数组求解void GetNext(char *w, int next[]){ //w为模式串 memset(next, 0, sizeof(next...

2020-06-06 21:01:00 24

原创 最长上升子序列 O(nlogn) 模板

最长上升子序列 O(nlogn)#include<stdio.h>int a[1005];int arr[1005];int len;int Binary_search(int e){ int l, r, mid; l = 0; r = len; while(l <= r) { mid = (l + r) &g...

2020-06-06 20:58:00 25

原创 快速排序模板(C语言)

快速排序模板(C语言)快排的基本思想是,通过一趟排序将要排序的数据分割成独立的两部分,其中的一部分数据比另一部分的数据都要小,或者都要大,然后再把这两个独立的部分进行快速排序,整个过程可以用递归来进行。#include<stdio.h>void quicksort(int a[], int low, int high) // 从小到大{ int l ,r, key; l = low; r = high; key = a[l]; if(low &gt

2020-06-06 20:49:47 921 1

原创 最长上升子序列 O(nlogn)模板

最长上升子序列 O(nlogn)#include<stdio.h>int a[1005];int arr[1005];int len;int Binary_search(int e){ int l, r, mid; l = 0; r = len; while(l <= r) { mid = (l + r) >> 1; if(arr[mid] > e) r = mid - 1;

2020-06-06 19:57:17 203

原创 KMP模板(C语言)

KMP​ KMP算法每当一趟匹配过程中出现字符比较不等时,主串S中的i指针不需回溯,而是利用已经得到的“部分匹配”结果将模式向右“滑动”尽可能远的一段距离后,继续进行比较。​ KMP算法的主要核心其实就是next数组的求解next数组求解void GetNext(char *w, int next[]){ //w为模式串 memset(next, 0, sizeof(next)); int i, j, len; i = 0; j = -1; next[0]

2020-06-06 19:22:46 415

原创 Cannot read property 'user' of undefined

Cannot read property 'user' of undefinedapp.use('/', indexRouter);app.use('/users', usersRouter);app.use('/register', registerRouter);app.use(session({ secret: 'keyboard cat',//设置签名秘钥 内容可以任意...

2020-04-22 10:37:00 52

原创 Cannot read property ‘user’ of undefined

Cannot read property ‘user’ of undefinedapp.use('/', indexRouter);app.use('/users', usersRouter);app.use('/register', registerRouter);app.use(session({ secret: 'keyboard cat',//设置签名秘钥 内容可以任意填...

2020-04-22 10:35:56 3896

原创 2020年中南大学研究生招生夏令营机试题

2020年中南大学研究生招生夏令营机试题题目链接A题题目描述众所周知,彩虹有7种颜色,我们给定七个 字母和颜色 的映射,如下所示:‘A’ -> “red”‘B’ -> “orange”‘C’ -> “yellow”‘D’ -> “green”‘E’ -> “cyan”‘F’ -> “blue”‘G’ -> “purple”但是在某一...

2020-04-13 16:34:56 804

原创 2019年中南大学机试题d题

2019年中南大学机试题D题题目链接2019年中南大学机试题全部讲解题目描述CSU镇上有n个商店,n个商店有m条双向小路相连,在这n个商店里共有k种不同商品,每个商店只有一种商品,每条路的权重都为1。现问你从每个商店出发,买够k种商品中的s种商品所需的最小代价,每个商店可以同时派出多个人买不同商品,买够即可。输入输入包含多组测试用例。对于每一组输入包含四个数字n ,m, k,s (1...

2020-04-06 12:20:43 545

原创 2019年中南大学机试题b题

2019年中南大学机试题b题题目链接2019年中南大学机试题全部讲解题目描述PIPI现有a-z 26个小球模拟出入栈操作,小球按照a~z的顺序压入栈,在栈顶的元素可以随时被取出,在游戏开始前给出任意26个字母的一些排列,问是否能够由出栈顺序得到这个排列。输入输入包含多组测试用例。每组测试用例包含26个字母组成的一个序列。输出若出栈顺序合法,输出"yes",否则输出"no".样例...

2020-03-29 19:54:23 693

原创 2019年中南大学机试题c题

2019年中南大学机试题c题题目链接2019年中南大学机试题全部讲解题目描述现有n阶楼梯,PIPI从第一阶走到第n阶,每次可以跨一阶或者两阶,问PIPI从第一阶走到第n阶总共有多少种可能。为了防止结果过大,需要让结果对p取模。ps: p = 1e9+7.输入输入包含多组测试用例。每组样例第一行输入楼梯的阶数n。(1<=n<=1000000)输出对于每组样例,输出方案...

2020-03-29 12:48:59 1526 1

原创 2019年中南大学机试题a题

2019年中南大学机试题a题题目链接2019年中南大学机试题全部讲解题目描述PIPI现有a-z共26种球,权值从a到z依次为1,2,3…26,现从已有的n个球中选出固定k个从左到右排列,要求右边的球权值至少比左边大2,在给定n和k的情况下,求最小权重和。输入输入包含多组数据。每组数据第一行包含两个整数 n,k (1<=k<=n<=50)第二行是一个长度为n的字符串...

2020-03-26 10:20:18 691 2

原创 线性表之顺序表

线性表之顺序表顺序表定义线性表的顺序存储又称顺序表。它是用一组地址连续的存储单元依次存储线性表当中的数据元素。从而使得逻辑上相邻的两个元素在物理位置上也相邻。第1个元素存储在线性表的起始位置,第i个元素的存储位置后面紧接的存储的也就是第i+1个元素。因此,顺序表的特点是表中元素的逻辑顺序与其物理顺序相同其顺序存储结构如下数组下表顺序表内存地址0a1LOC(A)...

2020-03-20 14:43:00 18

原创 1077: 铁轨(PIPIOJ)

1077: 铁轨(PIPIOJ)题目链接题目描述PopPush城市有一座著名的火车站。这个国家到处都是丘陵。而这个火车站是建于上一个世纪。不幸的是,那时的资金有限。所以只能建立起一条路面铁轨。而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少空间,两列火车将无路可走。具体看下图。当地的惯例是每一列火车从A方向驶向B方向时候,会用某种方式将车厢重组。假设火车将要到达A方向,...

2020-03-20 14:40:00 26

原创 大整数计算(C++模板)

大整数计算(C++模板)计算机存储整数的大小是有限,long long最多只能存储64位的,int只能存储32位的。当我们计算一些超过64位的整数的时候就需要另外想办法。这就是大整数运算。在复试上机题中也屡屡出现。下来我就给出大整数计算得一些模板,但是需要注意的是只能进行正整数的计算,在进行减法的时候小数减大数会出错。机试要用什么计算,只需要敲当中相对应的代码就行了。(代码参考于计算机考研-机试...

2020-03-19 17:16:34 809

原创 a+b(华中科技大学复试上机题)

a+b(华中科技大学复试上机题)题目链接题目描述实现一个加法器,使其能够输出a+b的值。输入描述:输入包括两个数a和b,其中a和b的位数不超过1000位。输出描述:可能有多组测试数据,对于每组数据,输出a+b的值。示例1输入2 610000000000000000000 10000000000000000000000000000000输出810000000000...

2020-03-19 17:13:13 417

原创 博客同步更新

博客同步更新博客也会同步更新到博客园https://www.cnblogs.com/Mrs-Jiangmengxia

2020-03-19 13:02:18 252

原创 2018年中南大学机试题D题

2018年中南大学机试题D题题目链接题目描述猪年快乐!在这个快乐的日子里我们当然要去超市买可乐喝啦!现在超市有n种可乐,第 i 种可乐的价格为C[i] ,体积为 2i-1 毫升,每种可乐都是无限供应的 ,现在你想买至少 L毫升的可乐 ,作为一个省钱小能手,聪明的你能够想到最少要花多少钱吗?输入输入包含多组测试用例。每组测试用例第一行包含两个数字 n 和 L (1 ≤ n ≤ 30; ...

2020-03-18 17:33:13 492

原创 1077 铁轨(PIPIOJ)

1077: 铁轨(PIPIOJ)题目链接题目描述PopPush城市有一座著名的火车站。这个国家到处都是丘陵。而这个火车站是建于上一个世纪。不幸的是,那时的资金有限。所以只能建立起一条路面铁轨。而且,这导致这个火车站在同一个时刻只能一个轨道投入使用,因为它缺少空间,两列火车将无路可走。具体看下图。当地的惯例是每一列火车从A方向驶向B方向时候,会用某种方式将车厢重组。假设火车将要到达A方向,拥...

2020-03-17 23:29:09 641

原创 2018年中南大学机试题C题

2018年中南大学机试题C题2018年中南大学机试题C题题目链接题目描述PIPI被困在一个迷宫中了!  给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,PIPI想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,PIPI可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,PIPI不能走到迷宫外面去。令人头痛的是,...

2020-03-17 17:12:56 690

原创 C++STL容器之vector

C++STL容器之vector一般复试机试默认是C++,不能带模板,所以会用STL是非常重要的,接下来就讲讲STL容器vector的基本用法vector的定义使用vector的标准模板,就需要在添加vector的头文件,#include。定义如下typename是指定义的向量元素类型,name是定义向量的名字。vector<typename> name vector的初始化...

2020-03-16 11:35:42 242

原创 2018年中南大学机试题a题

2018年中南大学机试题a题题目链接题目描述小王和小明是好朋友,两人最开始各有一个初始位置 p 和一个恒定速度 v,从0时刻起开始,他们从初始位置以恒定速度开始行走,请告诉我行走过程中两人的最短距离是多少。输入一行输入T代表测试样例数目。对于每个样例,第一行包含四个整数 x1,y1,x2,y2,表示人的起点(x1,y1),(x2,y2)。第二行是四个整数u1,v1,u2,v2,表示...

2020-03-15 22:20:55 626

原创 2018年中南大学机试题b题

2018年中南大学机试题b题题目链接题目描述读入两个小于100的正整数A和B,计算A+B,注意: A+B的每一位由对应的英文字母给出。输入测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B =",相邻两字符串有一个空格间隔.当A和B同时为zero时输入结束,相应的结果不要输出.输出对每个测试用例输出1行,即A+B的值.样例输入one + two =three fo...

2020-03-15 17:49:50 1527

原创 牛客网单词替换

单词替换题目链接题目描述输入一个字符串,以回车结束(字符串长度<=100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。输入描述:多组数据。每组数据输入包括3行,第1行是包含多个单词的字符串 s,第2行是待替换的单词a,(长度<=100)第3行是a将被替换的单词b。(长度<=...

2020-03-15 15:35:22 592

原创 skew数

skew数题目链接题目描述在 skew binary 表示中,第 k 位的值 x[k] 表示 x[k]×(2^(k+1)-1)。每个位上的可能数字是 0 或 1,最后面一个非零位可以是 2,例如,10120(skew) = 1×(2^5-1) + 0×(2^4-1) + 1×(2^3-1) + 2×(2^2-1) + 0×(2^1-1) = 31 + 0 + 7 + 6 + 0 = 44。前...

2020-03-14 21:59:55 239

原创 线性表之链表(C语言)

C语言线性表之链表单链表定义线性表的链式存储又称单链表,它是指通过一组任意的存储单元来存储线性表中的数据元素。为了建立数据之间的线性关系,对每个链表结点,除存放元素自身之外,还需存放一个指向其后继的指针。单链表结点,data为数据域,存放数据;next为指针域,存放其后继结点的地址。单链表中结点类型描述如下typedef struct LNode{ ElemType data; s...

2020-03-14 18:19:26 1697

原创 快速幂详解

快速幂当时我学习快速幂时,也是很难得看懂。现在就来详细的讲解一下快速幂的原理求a^b的值,一般的求法就是把a乘b次,时间复杂度是O(b)。用快速幂的话就可以把时间复杂度降到O(logb)。下面就来讲解是怎么计算得。以一个例子作为讲解,求2^9的值。将b化为二进制形式9 = 10012^9 = 2^1001 = 2^1000 * 2^0000 * 2^0000 * 2^0001就可以...

2020-03-14 10:27:29 241

原创 线性表之顺序表(C语言实现)

线性表之顺序表顺序表定义线性表的顺序存储又称顺序表。它是用一组地址连续的存储单元依次存储线性表当中的数据元素。从而使得逻辑上相邻的两个元素在物理位置上也相邻。第1个元素存储在线性表的起始位置,第i个元素的存储位置后面紧接的存储的也就是第i+1个元素。因此,顺序表的特点是表中元素的逻辑顺序与其物理顺序相同其顺序存储结构如下数组下表顺序表内存地址0a1LOC(A)...

2020-03-13 22:12:18 1192

原创 swap函数讲解

交换两个值函数swap()刚开始学函数的时候就遇到过这个坑,突然想起就写一写,其实还是挺有趣的。先讲下这个函数坑的地方,上代码第一个坑#include<stdio.h>void swap(int a, int b){ int temp; temp = a; a = b; b = temp;}int main(){ int tes...

2020-03-13 20:55:36 2638 1

空空如也

空空如也

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

TA关注的人

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