自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue学习

11

2023-02-19 22:41:12 346

原创 zip博客系统学习笔记

2。

2023-02-16 13:59:05 197

原创 三更博客系统 学习笔记

1。

2023-02-16 13:58:33 1064 1

原创 spring boot and php

1

2022-07-05 11:35:19 1190

原创 大数据课设(hbase和mapreduce)

hbase

2022-06-15 14:15:02 754

原创 线性代数的本质

线性相关:对当前空间的拓展有贡献。线性无关:对当前空间的拓展没有贡献。线性变换:1.直线依旧是直线2.原点保持固定矩阵里面包含了意思,存储了坐标系变换的信息

2022-05-15 18:29:46 311

原创 编译原理 浅学一下吧

名词解释词法分析语法分析中间代码产生优化目标代码产生RENFADFA终结符epsolunFIRST(A)题型RE->NFANFA确定化求FIRST集1234FOLLOW(A)名词解释词法分析识别出句子中的一个个单词语法分析分析句子的语法结构中间代码产生根据句子的含义进行初步翻译优化对译文进行修饰目标代码产生写出最后的译文REregular expression 正则表达式NFA不确定有限自动机DFA确定有限自动机终结符a,b,c非终结符ABCepsolun.

2022-05-09 22:31:43 559

原创 oracle 问题

1Q:检查的两个步骤Q:readyQ:服务命名Q:监听程序Q:概要文件1Q:检查的两个步骤1.检查数据库是否处于open状态 select status …2.检查监听是否启动,以及实例是否动态注册到监听 lsnrctl status 监听名称 默认监听,不需要加上名称Q:ready数据库实例向监听注册监听进程了解该实例及其处理程序当前状态。所以状态为READY不了解实例及其处理程序当前状态就是UNKNOWNQ:服务命名可以创建或修改tnsnames.ora文件(本地命.

2022-04-29 08:19:43 1552

原创 L2-038 病毒溯源 (25 分)

思路代码看懂别人的做法是一回事,自己会做又是另一回事。别人的做法再优雅,不是你的风格。对你也无用。只有你自己独立做出来的题目。用你自己总结出的体系去做出来的解法。充满你自己风格的解法。才是你真正的东西。思路1.先建好树2.正常dfs遍历3.你一开始设置maxdeep = 1最后又return maxdeep 其实你已经安顿好了你的叶子结点。嗯安顿好你的叶子结点是dfs中最重要的事情。4.因为你已经安顿好了,于是你调用自己求出这个子树的深度。5.如果儿子的深度 + 1大于最大的深度maxd.

2022-04-23 10:18:25 207

原创 L2-011 玩转二叉树(建树+BFS)

《非常简单的一道题目》就,如果你懂得关于树的知识,那么就确实就是很简单。题目都没有很难的,你觉得难是因为你的知识点不熟练。 建树层序遍历(用bfs)满分代码#include<bits/stdc++.h>using namespace std;const int N = 1e2+10;int in[N],pre[N],n;struct Node{ int l,r;}Tree[N];int build(int l1,int r1,int l2,int r2){//l1

2022-04-22 17:19:56 1641 1

原创 差分的算法

点点插入函数()一开始需要insert(i,i,a[i])还原b[i]+=b[i-1]#include <iostream>using namespace std;const int N = 100010;int n, m;int a[N], b[N];void insert(int l, int r, int c){ b[l] += c; b[r + 1] -= c;}int main(){ scanf("%d%d", &am.

2022-04-08 23:47:28 528

原创 快速幂算法

错误总结错误总结没思路先把res初始化好就来安排你这个b如果是奇数一行安排,就处理res就好了,如果是偶数就处理两个,一个是a 一个是b#include <iostream>#include <algorithm>using namespace std;typedef long long LL;LL qmi(int a, int b, int p){ LL res = 1 % p; while (b) { if .

2022-04-08 21:38:53 336

原创 蓝桥杯做题顺序

蓝桥杯的做题顺序应该是一个贪心的策略。每次都花最少的时间得到你会做的分数。先做填空前两道题目再做大题前两道题目再做大题后面所有题目的暴力再看下填空题会哪些题目做一下再研究大题你的暴力解法怎么优化...

2022-04-07 11:29:22 524

原创 分解质因数

for(int i=2;i*i<=x;i++)·最后最多剩下一个大于sqrt(x)的质因子,看一下有没有,如果有的话,那再加上就好了。就正常算质因子,算到一个了之后把这个的所有个数求出来。最后如果x>1最后还有一个的话,那就再输出这最后一个。#include <iostream>#include <algorithm>using namespace std;void divide(int x){ for (int i = 2; i * i &l

2022-04-07 11:26:30 258

原创 bfs 广度优先搜索

bfs问题,你的起点和终点是要自己找的啊啊啊啊bfs问题,如果是迷宫问题,那么你bfs函数的两个参数是pii start 和pii end是不错的选择,然后距离用dist[N][N]就是更不错的选择

2022-04-06 09:24:52 102

原创 最长上升子序列

要再注意一下你状态转换的条件,必须满足一定条件,你的状态才能够转换过去的。不要无脑转换,在乎一下你什么时候才能够转移过去。还是要多注意一下题目,按具体题目的意思来做。#include <iostream>#include <algorithm>using namespace std;const int N = 1010;int n;int a[N];int f[N];int main(){ cin >> n ; for (in.

2022-04-04 22:34:41 201

原创 动态规划 y式dp分析法

如果你的状态表示式子中出现了i-1这种东西的话。那你的下标就要从1开始了。

2022-04-03 22:27:22 446

原创 如果a,b均是正数且互质,那么由ax + by,x>=0,y>=0不能凑出的最大数的a*b - a - b

如果a,b均是正数且互质,那么由ax + by,x>=0,y>=0不能凑出的最大数的a*b - a - b你已经是个成熟的大学生了,直接背结论吧

2022-04-03 20:33:01 571

原创 floyd算法

初始化: for (int i = 1; i <= n; i ++ ) for (int j = 1; j <= n; j ++ ) if (i == j) d[i][j] = 0; else d[i][j] = INF;// 算法结束后,d[a][b]表示a到b的最短距离void floyd(){ for (int k = 1; k <= n; k ++ ) for (int i =

2022-04-02 22:10:40 356

原创 用邻接表dfs和bfs图

dfsbfs树是一种特殊的图,与图的存储方式相同。 对于无向图中的边ab,存储两条有向边a->b, b->a。 因此我们可以只考虑有向图的存储。(1) 邻接矩阵:g[a][b] 存储边a->b(2) 邻接表:// 对于每个点k,开一个单链表,存储k所有可以走到的点。h[k]存储这个单链表的头结点int h[N], e[N], ne[N], idx;// 添加一条边a->bvoid add(int a, int b){ e[idx] = b, ne[id.

2022-04-02 21:27:58 806

原创 求树的高度和深度

就你dfs的顺序还有维护的东西这两个东西你需要再次理解清楚一下。dfs就是dfs,一定要清楚dfs执行的顺序。深度就是父亲的深度+1这没什么好说的。但是高度。是所有儿子结点的最大高度+1。这个点其实是有点像dp的,从最小的一层开始。一直往上运算。#include<bits/stdc++.h>using namespace std;const int N = 1e5+10;vector<int> v[N];int n;int shen[N];int gao[N

2022-04-01 22:19:44 339

原创 蓝桥杯 对于日期的问题

一个年份满足以下条件之一则是闰年:1、该年份能被4整除,但不能被100整除;2、该年份能被400整除;给你一个日期,知道这一天是星期几,然后再给你一个日期,问你这一天又是星期几。关键步骤就是那个mon数组啊,你就设置成int mon[2][13] = {0,31,28,31,30,31,30,31,31,30,31,30,31,0,31,29,31,30,31,30,31,31,30,31,30,31};然后问题就迎刃而解了。已知1900年1月1日是星期一#include&lt.

2022-04-01 16:51:24 523

原创 最长公共子串 暴力

#include<bits/stdc++.h>using namespace std;int tn;int t;string a,b;int main(){ cin>>t; getchar(); while(t--){ cin>>a>>b; string t; string ts,ta; tn = 0; for(int k=1;k<=a

2022-04-01 16:29:57 411

原创 第八章 二重积分

二重积分的性质二重积分的计算方法1.直角坐标法2.极坐标法二重积分的性质椭圆的面积公式:S=π×a×b其中a、b分别是椭圆的长半轴,短半轴的长二重积分的计算方法1.直角坐标法在这种情况下第一种方法和第二种方法的运算量差别不大空在那两个D1,D2上面但是用x或者用y不一定都能做出来题目这三种的定积分算不了转化积分次序,画图,很重要这个运算,对y积分,x是常数,弄到前面去。2.极坐标法法一:运用一次对称性方法二:运用两次对称性...

2022-03-28 22:29:54 8463 1

原创 L1 - 8 饱了吗公司 (20 分) dfs 或者 并查集

就是你考试的时候把并查集代码背错了导致你被迫去写了这个代码,但是也是好事,你现在对于dfs的理解可谓是真正地加深了许多。思路每个点,进一个点就res++。然后把所有邻接的点都加进来,所以最后res是几就代表有几块。遍历图就是很重要的一点就是,再每次dfs之前需要去判断一下的。如果是没走过这个点你才去走,要不然因为是无向图,会导致不断你进我,我进你,一直走不出去的情况。#include<bits/stdc++.h>using namespace std;const int N =

2022-03-26 16:46:47 573

原创 L2-2-链表 重排链表 (25 分)

这个思路是真的好,比别人的思路都好太多了,用一个l索引和r索引,一个arr1数组和arr2数组,巧妙地化解了这个问题。#include <iostream>using namespace std;typedef struct Node{ int a; int nt;}Node;int main(){ Node p[100001]; int ad,n,address,m,next,cnt,l,r,x; int arr1[100001

2022-03-23 11:02:42 980

原创 L2-3-深度优先搜索 图着色问题 (25 分)

图的遍历用二维vector邻接表存图,所谓邻接就是把相邻的点存到以这个序号为下标的vector里面然后要记得,你题目这边都给出来了,就是说你的结点的编号是从1到v的,所以你遍历的时候第一层就用1到v就好了。要记得你循环跳出的条件#include<bits/stdc++.h>using namespace std;int v,e,k;const int N = 510;int color[N];vector<int> g[N];bool check(){

2022-03-22 22:35:20 302

原创 L1-3-嵌套循环 / if-else 阅览室 (20 分)

时隔多年,也是终于纯纯靠自己写出来了,这种感觉确实是比当初背代码的感觉要好一些。哎,还是得要纯纯地靠自己思考下刷题才是有效的啊。#include<bits/stdc++.h>using namespace std;const int N = 1e3+10;struct shu{ int time; int st; }shus[N];struct day{ int cnt; int total; int pj;}days[20];

2022-03-22 21:35:00 142

原创 L1-6-while和do-while 整除光棍 (20 分)

就是纯纯模拟竖式除法的一道题目#include<bits/stdc++.h>using namespace std;int main(){ long long n; cin>>n; int res = 1; int cnt = 0; while(res<n){ res = res * 10+1; cnt++; } while(1){ if(res%n =

2022-03-22 20:21:25 317

原创 树状数组(可以修改的前缀和)

前缀和呢,其实也是完全可以看成是可以求一段区间很好求的东西。其中有且只有3个很简单的函数lowbit函数,求x的二进制表达式中最低位的的1所对应的值x&(-x)add函数,参数有2个,x,v表示第x个数加上v循环,从这个数到最后一个数,tr[i] += v注意,add函数的循环和query函数的循环每一步的幅度都是lowbit(i)query函数,参数就1个x,表示前x个数相加的和循环,i = x到i(i>0)变小的循环,res += tr[i]#include <c

2022-03-22 15:11:37 230

原创 L1-8 字符串拆分 (20 分) dfs 对于判断结构的bool型dfs

就对于这种dfs:flag = flag||dfs(...)是一个很好用很常见的结构需要注意剪枝,如果说不会大于long long 那么大于1e11就可以返回false了复现遇到的问题:1.你的len忘记初始化了,忘记每次都给它初始化了。#include<bits/stdc++.h>using namespace std;typedef long long ll;int len;bool dfs(string s, ll pre, ll cur, int i..

2022-03-20 21:07:31 1011

原创 不能交换相邻的两个

这个限制呢,只能限制个数为1,2,3的情况1,2原封输出3的话就2不变,13交换顺序就好了。(可以使用给2一个很大的权重这种方法,然后排序,之后按照2,1,3的顺序输出就好了(因为你2的权重很大,所以你2会在第一个位置,然后你给它放到第二个输出就好了))然后对于个数大于等于4的话,这个限制就毫无影响如果只有一个人,直接输出就可如果只有两个人,两个人无法交换,直接输出就可如果只有三个人,第二的人的位置无法变动,对第一第二个人进行排序,保持第二个人不动即可如果是四个人即以上可以证明这个限制没有影

2022-03-19 21:27:40 127

原创 第七章 微分方程

第一节 微分方程的基本概念第一节 微分方程的基本概念听了汤讲的稍微理解一下就行了,日后不断anki熟悉吧

2022-03-16 22:25:48 2683

原创 第六章 多元函数微分学

第一节 基本概念1.极限2.连续3.偏导数4.可全微第二节 多元函数基本理论有界闭区域上连续的多元函数的性质连续,可偏导,可微的关系求偏导的类型显函数求偏导复合函数求偏导隐函数存在定理及隐函数或隐函数组求偏导常见类型多元函数微分学的应用(代数应用)无条件极值二元函数极值的定义二元函数求无条件极值的步骤条件极值拉格朗日乘数法第一节 基本概念1.极限就你找两个情况,如果这两个情况的极限不相等,那就说明极限不存在2.连续3.偏导数你能保证左右光滑,上下光滑,但是你告诉我,一个二元函数向.

2022-03-16 22:02:36 5609

原创 501B - Misha and Changing Handles

只能说这题体现了map的能力很强大#include<bits/stdc++.h>using namespace std;const int N = 1010;int main(){ map<string,string> m; int n; cin>>n; string a,b; while(n--){ cin>>a>>b; if(m.count(a)==0){ m[a] = a; } m[b] =

2022-03-13 19:01:04 246

原创 L2-4-深度优先搜索 功夫传人 (25 分)

感动啊,时隔多年,我终于会dfs了!!这道题当初背代码背得很难受,当初觉得真的是很难的一道题目,一直背代码,改代码,始终不得要领。现在终于会做了,知道这道题目的每一个注意点是什么了,我都很清楚,也算是真正理解并且熟练运用了dfs你会发现一道题目,其实写的东西,代码量并不多,你读入数据就会占据很大一部分代码量,其实你自己写的不多dfs呢,你进形参的东西的其实就是你需要带进这个旅途的东西,就是会根据你的每一层会不断变化的东西。然后你放进形参中托管。如果一个东西它不会随着你每一层的进进出出而变化,那么你就

2022-03-13 16:01:38 850

原创 素数筛法(线性和埃式)

埃式筛法:每个数字筛的时候都把它的倍数都筛掉const int N= 1000010;int primes[N], cnt;bool st[N];void get_primes(int n){ for (int i = 2; i <= n; i ++ ) { if (st[i]) continue; primes[cnt ++ ] = i; for (int j = i + i; j <= n; j += i)

2022-03-12 21:54:19 233

原创 c++分割字符串(空格)

vector<string> split(string str) { int size = str.size(); vector<string> ret; int jl = 0; for (int i = 0; i < size; i++) { if (str[i] == ' ') { ret.push_back(str.substr(jl, i - jl)); jl = i+1; } } ret.push_bac

2022-03-12 17:22:22 5745 2

原创 codeforces 115A

就是你树的深度再加上森林,所谓森林和一棵树的差别就在于,森林你就存一下每一个根节点,然后每一个根节点你去跑一下一棵树就行了。就是你一个不会的知识点你只需要刷三道题,三道题里面只要其中一道题是你能做出来的,那么你就能够拥有极大的自信心,就感觉你会了,就不会再去害怕了。#include<bits/stdc++.h>using namespace std;const int N = 2e3+10;vector<int> g[N];vector<int> roo

2022-03-11 20:36:43 287

原创 codeforces 1598 A

做这题的时候是真的感觉到自己被耍了。原本想要练习一下dfs来到了codeforces寻找dfs的题目,然后发现了这题看起来很简单,就是以前做过的迷宫,然后直接dfs就开始做了。最终写了一大堆东西写出了这个dfs,超时掉了。然后我也不知道这个是错的还是对的,可能是对的吧,写得这么工整。哎,虽然思路错掉了但是这也算是我第一次思路清晰地写出来dfs。#include<bits/stdc++.h>using namespace std;int dx[8] = {-1,-1,0,1,1,1,0

2022-03-11 16:46:01 125

空空如也

空空如也

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

TA关注的人

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