自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 拦截器学习(黑马程序员)

拦截器学习

2023-11-11 11:42:16 120

原创 java反射,注解,动态代理学习(黑马程序员)

return age;//特殊属性1.MyTest1注解本质上是接口,每一个注解接口都继承子Annotation接口2.MyTest1注解中的属性本质上是抽象方法3.@MyTest1实际上是作为MyTest接口的实现类对象4.@MyTest1(aaa=“孙悟空”,bbb=false,ccc={“Python”,“前端”,“Java”})里面的属性值,可以通过调用aaa()、bbb()、ccc()方法获取到。

2023-11-10 19:00:00 200

原创 SpringBoot案例学习(黑马程序员day10,day11)

1.idea 创建spring项目,选择springweb,mybatis framework ,sql drive框架3.添加application.properties配置4.添加数据库表格。

2023-11-08 20:33:15 137

原创 Mybatis学习(黑马程序员)

3.在创建出来的springboot工程中,在引导类所在包下,在创建一个包 mapper。2.在springboot项目中,可以编写application.properties文件,配置数据库连接信息。XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。动态的在SQL语句中插入set关键字,并会删掉额外的逗号。3.配置:XML映射文件的namespace属性为Mapper接口全限定名;1.创建XML映射文件:需要与接口同包同名放在resources目录下。

2023-11-05 13:33:47 140

原创 Mysql数据库的学习

数据库服务的启动数据库的链接use db02。

2023-11-03 13:27:22 42

原创 关于二叉树的先序遍历,后序遍历,先序遍历序列中的一个求另一个遍历序列,以及层次遍历

由先序和中序遍历求后序遍历:有递归是实现,不构建二叉树:#include<iostream>using namespace std;int a[100],b[100];void dfs(int l1,int r1,int l2,int r2){ int i; if(l1>r1) return ; for(i=l2;i<=r2;i++) { if(a[l1]==b[i]) break;

2022-01-21 18:13:34 607

原创 7-9 集合相似度 (25 分)

给定两个整数集合,它们的相似度定义为:Nc​/Nt​×100%。其中Nc​是两个集合都有的不相等整数的个数,Nt​是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式:输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤104),是集合中元素的个数;然后跟M个[0,109]区间内的整数。之后一行给出一个正整数K(≤2000),随后K行,每行对应一对需要计算相似度的集合的编号(集

2022-01-19 22:37:51 175

原创 D - 矩阵乘法

计算两个矩阵的乘法。n \times mn×m 阶的矩阵 AA 乘以 m \times km×k 阶的矩阵 BB 得到的矩阵 CC 是 n \times kn×k 阶的,且 C[i][j] = A[i][0] \times B[0][j] + A[i][1] \times B[1][j] + …… +A[i][m-1] \times B[m-1][j](C[i][j]C[i][j]=A[i][0]×B[0][j]+A[i][1]×B[1][j]+……+A[i][m−1]×B[m−1][j](C[i][j]

2022-01-18 14:44:22 462

原创 洛谷P2036 PERKET

题目:Perket 是一种流行的美食。为了做好 Perket,厨师必须谨慎选择食材,以在保持传统风味的同时尽可能获得最全面的味道。你有 nn 种可支配的配料。对于每一种配料,我们知道它们各自的酸度 ss 和苦度 bb。当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。众所周知,美食应该做到口感适中,所以我们希望选取配料,以使得酸度和苦度的绝对差最小。另外,我们必须添加至少一种配料,因为没有任何食物以水为配料的。输入格式第一行一个整数 nn,表示可供选用的食材种类

2022-01-14 16:12:12 348

转载 DFS搜索-- poj 1321 棋盘问题

题目:在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。Input:输入含有多组测试数据。每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n当为-1 -1时表示输入结束。随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, .

2022-01-14 14:49:10 80

原创 G - 基础数据结构——栈(1)

题目给你一串字符,不超过50个字符,可能包括括号、数字、字母、标点符号、空格,你的任务是检查这一串字符中的( ) ,[ ],{ }是否匹配。Input输入数据有多组,每组数据不超过100个字符并含有( ,) ,[, ],{, }一个或多个。处理到文件结束。Output如果匹配就输出“yes”,不匹配输出“no”Sample Input:sin(20+10){[}]Sample Output:yesno题解:若是输入 ‘{’,’[’,’(’,进入栈中,若是输入的’}‘,’)‘,’

2022-01-09 19:19:06 241

原创 蓝桥杯(C语言题目)题目 1094: 字符串的输入输出处理

题目 1094: 字符串的输入输出处理时间限制: 1Sec 内存限制: 128MB题目描述字符串的输入输出处理。输入第一行是一个正整数N,最大为100。之后是多行字符串(行数大于N), 每一行字符串可能含有空格,字符数不超过1000。输出先将输入中的前N行字符串(可能含有空格)原样输出,再将余下的字符串(不含有空格)以空格或回车分割依次按行输出。每行输出之间输出一个空行。样例输入2www.dotcpp.com DOTCPPA C MD O T CPP1234样例输出www

2021-12-11 13:55:05 142

原创 2012年b组蓝桥杯c题

#include<iostream>#include<set>#include<utility>using namespace std;typedef double ll;typedef pair<double,double> pdd;#define x first#define y second//const double N=900;pdd point[900];set<pdd>a;ll ans;int main().

2021-12-02 21:30:20 541

原创 洛谷 P1536 村村通

并查集模板题:ac代码:#include<iostream>using namespace std;int pre[1010];int find(int s){ if(pre[s]==s)return s; else return find(pre[s]);}int main(){ int x,y,i,j,n,m; while(cin>>n&&n) { //int pre[1010]; for(i=1;i<=n;i++)

2021-11-24 12:41:52 399

原创 c++如和输出\n

cout<<"\\n"<<endl;//输出\ncout<<"%d"<<endl;//输出%dcout<<'"'<<endl//输出“

2021-10-27 17:32:13 1245

原创 普通快速幂和矩阵快速幂

#include<iostream>#include<cstdlib>using namespace std;typedef long long ll;const ll mod=10000009;const maxx=1005;struct mat{ ll m[maxx][maxx];}ans,a;//普通快速幂ll powerr(ll a,ll b,ll mood){ ll ans=1; while(b) {

2021-10-25 22:22:10 62

原创 python的输入输出

输出:print()print(*objects, sep=' ', end='\n', file=sys.stdout)参数的具体含义如下:objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。sep – 用来间隔多个对象。end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。file – 要写入的文件对象。对于python来说“ "和‘ ’都可以表示字符串输出inputpython中输出用input()函数:, input() 函数是从键

2021-10-19 22:24:11 57

原创 python中存储数据的结构有哪些

分为4种结构:listtuplesetdict一:list声明:lists = [1,2,3,4,5]列表生成式:>>> lists = [x for x in range(10)]>>> lists[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]x for x in range(10) 相当于:lists = []for x in range(10): lists.append(x)python的特色:切片, 迭

2021-10-17 21:50:56 770

原创 二分查找和二分答案

二分查找对于离散点更新区间用• 设 mid = (l + r) / 2 若 f(mid) = y 则 return mid• 若 f(mid) < y 则 l = mid + 1, 否则 r = mid - 1而对于连续点更新区间不做加一减一的操作。二分答案处理最大值最小以及最小值最大的问题对于求最大值的最小值:,核心代码块:while(l<=r) { int mid = (l+r)>>1; if(c

2021-08-10 09:20:04 86

原创 关于浮点数如何判断相等以及精度的设置以及c++的输出浮点数

对于浮点数一般会存在误差要判断两个浮点数相等就可以判断在误差允许的范围内是否相等:对于浮点数a,b;若fabs(a,b)<1e6即可判断相等。

2021-08-09 11:32:09 281

原创 两个常见博弈论

巴什博弈int main(){ int n, m; // n 每次可以拿1-m个 不能拿的人输 scanf("%d%d", &n, &m); if (n % (m + 1) != 0) printf("first win"); else printf("second win");return 0;}尼姆博弈int f[maxn]; //n堆物品,两人轮流取,每次取某堆中不少于1个,最后取完者胜。int Ngame(int n){ int flag = 0; for

2021-08-06 16:38:07 87

原创 求出以质数p为模在1~p-1的所有乘法逆元

乘法逆元的概念若有a*x≡1(mod p),那么可以说a与b在模p意义下互为乘法逆元一个数有逆元的充分必要条件:gcd(a,p)=1;乘法逆元的性质:在模p的意义下,乘以一个数相当于除于他的逆元。比较高效 的算法:线性递推核心推导:inv[i]=-(p/i)*inv[p%i];使用时用p把负号换掉就行;#include<iostream>#include<cstring>#include<stdio.h>using namespace std;typ

2021-08-06 15:29:16 369

原创 两种素数筛的代码

埃氏筛,时间复杂度O(nloglogn);#include <iostream>#include<algorithm>#include<utility>#include<cstring>using namespace std;typedef long long ll;bool number[100];int n;void getprime(){ memset(number,true,sizeof(number)); for

2021-08-06 11:00:16 110

原创 有关并查集的知识点

并查集的概念并查集是一种树状结构,用于不相交集合的合并和查询,比如用于查看森林中有多少树,以及某个点是否位于同一颗树中。并查集的主要构成一个pre[]数组,join(x,y)函数,find(x)函数,以及init()函数。pre[]表明了前驱结点,join(x,y)用于x,y的合并,find(x)函数,查找x的代表元是谁;init()用于初始化。附上主要代码:const int N=1005 //指定并查集所能包含元素的个数(由题意决定)int pre[N]; //

2021-08-05 10:23:11 132

原创 关于memset初始化问题

头文件:#include<cstring>针对一个字节初始化:一般无穷大初始化为:menset(a,0x3f,sizeof(a));无穷小初始化:menset(a,0xaf,sizeof(a));

2021-08-03 18:10:33 77

原创 利用pair和vector存图

首先定义一个图:vector<pair<int,int>>m[100];如何存图:cin>>a>>b>>c;a,b为顶点,c为权值;m[a].push_back({b,c});m[b].push_back({a,c});理解几个概念:①m[i].size();//表示与i相邻的有多少顶点;②m[i][j]//第i-1行第列的pair;...

2021-08-03 17:31:33 100

原创 无穷INF如何设置

一般来说把INF设为0x3f3f3f3f理由;①0x3f3f3f3f为10的9次方量级,满足无穷大。②两个0x3f3f3f3f相加不会有溢出③可以进行无穷大数据的初始化memset(a,0x3f,sizeof(a))

2021-08-02 11:38:26 125

原创 关于STL里sorth和优先队列对结构体进行重载的问题

默认的sort和priority一般对数据进行排序的,不能对结构体进行排序,如果非要排序就要使用结构体的重载。结构体的重载形式:struct people {int age;int weight;bool friend operator<(people x){return weight<x.weight;//若<改为>则顺序改变。}}默认是大顶堆对于优先队列的定义:priority_queue<int,vector,greater>为大根堆;

2021-07-30 16:43:45 1322

原创 算法中的模拟

模拟算法是指根据题目的要求一步一步写出代码,一般使用较为简单的算法和数据结构的结合,但代码量较为大,细节较多,需要细心分析出所有情况。

2021-07-26 21:35:09 371

原创 单源最短路径问题--Dijkstra算法

适用条件图中没有负权边的最短路径问题主要思想通过迪杰斯特拉算法计算图G中的最短路径时,需要指定起点s。此外,需要引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的最短路径长度),而U则是记录还未求出最短路径的顶点(以及该顶点到起点s的距离)。初始时,S中只有起点s;U中是除s之外的顶点,并且U中顶点的路径是“起点s到该顶点的路径”。然后,从U中找到路径最短的顶点,并将其加入到S中;接着,更新U中的顶点和顶点对应的路径。然后,再从U中找到路径最短的顶点,并将其加入到S中;接着,更新U

2021-07-25 15:04:04 179

原创 单源最短路径---SPFA

算法简介SPFA(Shortest Path Faster Algorithm)算法是求单源最短路径的一种算法,它是Bellman-ford的队列优化,它是一种十分高效的最短路算法。很多时候,给定的图存在负权边,这时类似Dijkstra等算法便没有了用武之地,而Bellman-Ford算法的复杂度又过高,SPFA算法便派上用场了算法的基本思路我们用数组dis记录每个结点的最短路径估计值,用邻接表或邻接矩阵来存储图G。我们采取的方法是动态逼近法:设立一个先进先出的队列用来保存待优化的结点,优化时每次取

2021-07-25 14:30:17 129

原创 什么是字典序

一种排序方法:按照英文字母的顺序编排,如果首字母相同就比较第二个字母,依次类推。且大写字母在小写字母的后面,且abc在abcd的前面。

2021-07-22 14:55:41 439

原创 拓扑排序概念

概念在一个有向图中,对所有的节点进行排序,要求没有一个节点指向它前面的节点。先统计所有节点的入度,对于入度为0的节点就可以分离出来,然后把这个节点指向的节点的入度减一。一直做改操作,直到所有的节点都被分离出来。如果最后不存在入度为0的节点,那就说明有环,不存在拓扑排序,也就是很多题目的无解的情况。比较好理解的算法 //b[]为每个点的入度for(i=1;i<=n;i++){ for(j=1;j<=n;j++){ if(b[j]==0){ //找到一个入度为0的

2021-07-22 14:46:41 161

原创 广度优先遍历和深度优先遍历

广度优先遍历对于用邻接矩阵表示的图①邻接矩阵的构建:> /*一些量的定义*/queue`<char`> q; //定义一个队列,使用库函数queue#define MVNum 100 //表示最大顶点个数bool visited[MVNum]; //定义一个visited数组,记录已被访问的顶点/*邻接矩阵存储表示*/typedef struct AMGraph{ char vexs[MVNum]; //顶点表 in

2021-07-20 12:03:42 61

原创 stl里面的unique函数的用法

unique函数“删除”的是相邻的元素,一般先给数组排序,此处的删除是指把后面不重复的元素提前到重复元素的位置。有两个函数参数形如iterator unique(iterator it_1,iterator it_2);区间是前闭后开,即不包含it_2所指的元素),返回值是一个迭代器,它指向的是去重后容器中不重复序列的最后一个元素的下一个元素。...

2021-07-14 19:44:31 136

转载 STL内find的用法

1、algorithm中的函数其调用形式为find(start,end,value)start搜寻的起点,end搜寻的终点,要寻找的value值容器的表示方法find(a.begin(),a.end(),value)数组的表示方法find(a,a+length,val)所有的返回,均是迭代器(容器)或指针(数组),而非是直观感觉上的索引下标。如果在查找范围内不存在,返回a.end(),这里需要注意的是,a.end()不在查找范围内。我们可以进一步思考,为什么返回的不是索引下标?这是因为索引

2021-05-25 16:27:16 1118

原创 c++内的string函数库

转载于:https://blog.csdn.net/lsh_2013/article/details/46728993包含于头文件:#include<string>String类的构造函数如下:string s; //生成一个空字符串sstring s(str) //拷贝构造函数生成str的复制品string s(str,index) //将字符串str内“始于位置index”的部分当作字符串的初值string s(str,index, n) //将字符串str内

2021-05-24 19:45:00 818

转载 STL的set的用法

vector封装数组,list封装了链表,map和set封装了二叉树;set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序。应该注意的是set中数元素的值不能直接被改变①map和set的插入删除效率比用其他序列容器高②每次insert之后,以前保存的iterator不会失效不要使用过期的iteratorerator这里就相当于指向节点的指针,内存没有变,指向内存的指针不会失效③当数据元素增多时,se

2021-05-24 19:25:27 86

原创 STL中vector数组的具体用法

转载于csdn原文链接一、vector 的初始化:可以有五种方式①vector<type>a(10);定义10个元素的数组②vector<type>a(10,1)十个元素为1的数组;③vector a(b); //用b向量来创建a向量,整体复制性赋值④vector a(b.begin(),b.begin+3); //定义了a值为b中第0个到第2个(共3个)元素⑤int b[7]={1,2,3,4,5,9,8};vector<int> a(b,b+7);

2021-05-24 17:49:11 151

原创 优先队列,stl的pair容器,以及map的用法,以及stl中的迭代器

pair容器:转载于: csdn 原文链接类模板:template <class T1, class T2> struct pairpair<T1, T2> p1;功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。赋值:可用make-pair(data1,data2);pair实质上是一个结构体,其主要的两个成员变量是first和second,这两个变量可以直接使用。初

2021-05-22 11:22:29 634

空空如也

空空如也

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

TA关注的人

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