自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线性表(cpp)

浅学一下vector.

2022-10-13 15:41:59 206 1

原创 关于KMP学了好几次还没记住这件事

去年2月份就学了kmp,3月份在学ac自动机的时候就忘了又去复习了下,现在在学数据结构,发现又忘了....我发现很多人都很容易忘掉这个算法,所以来写篇博客记录一下...

2022-09-30 01:56:26 693

原创 使用 Gitee + PicGo + Typora 搭建图床

图床搭建过程简单,该博客只是为了记录并测试刚搭建好的图床.一.Gitee1.新建仓库填写好下图红框所示,并且选择开源创建完后会跳转到仓库,记住这个网址,等下会在PicGo中用到2.获取takon私人令牌打开设置点击私人令牌,生成新令牌填写令牌描述并勾选权限输入自己密码然后复制私人令牌到记事本,一定不要弄丢,不然后面找不到二.PicGo1.下载picgopicgo下载地址:https://github.com/Molunerfinn/picgo/releases下载

2022-03-12 21:57:55 572

原创 MySql库和表的管理

DDL语言– 数据定义语言– 库和表的管理一:库的管理:创建,修改,删除– 创建 create– 修改 alter– 删除 drop1.库的创建:– 语法:– create database 库名;案例:CREATE DATABASE books;CREATE DATABASE IF NOT EXISTS books;2.库的修改:– 无法更改库的名字– rename database 旧库名 to新库名(现在已经不支持,存在风险)– 可以更改库的字符集ALTER DAT

2021-11-01 17:26:48 108

原创 MySql列的插入,修改和删除

DML语言– 数据操作语言– 插入:insert– 修改:update– 删除:delete一:插入语句方式1:– 语法:– insert into 表名(列名,…) values(值1,…)案例1:简单使用INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id)VALUES(20,'张三','女','1922-2-12','21232132',NULL,21);SELECT * FROM beauty;

2021-11-01 17:22:04 206

原创 MySql常见函数

常见函数select 函数 [from table]分类:一:单行函数:concat,length,ifnull等1.字符函数:length:获取字节长度SELECT LENGTH('length');SELECT LENGTH('长度');SELECT LENGTH('1');SHOW VARIABLES LIKE '%char%';#### 汉字utf-8占3个长字节,jdk占2个字节;concat:拼接字符串SELECT CONCAT(last_name,'_',first_n

2021-10-30 23:28:49 120

原创 巧虎机器人——颜色识别编程模式1

题目链接:3066. 巧虎机器人——颜色识别编程模式1(有人连比赛完题目在哪都不知道?)题目大意:地图上有个机器人,让你判断能不能从给定的起始地点(si,sj)走到目标地点(di,dj);机器人在地图上往哪边走与其所在方块的颜色有关,地图上有4种颜色r,b,g和y,你不知道每种颜色代表向上.向下,向左还是向右.你需要通过枚举找到一种方案使得机器人从起始地点走到目标地点.如果都不能输出no,否则输出yes;(有人连题目都没读懂)思路:4种颜色r b g y和 4个方向一共有4!种方案,因为第

2021-06-20 14:15:40 796 1

原创 牛客小白月赛34部分题解

A.dd爱科学1.0思路:最长上升(非严格)子序列,DP做法复杂度O(n*26),因为值域只是’A’~'Z’所以速度比贪心快;f[i]表示以s[i]结尾最长的上升序列;last[k]表示上个s[i]==(k+‘A’)的i位置;code:DP#include<bits/stdc++.h>using namespace std;int n;string s;int f[1000010];string t;int last[28];int main(){ cin&g

2021-05-31 23:32:47 381 1

原创 3776. 整数集合的并集(不用vector的做法)

3776. 整数集合的并集【问题描述】给定n个整数集合Si = { x | xÎZ, ai≤x≤bi },Z为整数集合,ai, bi为整数且ai≤bi,求|∪Si|,即这n个集合的并集中的元素个数。【输入形式】第一行为正整数n,2≤n≤100,接下来有n行,每行为两个整数ai, bi。【输出形式】输出一行,为求得的答案。【样例输入】41 22 53 89 12【样例输出】12思路:先排序,然后区间对比就可以了看注解#include<bits/stdc++

2021-05-20 21:28:12 430 1

原创 Contest 2050 and Codeforces Round #718 (Div. 1 + Div. 2) D. Explorer Space最短路 floyd变种

题目链接D. Explorer Spacetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are wandering in the explorer space of the 2050 Conference.The explorer space can be viewed as an undirected weighted grid

2021-04-24 21:10:16 195

原创 小 Q 与异或DP

链接:https://ac.nowcoder.com/acm/contest/11171/B来源:牛客网小 Q 与异或输入10 101 2 3 4 5 6 7 8 9 101 21 31 52 62 82 103 78 106 91 7输出3377151573157思路:区间结果由区间内两个数决定的DP模板;从小区间枚举到大区间,代码#include<bits/stdc++.h>using namespace std;con

2021-04-24 16:45:11 135

原创 Codeforces Round #715 (Div. 2)题解(等待补题中)

这里写目录标题A. Average Height(签到)思路:代码B. TMT Document(贪心)思路代码C. The Sports Festival(区间DP)思路代码A. Average Height(签到)思路:让相邻2个数相加除2为整数最多,只需要让奇数在一堆,偶数在一堆;我做的时候排序了;其实可以分奇数偶数直接输出代码#include<bits/stdc++.h>using namespace std;typedef long long ll;#define

2021-04-17 02:38:00 199

原创 Codeforces Round #712 (Div. 2)

这里写目录标题题目链接A. Déjà Vu思路1代码1思路2代码2题目链接A. Déjà Vu思路1当字符串里面存在a以外的字母,肯定可以构造一个非回文字符串,在将要插入的位置的对称位置看看是不是a,不是a就插入,就可以构造一个非回文字符串.代码1#include<bits/stdc++.h>using namespace std;void solve(){ string s; cin>>s; for(int i=0;i<s.size(

2021-04-05 00:54:44 216

原创 牛客练习赛79

牛客练习赛79题目链接A.炼金术师思路:代码B.刀工对决思路代码题目链接A.炼金术师思路:单调栈,题意求布有多少颜色.如果输入3 3 1 2 ,答案是2 因为第3次2会把1覆盖掉;所以每次输入1个数就看前面有没有比他小的数,有就去掉,显然是个单调栈问题.代码#include<bits/stdc++.h>using namespace std;stack<int>stk;int main(){ int n; cin>>n;

2021-03-27 14:13:08 88

原创 Codeforces Round #710 (Div. 3)

Codeforces Round #710 Div. 3A. Strange Table代码B. Partial Replacement思路:代码A. Strange Table题目链接代码#include<bits/stdc++.h>using namespace std;const int N=1e5+10;int T;int a[N];#define int long long// typedef long long ll;signed main(){ i

2021-03-26 15:41:23 165

原创 2020计算机类面向过程编程复习题题解

目录1. 窗口点击模拟a思路:代码2. 逆序乘积式思路:代码:3. 链表操作我的做法:4. 循环右移思路:位运算知识:代码:优化:lowbit函数:返回二进制下最右边1的十进制数;代码5. C程序花括号嵌套层次统计(新)思路:代码:6. 判断两个字符集是否相同思路:代码1. 窗口点击模拟a【问题描述】在计算机屏幕上,有N 个窗口。窗口的边界上的点也属于该窗口。窗口之间有层次的区别,在多于一个窗口重叠的区域里,只会显示位于顶层的窗口里的内容。当你用鼠标点击屏幕上一个点的时候,若其在窗口内,你就选择了处于

2021-03-22 23:13:48 2150

原创 循环右移

循环右移【问题描述】假设有一16位的无符号整数,可以对其二进制数据进行循环右移操作,右移后仍然是无符号整数。编写程序从控制台读入要右移的整数和循环右移的位数,求得并输出循环右移后的十进制数据。【输入形式】从控制台输入要右移的十进制整数(大于等于0,小于等于65535)和循环右移的位数(大于等于0,小于等于16),两整数之间用一个空格分隔。【输出形式】向控制台输出循环右移后的十进制整数。【输入样例1】65532 2【输出样例1】16383【样例1说明】输入的待右移的整数为655.

2021-03-10 18:14:18 8023 1

原创 vector的erase函数

#include<bits/stdc++.h>using namespace std;vector<int >a;int main(){ for(int i=1;i<10;i++)a.push_back(i); for(auto t:a) { cout<<t<<" "; } cout<<endl; a.erase(a.begin()+1,a.begin()+4);//左闭右开 for(auto t:a) { c

2021-03-07 20:02:25 1734

原创 92. 递归实现指数型枚举来源:《算法竞赛进阶指南》

查看来源点这里开个vis数组判断123到底选不选一开始全都不选vis全为0如果进入第一个dfs表示u不选进入第二个dfs表示u选先上代码再上图#include<bits/stdc++.h>using namespace std;int n;const int N=17;bool vis[N];void dfs(int u){ if(u>n){ for(int i=1;i<=n;i++)if(vis[i])printf("%d ",i)

2021-01-12 00:42:26 112

原创 蓝桥杯算法训练最大的算式DFS

试题 算法训练 最大的算式资源限制时间限制:1.0s 内存限制:256.0MB问题描述  题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如:  N=5,K=2,5个数字分别为1、2、3、4、5,可以加成:  12(3+4+5)=24  1*(2+3)(4+5)=45  (12+3)*(4+5)=45  ……输入格式  输入文件共有二行,

2020-12-26 23:54:17 179

原创 P1605 迷宫DFS优化

题目来源洛谷点这里题目背景给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。题目描述无输入格式第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。输出格式给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。输入输出样

2020-12-17 12:38:59 163

原创 C++N位质数(欧拉筛)

第五次实验 - 副本编程题7. N位质数【问题描述】给定一个整数N(2 <= N <= 8),生成所有的具有下列特性的特殊的N位质数,即其前任意位都是质数。例如,7331即是这样一个4位的质数,因为7、73和733也都是质数。【输入形式】输入一个整数N(2 <= N <= 8)。【输出形式】输出有若干行,每行有一个整数,该整数有N位,而且其前任意位都是质数。并且:1.要求输出所有符合题意的质数。2.从小到大按顺序输出,且所有行上的数字不得重复。【样例输入】2【样例输

2020-12-15 18:27:13 1961 3

原创 C++高精度减法

超长正整数的减法【问题描述】编写程序实现两个超长正整数(每个最长80位数字)的减法运算。【输入形式】从键盘读入两个整数,要考虑输入高位可能为0的情况(如00083)。第一行是超长正整数A;第二行是超长正整数B;【输出形式】输出只有一行,是长整数A减去长整数B的运算结果,从高到低依次输出各位数字。要求:若结果为0,则只输出一个0;否则输出的结果的最高位不能为0,并且各位数字紧密输出。【输入样例】234098134098703578230056【输出样例】-1340987035.

2020-12-15 00:51:59 663

原创 最长上升子序列(DP)

第五次实验 - 副本编程题2. 最长升序子串(选做,不计分)【问题描述】输入一行字符串,该字符串只由小写英文字母a-z组成,且其中的字符可以重复,最长不超过10000个字符。从该字符串中按顺序挑选出若干字符(不一定相邻)组成一个新串,称为“子串”。如果子串中每两个相邻的字符或者相等,或者后一个比前一个大,则称为“升序子串”。编程求出输入字符串的最长升序子串的长度。例如,由输入字符串abdbch可以构成的升序子串有:abd、abch、bbch、abbch等。其中最长的升序子串是abbch,其长度为5

2020-12-14 23:08:41 376

原创 C++P1803 凌乱的yyy / 线段覆盖贪心(DP)

题目来源!!有大佬用DP做的我用的贪心等以后学了DP再来补刀#include<bits/stdc++.h>using namespace std;//typedef int long long;int n,ct,End;struct node{ int begin; int end;}a[100010];bool cmp(node x1,node x2){ return x1.end<x2.end; }main(){ scanf("%d",&n)

2020-12-14 19:01:18 249

原创 C++P1303 A*B Problem高精度乘法

题目来源估计没有人比我更菜了吧呜呜呜#include<bits/stdc++.h>using namespace std;char a1[1000001],b1[1000001];int a[1000001],b[1000001],c[1000001];int i,j;int main(){ scanf("%s%s",a1,b1); a[0]=(int)strlen(a1); b[0]=(int)strlen(b1); for(i=1;i<=a[0];i++)a[i]

2020-12-14 01:27:35 177

原创 P1601 A+B Problem高精度加法

题目来源!!!写了3遍了还是不会高精度加法#include<bits/stdc++.h>using namespace std;int a[1000001],b[1000001],c[1000001];char s[1000001],ss[1000001];bool x=false;int i,j;int main(){ scanf("%s%s",s,ss); a[0]=(int)strlen(s); b[0]=(int)strlen(ss); for(i=1;i&l

2020-12-14 00:35:41 111

原创 P5736 【深基7.例2】质数筛

****题目来源点这里从零开始学…#include<bits/stdc++.h>int prime[100001]={1,1};//0表示为素数int n;int a[100];int main(){ for(int i=2;i<100001;i++){ if(!prime[i]){ for(int j=i+i;j<100001;j+=i){ prime[j]=1; } } } scanf("%d",&n); for(int

2020-12-13 23:47:01 175

原创 C++洛谷P1036 选数DFS

题目来源已知 nn 个整数 x_1,x_2,…,x_nx1​ ,x2​ ,…,xn​ ,以及11个整数kk(k<nk<n)。从nn个整数中任选kk个整数相加,可分别得到一系列的和。例如当n=4,k=3n=4,k=3,44个整数分别为3,7,12,193,7,12,19时,可得全部的组合与它们的和为:3+7+12=223+7+12=223+7+19=293+7+19=297+12+19=387+12+19=383+12+19=343+12+19=34。现在,要求你计算

2020-12-13 02:39:11 595

原创 数组实现多项式相乘

多项式相乘【问题描述】编写一个程序实现两个一元多项式相乘。【输入形式】首先输入第一个多项式中系数不为0的项的系数和指数,以一个空格分隔。且该多项式中各项的系数均为0或正整数,系数和最高幂次不会超过int类型的表示范围。对于多项式 anxn +a n-1 x n-1 + … + a1x1 + a0x0 的输入方法如下:an n a n-1 n-1 … a1 1 a0 0即相邻两个整数分别表示表达式中一项的系数和指数。在输入中只出现系数不为0的项。最后一项的指数后没有空格,只有一个.

2020-12-11 20:25:30 1293 2

原创 动态规划经典例题数字三角形空间优化

点这里–>题目来源洛谷题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 44 5 2 6 5在上面的样例中,从 7 \to 3 \to 8 \to 7 \to 57→3→8→7→5 的路径产生了最大输入格式第一个行一个正整数 rr ,表示行的数目。后面每行为这个数字金字塔特定行包含的整数。输

2020-12-08 21:56:32 198

原创 3069. 网红重庆1最短路径问题SPFA queue 链表

网红重庆1【问题描述】网红城市——重庆,堪称一座8D的魔幻大都市,明明(不要问我明明是谁?)在一楼上的电梯,到了11楼出电梯又是一楼。假设重庆有N个地点,给出各个地点的海拔高度,各个地点之间可能有双向的路径连接,或者单向的路径连接。有一个外地人来重庆,要从地点C到D,但他对爬坡下坎很不习惯,请帮他在从C到D所有路径中,找一条海拔变化(海拔降低或升高都视为正的值)最小的路径,即组成路径的各条直接路径海拔变化的总和最小。【输入形式】输入文件包含多个测试数据。每个测试数据第1行是两个整数N和M,N表.

2020-12-06 21:42:28 315

原创 C++冒泡排序巧解循环移位

循环移位【问题描述】输入整数n,生成一个一维数组,并对该数组进行循环移位输出。【输入形式】输入一个整数,范围1-9【输出形式】输出一个矩阵。矩阵中同一行中的数据与数据之间只有一个空格【样例输入】5【样例输出】0 1 2 3 44 0 1 2 33 4 0 1 22 3 4 0 11 2 3 4 0#include<bits/stdc++.h>using namespace std;void print(int a[],int n){ for(int i=0.

2020-12-05 01:50:35 717

原创 C++12. 魔方阵

魔方阵【问题描述】输入一个自然数N(1<=N<=9),要求输出如下的魔方阵,即边长为2*N-1,N在中心出现一次,其余位置上的数字从外向中心逐渐增大。N=3时:1111112221123211222111111N=4时:1111111122222112333211234321123332112222211111111【输入形式】从标准输入读取一个整数N。【输出形式】向标准输出打印结果。输出符合要求的方阵,每个数字占一个字符宽度,在每一行末均输出一个回车符。【.

2020-12-05 01:47:52 2322 10

原创 C++13. 最长公共子串

最长公共子串【问题描述】编写一个程序,对输入的字符串s和t,求其最长的公共子字符串。【输入形式】从屏幕分行读入串s和t。s和t由任意字符构成,长度都不超50个字符。输入数据确保只有唯一的最长公共子串。如果没有公共子串,打印No Answer【输出形式】在单独行上输出串s和串t的最长公共子串,在结尾输出一个回车符。算法提示:用一个int型的计数器记录当前匹配长度,用一个字符数组记录当前匹配子串,如果存在更长子串,则进行相应替换。【样例说明】假设从屏幕输入以下内容:aabcdababce.

2020-12-04 21:29:06 1089

原创 C++15. 求两组整数集的“或”集

求两组整数集的“或”集(cexam3b.c)【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,每个整数只出现一次(重复整数只保留一个),并从小到大排序输出(即两组整数集“或”)。【输入形式】首先输入第一组整数的个数,再输入第一组整数,整数间以空格分隔;然后输入第二组整数的个数,再输入第二组整数,整数间以空格分隔。【输出形式】按从小到大顺序排序输出合并后的整数,并不含重复整数。【样例输入】85 1 4 3 8 7 9 645 2 8 10【样.

2020-12-04 21:23:33 2345 2

原创 C++消除游戏

消除游戏【问题描述】消除类游戏是深受大众欢迎的一种游戏,游戏在一个包含有n行m列的游戏棋盘上进行,棋盘的每一行每一列的方格上放着一个有颜色的棋子,当一行或一列上有连续三个或更多的相同颜色的棋子时,这些棋子都被消除。当有多处可以被消除时,这些地方的棋子将同时被消除。现在给定一个n行m列的棋盘,棋盘中的每一个方格上有一个棋子(用数字1-9表示各种颜色的棋子),请给出经过消除后的棋盘。请注意:一个棋子可能在某一行和某一列同时被消除。【输入形式】从标准输入读取数据,第一行包含两个整数n和m,分别表示.

2020-12-03 18:36:20 888

原创 2. C++求两组整数的异或集

求两组整数的异或集【问题描述】从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集"异或")。【输入形式】首先输入第一组整数,以一个空格分隔各个整数;然后在新的一行上输入第二组整数,以一个空格分隔,行末有回车换行。【输出形式】按从大到小顺序排序输出合并后的整数集(去掉在两组整数中都出现的整数,以一个空格分隔各个整数)。【样例输入】5 1 4 32 8 7 9 -65 2 87 10 1.

2020-12-02 21:27:38 3664 3

原创 .C++整数的N进制字符串表示

. 整数的N进制字符串表示【问题描述】编写函数itob(n,s,b),用于把整数n转换成以b为基的字符串并存储到s中. 编写程序,使用函数itob(n,s,b)将输入的整数n,转换成字符串s,将s输出.转换后的字符串从最高的非零位开始输出。如果n为负数,则输出的字符串的第一个字符为’-’。b为大于1小于37的任意自然数值。当b=2时,输出字符只可能是’0’和’1’;当b=16时,输出字符串中可能含有字符为’0’-’9’,’a’-’f’(字母以小写输出)。b还可以是其它数值。比如输入n=33,b=17,

2020-12-01 01:24:09 809

原创 C++合并有序数组

合并有序数组【问题描述】编写一个程序,将两个元素从小到大有序的一维数组归并成一个有序的一维数组。【输入形式】用户在第一行输入第一个有序数组的元素数目,以回车结束此输入。然后在第二行按照刚才输入的元素数目依次输入数组元素,中间用空格分隔,最后用回车结束输入。第三行和第四行只需重复刚才的步骤,将第二个有序数组也输入即可。输入时候一定是有序输入的,即数组元素已经按照从小到大顺序排列。【输出形式】程序将两个有序一维数组合并为一个有序数组并按照从小到大顺序输出。每个元素输出时用空格分隔,最后一个输出之后没有空格

2020-12-01 01:19:18 3970 4

空空如也

空空如也

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

TA关注的人

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