自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据可视化分析案例:基于Python的2021中国品牌Top100强数据分析

文章目录爬取网站如何爬取代码运行结果爬虫运行结果(main)数据可视化运行结果(wmy)结果分析老师布置的期末作业,特来总结一下,希望对大家有帮助。爬取网站https://www.maigoo.com/news/593320.html(2021-05-20日在此网站发布2021中国品牌价值500强名单)本次数据分析只收取前100强名单。如何爬取通过使用request、BeautifulSoup库对网站发送请求。并在网站的开发者模式下观察html代码,并找到所需信息的在代码中的位置。解析时采用B

2021-07-23 20:39:35 1942 3

原创 JAVA+MYSQL 实现学生信息管理系统

文章目录系统要求实现流程代码系统要求设计一个学生管理系统,能够实现简单的学生管理功能。数据库包含两个表:①user:用户表,字段为(id,password),用于实现登录功能。②student:学生表,字段为(snum,sname,ssex,sbirth,sethnic,syear,shome,smajor,scollege)此系统功能包括:① 登录:根据用户表的 id 和 password 登录。先登录成功后才能对学生信息进行操作。(即登录成功后才可弹出学生管理系统界面)② 查询:根据学

2021-01-08 17:25:12 28573 119

原创 容斥原理 数论

文章目录原理证明例题原理S1、S2 、S3 分别代表下图三个圆1、2、3的面积如果我们想求下面图形构成的面积,该怎么求呢,很简单S = S1 ∪ S2 ∪ S3=S1 + S2 + S3-S1 ∩ S2 - S1 ∩ S3 - S2 ∩ S3+S1 ∩ S2 ∩ S3拓展一下,如果是4个圆的面积应该是S =S1 ∪ S2 ∪ S3 ∪ S 4 =S1 + S2 + S3 + S4-S1 ∩ S2 - S1 ∩ S3 - S1 ∩ S4 - S2 ∩ S3 - S2 ∩ S4 - S3

2020-05-25 18:24:50 1356

原创 二分图算法总结(染色法、匈牙利算法)

文章目录二分图算法框架染色法匈牙利算法二分图算法框架二分图: 所有的点可以分为两个集合V1、V2,图中任意一条边的两个顶点分别在不同的集合,即任意一个集合的内部不能有边。二分图中不含奇数环(奇数环: 边数为奇数的环)解释一下! 如下图:) 如果 A 放到 V1 集合,B 放到 V2 集合,那么 C 应该放到哪个集合呢,很明显,C 与 A、B 都有边,放哪个集合都不行!!!染色法...

2020-04-15 18:49:18 4017 3

原创 最短路算法总结(超详细~)

文章目录最短路算法框架朴素Dijkstra算法堆优化版Dijkstra算法最短路算法框架最短路有五种算法,分别适用不同的情况。单源最短路: 求一个点到其他点的最短路多源最短路: 求任意两个点的最短路稠密图用邻接矩阵存,稀疏图用邻接表存储。稠密图: m 和 n2 一个级别稀疏图: m 和 n 一个级别朴素Dijkstra算法Dijkstra算法是通过 n 次循环来确定 n 个点...

2020-04-11 23:09:44 34101 23

原创 队列的简单实现(循环队列、链队)

文章目录循环队列的简单实现链队的简单实现循环队列的简单实现#include<iostream>#define MAXQSIZE 100 #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2using names...

2020-02-07 13:23:26 355

原创 栈的简单实现(顺序栈、链栈)

文章目录顺序栈的简单实现链栈的简单实现顺序栈的简单实现#include<iostream>#define MAXSIZE 100 #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2using namespac...

2020-02-06 13:37:11 402

原创 线性表的简单实现(顺序表、单链表)

#include<iostream>#define MAXSIZE 100 #define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2using namespace std;typedef int Status;...

2020-02-06 09:11:35 418

原创 Intel HAXM is required to run this AVD解决方法

去Android studio里把HAXM先卸载,再安装即可!!!Apply后点击OK,再将HAXM对勾打上,再点击Apply下载即可。

2022-03-03 15:51:54 3900 1

原创 河南省第十三届ICPC程序设计竞赛部分题解

文章目录牛客重现赛:I-七便士J-甜甜圈L-手动计算牛客重现赛:https://ac.nowcoder.com/acm/contest/17148I-七便士思路:如果全部0相连就输出Yes,否则输出No。因为如果全部0相连,第2个0可以放个硬币然后移到第一个0上,第3个0可以放个硬币然后移到第2个0上…最后有7个硬币。dfs即可。#include<iostream>using namespace std;int n;string s;void dfs(int x){

2021-07-23 20:15:53 792 2

原创 JavaWeb_Junit、反射、注解

文章目录JunitJunit使用步骤:Junit @Before & @After反射反射概述获取Class对象的三种方式Class对象功能注解Junit测试分类:黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。白盒测试:需要写代码的。关注程序具体的执行流程。Junit使用:白盒测试步骤:定义一个测试类(测试用例)建议:测试类名:被测试的类名Test CalculatorTest包名:xxx.xxx.xx.test cn.itcast.t

2021-04-17 18:49:38 241 2

原创 AcWing 257. 关押罪犯(二分+二分图)

题目连接:https://www.acwing.com/problem/content/259/题意: 将所有点分成两组,使得各组内边的权值的最大值尽可能小。思路: 枚举最大边权x(0 <= x <= 1e9),判断能否将所有点分成两组,使得 >x 的边都在组间。转换为判断权值 >x 的点组成的图是否能组成二分图。在枚举 x 时,采用二分枚举,假定最大边权的最小值为 ans:当 x ∈(ans,1e9) ,所有 > x 的边可以构成二分图当 x ∈(0

2021-03-17 16:20:02 194

原创 Educational Codeforces Round 103 (Rated for Div. 2) B. Inflation(贪心)

题目大意:给你 n 个数,要求你对这 n 个数中的某些数 pi 增大 x,使得对于任意 p i p 1 +p 2 +...+p i−1 \frac {p~i~} {p~1~+p~2~+...+p~i-1~}p 1 +p 2 +...+p i−1 p i ​ ≤ k100\frac {k} {100}100k​,求所有 x 的和(最小的和)。思.

2021-02-01 16:50:16 206

原创 Educational Codeforces Round 103 (Rated for Div. 2) A. K-divisible Sum

题目大意:给两个数 n 和 k,构造一个有 n 个数的数组 a,使得 a 数组的总和 s 可以整除 k。求使 s 最小时最大的 ai。思路:①因为 s % k == 0,所以 s = c * k。(c 为正整数)②又因为需要构造的 a 数组均为正整,所以 s = c * k ≥ n。③所以,c ≥ ⌈nk\frac {n} {k}kn​⌉,若要使 s 最小,c = ⌈nk\frac {n} {k}kn​⌉ = ⌊n+k−1k\frac {n + k - 1} {k}kn+k−1​⌋。④易知最.

2021-02-01 14:07:21 260

原创 Educational Codeforces Round 102 (Rated for Div. 2) B. String LCM (字符串)

#include<iostream>using namespace std;int gcd(int a,int b){ return b ? gcd(b,a%b) : a;}string find(string a) //查找 a 的最小循环子串{ int len = a.size(); for(int i=1; i<=len; i++) { int flag = 0; for(int j=0; j<l.

2021-01-15 11:17:27 367

原创 2020河南省CCPC A、C、E、I题解

题目链接:2020年河南省CCPC大学生程序设计竞赛A、班委竞选#include<iostream>using namespace std;const int N = 55;int a[N][N];int n,m;int main(){ cin >> n >> m; int cnt = 1; while(n--) { int c,t; cin >> c >> t;

2021-01-10 15:41:18 1377 1

原创 hdu 2612 Find a way(双起点bfs)

Find a way#include<iostream>#include<queue>#include<cstring>using namespace std;typedef pair<int,int> PII;int dx[4] = {0,-1,0,1}, dy[4] = {-1,0,1,0};const int N = 205;char g[N][N];int d1[N][N],d2[N][N];int n,m;void b

2020-08-11 09:44:51 170

原创 最短路模型(bfs)

文章目录AcWing 1076. 迷宫问题AcWing 188. 武士风度的牛AcWing 1100. 抓住那头牛AcWing 1076. 迷宫问题在求最短路的时候需要存储某个点是由哪个点更新过来的。#include<iostream>#include<cstring>#define x first#define y secondusing namespace std;const int N = 1005;typedef pair<int,int&gt

2020-07-15 11:40:25 1091

原创 求连通块问题(flood fill、dfs)

文章目录AcWing 1097. 池塘计数AcWing 1098. 城堡问题AcWing 1106. 山峰和山谷AcWing 1097. 池塘计数#include<iostream>#include<queue>using namespace std;const int N = 1005;#define x first#define y secondtypedef pair<int,int> PII;char g[N][N];queue<PI

2020-07-15 11:01:17 252

原创 最小步数问题(BFS)

文章目录引入AcWing 845. 八数码AcWing 1107. 魔板引入最小步数问题也是通过bfs求最短路的问题。但之前我们遇到的bfs求最短路都是只有一张图,所有状态都在一个图内,例如走迷宫问题。BFS应用——走迷宫而最小步数问题的每个状态都分别对应一张图。那么怎样表示这些状态就是一个难点。通常我们会借用哈希表来表示状态。AcWing 845. 八数码补充一个小技巧:设元素x在一维数组的下标为index,二维数组的下标为(row,col),(ps:已知二维数组长度为n * m)一维

2020-07-13 20:00:43 1299

原创 数据库的创建、修改、删除

文章目录1、数据库的结构2、创建数据库①语法②例题例1例2例33、查看数据库信息4、修改数据库①语法②例题例1例2例35、删除数据库1、数据库的结构红色箭头表示,要想访问日志文件、次要文件必须通过主文件。2、创建数据库创建数据库是重点!①语法就目前学的内容,创建数据库时只需要关注橙色框内的即可。(下图中[ ]内的语句在创建时可有可无)< filespec > 代表文件属性,而[,…n]代表可以有多个文件,毕竟一个文件组内可以有多个文件。其中文件属性< filespec

2020-06-03 14:48:01 2469

原创 卡特兰数

文章目录题目解法卡特兰数推导代码题目给定 n 个 0 和 n 个 1,它们按照某种顺序拍成长度为 2n 的序列,求它们能排成的所有序列中,能够满足任意前缀序列 0 的个数都不少于 1 的个数的序列有多少个。答案对 109+7 取模。数据范围: 1≤n≤105解法(在下文叙述中,为了方便,满足题目要求的称为合法路径,不满足的称为不合法路径)将01序列转化到坐标系上:0 代表向右走一格1 代表向上走一格那么任意前缀序列 0 的个数都不少于 1 的个数的序列(合法路径),就可以转换为:路径上任

2020-05-23 16:05:05 284

原创 高斯消元解线性方程组

文章目录基础知识算法步骤举个例子模拟一下算法例题和代码基础知识高斯消元可以通过初等行列变化把 增广矩阵 转换成 阶梯型矩阵,进而求解 n 个线性方程组的解,其时间复杂为 O(n^3^)初等行列变换:(对一个方程组进行以下三个操作不会影响方程的解)把某一行乘一个非0的数(方程左右两边同乘)交换某两行的位置把某一行的若干倍加到另一行上例如线性方程组为:a11x1 + a12x2 + a13x3 + … + a1nxn = b1a21x1 + a22x2 + a23x3 + … + a2nx

2020-05-22 23:36:31 6110 1

原创 常见博弈论总结

文章目录巴什博弈斐波那契博弈尼姆博弈威佐夫博弈巴什博弈一堆个数为 n 的石子,两人轮流取石子,每次可拿 1 ~ m 颗,先取完者胜。分析:(1) 当 n ≤ m 时,先手可以一次拿完,先手赢(2) 当 n = m + 1 时,无论先手拿多少个,后手都能一次拿完,后手赢对上面两种情况拓展:(Ⅰ) 若 n % (m + 1) = 0,假如先手拿 k 个,后手都能拿 m + 1 - k 个, 使面对先手的格局永远都是 m + 1 的整数倍,直到最后为 m + 1,故后手赢(Ⅱ) 若 n % (m

2020-05-18 13:50:53 500

原创 贪心算法

文章目录区间选点区间分组区间覆盖最大不相交区间数量最优装载问题Huffman树区间选点AcWing 905. 区间选点#include<iostream>#include<algorithm>using namespace std;const int N = 1e5+10;struct Range{ int l, r; bool operator< (const Range &w)const { return r < w.r; //

2020-05-16 21:00:05 348 2

原创 扩展欧几里得算法

文章目录欧几里得算法扩展欧几里得算法扩展欧几里得算法求线性同余方程欧几里得算法也叫辗转相除法,用于求两个数的最大公约数int gcd(int a,int b){ return b ? gcd(b, a % b) : a; } b为 0 时,最大公约数就是a,0可以整除任何数不为 0 时,最大公约数就是gcd(b, a % b)扩展欧几里得算法AcWing 877. 扩展欧几里得算法扩展欧几里得算法用于求解方程 ax + by = gcd(a,b) 的解 x 和 y① 当

2020-05-11 12:22:13 219

原创 线性DP、区间DP、计数类DP

文章目录AcWing 898. 数字三角形AcWing 895. 最长上升子序列AcWing 897. 最长公共子序列AcWing 898. 数字三角形分析:f[i,j] 这个状态表示一个集合,是所有从起点走到(i,j)的路径,f[i,j] 存的值是这条路径的最大值。集合划分: f[i,j] 可以划分为两部分:① 来自 (i,j) 的左上方: f[i-1,j-1] + a[i][j]...

2020-05-04 20:12:36 405

原创 单调栈、单调队列

文章目录单调栈单调队列单调栈AcWing 830. 单调栈1、暴力做法:外层循环枚举每一个元素 x,内层循环找到这个 x 的左边第一个比它小的数。在求 x 的左边第一个比它小的数,是将 x 左边所有的数全部入栈,从栈顶开始找到第一个比它小的数,找到后停下来。2、在暴力做法下进行优化。我们发现,如果 a1 >= a2,那么当找 x 的左边第一个比它小的数时, 如果 i < j,...

2020-04-28 13:36:49 194

原创 背包问题总结

文章目录含义01背包完全背包多重背包分组背包含义这里有 N 个物品,每个物品的体积和价值分别为 vi、wi,我们有一个容量为 V 的背包,求这个背包能装的物品最大价值是多少。(装的所有物品总体积不能超过 V)四种最常见的背包问题:01背包 :每件物品最多只用一次完全背包 : 每件物品有无限个多重背包 : 每件物品最多有 Si 个分组背包 : 物品有 N 组,每一组里...

2020-04-27 14:55:29 313

原创 求组合数算法总结

文章目录组合数概念求组合数Ⅰ求组合数Ⅱ求组合数Ⅲ求组合数Ⅳ组合数概念C(a,b) = a!b!(a−b)!\frac{a!}{b!(a-b)!}b!(a−b)!a!​ = a∗(a−1)∗(a−2)∗....∗(a−b+1)b!\frac{a * (a-1)*(a-2)*....*(a-b+1)}{b!}b!a∗(a−1)∗(a−2)∗....∗(a−b+1)​ C(a,0) = 1意...

2020-04-18 22:29:46 1387

原创 最小生成树算法总结

文章目录最小生成树算法框架朴素版primkruskal最小生成树算法框架什么是最小生成树?一个图有 n 个结点,很多条边。最小生成树需要包含原图中的 n 个结点,并且有保持图连通的最少的边,且使这个树的权值达到最小。遇到稠密图就用朴素版prim,稀疏图就用kruskal即可,堆优化版的prim没有必要掌握。朴素版prim朴素版 prim 和 dijkstra 算法很像。dijks...

2020-04-14 15:55:02 826 1

原创 拓扑排序

拓扑排序:对一个有向无环图G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。排序规则:1、每个顶点只出现一次2、如果点...

2020-04-09 15:12:42 458

原创 DFS应用—全排列

AcWing 842. 排列数字给定一个整数n,将数字1~n排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数n。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1这道题也就是搜索 1~n 的一个全排列问题按...

2020-04-08 23:21:09 606

原创 哈希表(散列表)

文章目录基本概念例题拉链法求解开放寻址法求解基本概念哈希表也称散列表,通过将给定的关键值映射到表中的一个位置来访问记录,以加快查找的速度,时间复杂度为O(1)。比如,给定一个表m,给定一个关键值 x,那么 h(x) 就称为哈希函数,表m就称为哈希表,h(x) 就是 x 在哈希表m中存储的下标。那么 h(x) 怎么求呢,我们需要对 某个数 取余即可。举个例子:这一组数有N=6个,为{3、...

2020-04-06 22:26:59 525

原创 区间合并

区间合并,就是把有交集的两个集合进行合并,合并成更大的区间,即取两个区间的并集。步骤:1、对每个区间进行排序2、假设我们从前往后扫描到了第 i 个区间,那么第 i 个区间和当前维护的区间的关系有三种:① 第 i 个区间在当前维护的区间的内部② 第 i 个区间和当前维护的区间有交集,但不完全在维护的区间的内部③ 第 i 个区间和当前维护的区间没有交集补充: sort对pair排序时,...

2020-04-04 19:30:08 1549 2

原创 离散化

文章目录离散化概念、用途离散化的步骤部分代码例题离散化概念、用途用处: 有些数据本身很大, 自身无法作为数组的下标保存对应的属性,我们可以对这些数进行离散化处理。假如,有一组数{1、2、100、2000、10000、109},这组数有个特点,就是值域最大可以取到109甚至更大,但是这组数的个数很少,最多只有105左右。而有一些题,需要我们把这些数当作下标来做题,对于这么大的数,我们总不可能开...

2020-04-03 21:54:46 295

原创 快速幂 c++

快速幂就是快速算底数的n次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。来想想我们之前是怎么求一个数的 k 次幂的,比如220,是用一个for循环来实现的,我们要循环 20 次才能求出它,这个还看不出什么问题,可如果是求21e9,我们岂不是要循环1e9次,这个时间复杂度太高了,所以,我们需要通过快速幂来求。原理:我们这里以 211 为例,a11 = a...

2020-04-02 19:21:39 3350 1

原创 高精度乘高精度

C=A * B (A、B均是高精度数)比如A=156,B=3,求A * B很容易知道答案是468,怎样算的呢?① 首先让3 * 6 = 18,然后向进一位,并且这位只保留8② 让3 * 5 + 进位1 = 16,然后向前进一位,并且这位只保留6③ 让3 * 1 + 进位1 = 4,此时不向前进位,保留4所以最终答案是468通过这个例子我们再来分析发现,C0 = A0 * B0,C...

2020-04-01 22:25:27 1479 1

原创 欧拉函数 数论

在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1)。互质是公约数只有1的两个整数,叫做互质整数。函数内容:n 分解质因数后:n=p1a1 * p2a2 * p3a3 … pkak,(其中 pi 为质数)那么 φ(n) = n * (1 - 1/p1) * (1 - 1/p2) *… *(1 - 1/pk)函数证明:我们知道,1~n 个数中有 \f...

2020-03-30 22:39:32 806 1

原创 约数个数、约数之和、约数

文章目录试除法求一个数的所有约数求约数个数求约数之和欧几里得算法试除法求一个数的所有约数vector<int> get_divisors(int n) //求n的约数 { vector<int> res; for(int i=1; i<=n/i; i++) if(n%i == 0) { res.push_back(i); ...

2020-03-29 12:05:43 1001 2

空空如也

空空如也

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

TA关注的人

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