自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STL二分函数

二分函数

2023-01-12 13:55:55 374

原创 Team Queue(queue,map应用)

map,queue

2023-01-03 12:11:55 342

原创 Andy‘s First Dictionary(set应用)

set应用

2023-01-03 09:32:11 270

原创 水果(map的二维应用)

map的二维应用

2023-01-01 11:21:49 268

原创 Ignatius and the Princess II(STL全排列函数应用)

全排列函数

2022-12-31 17:37:30 148

原创 P - Let the Balloon Rise(map的应用)

寒假训练

2022-12-31 17:22:19 141

原创 大话数据结构(线性表的链式结构)

线性表的链式存储结构

2022-09-25 15:54:12 186

原创 大话数据结构(线性表的顺序结构)

线性表的顺序存储结构

2022-09-20 19:32:45 241

原创 中缀表达式转后缀表达式(栈的应用)

中缀表达式 就是普通人们最常用的加减乘除式子 (或中缀记法)是一个通用的算术或逻辑公式表示方法, 操作符是以中缀形式处于操作数的中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。 与q前缀表达式(例:+ 3 4)或h后缀表达式(例:3 4 +)相比,中缀表达式不容易被计算机解析,但仍被许多程序语言使用,因为它符合人们的普遍用法。 与前缀或后缀记法不同的是,中缀记法中括号是必需的。计算过程中必须用括号将操作符和对应的操作数括起来,用于指示运算的次序。 后缀表达式 运算符在运算数后..

2022-05-01 11:05:36 536

原创 最短路(Floyd)

前言 最短路即求两点之间的最短路径;在学习这个之前得有一些图论基础(建图基础) 建图基础课看蓝桥集训之BFS、DFS和链式前向星_MangataTS的博客-优快云博客 懒得写了 转博客:(18条消息) 算法小讲堂之最短路算法(Floyd+bellman+SPFA+Dijkstra)_MangataTS的博客-优快云博客 ...

2022-04-26 13:26:20 168

原创 [USACO19JAN]Icy Perimeter S(DFS,BFS)

题目背景 USACO一月月赛银组第二题 题目描述 Farmer John要开始他的冰激凌生意了!他制造了一台可以生产冰激凌球的机器,然而不幸的是形状不太规则,所以他现在希望优化一下这台机器,使其产出的冰激凌球的形状更加合理。 机器生产出的冰激凌的形状可以用一个N×N(1≤N≤1000)的矩形图案表示,例如: ##.... ....#. .#..#. .##### ...### ....## 每个'.'字符表示空的区域,每个'#'字符表示一块1×1的正方形格子大小的冰激凌。 不幸的是,机器当.

2022-04-21 09:56:03 419

原创 入门(BFS,DFS)

题目描述 不是任何人都可以进入桃花岛的,黄药师最讨厌象郭靖一样呆头呆脑的人。所以,他在桃花岛的唯一入口处修了一条小路,这条小路全部用正方形瓷砖铺设而成。有的瓷砖可以踩,我们认为是安全的,而有的瓷砖一踩上去就会有喷出要命的毒气,那你就死翘翘了,我们认为是不安全的。你只能从一块安全的瓷砖上走到与他相邻的四块瓷砖中的任何一个上,但它也必须是安全的才行。 由于你是黄蓉的朋友,她事先告诉你哪些砖是安全的、哪些砖是不安全的,并且她会指引你飞到第一块砖上(第一块砖可能在任意安全位置),现在她告诉你进入桃花岛的秘密就.

2022-04-21 08:43:05 278

原创 填涂颜色(BFS)

题目描述 由数字00组成的方阵中,有一任意形状闭合圈,闭合圈由数字11构成,围圈时只走上下左右44个方向。现要求把闭合圈内的所有空间都填写成22.例如:6 \times 66×6的方阵(n=6n=6),涂色前和涂色后的方阵如下: 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 .

2022-04-20 18:29:30 291

原创 求细胞数量(DFS)

题目描述 一矩形阵列由数字00到99组成,数字11到99代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。 输入格式 第一行两个整数代表矩阵大小nn和mm。 接下来nn行,每行一个长度为mm的只含字符0到9的字符串,代表这个n \times mn×m的矩阵。 输出格式 一行一个整数代表细胞个数。 输入输出样例 输入 #1复制 4 10 0234500067 1034560500 2045600671 ...

2022-04-16 17:25:44 436

原创 血色先锋队(BFS)

题目背景 巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物。孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好聚集了起来,以抵抗天灾军团的围剿。可怕的是,他们之中有人感染上了亡灵瘟疫,如果不设法阻止瘟疫的扩散,很快就会遭到灭顶之灾。大领主阿比迪斯已经开始调查瘟疫的源头。原来是血色先锋军的内部出现了叛徒,这个叛徒已经投靠了天灾军团,想要将整个血色先锋军全部转化为天灾军团!无需惊讶,你就是那个叛徒。在你的行踪败露之前,.

2022-04-16 16:15:11 653 2

原创 Mzc和男家丁的游戏(BFS)

题目背景 mzc与djn的第二弹。 题目描述 mzc家很有钱(开玩笑),他家有n个男家丁(做过上一弹的都知道)。他把她们召集在了一起,他们决定玩捉迷藏。现在mzc要来寻找他的男家丁,大家一起来帮忙啊! 由于男家丁数目不多,再加上mzc大大的找人【laopo】水平很好,所以一次只需要找一个男家丁。 输入格式 第一行有两个数n,m,表示有n行m列供男家丁躲藏, 之后n行m列的矩阵,‘m‘表示mzc,‘d’表示男家丁,‘#’表示不能走,‘.‘表示空地。 输出格式 一行,若有解:一个数sum,表.

2022-04-14 17:43:44 215

原创 离开中山路(BFS)

题目背景 《爱与愁的故事第三弹·shopping》最终章。 题目描述 爱与愁大神买完东西后,打算坐车离开中山路。现在爱与愁大神在x1,y1处,车站在x2,y2处。现在给出一个n×n(n<=1000)的地图,0表示马路,1表示店铺(不能从店铺穿过),爱与愁大神只能垂直或水平着在马路上行进。爱与愁大神为了节省时间,他要求最短到达目的地距离(a[i][j]距离为1)。你能帮他解决吗? 输入格式 第1行:一个数 n 第2行~第n+1行:整个地图描述(0表示马路,1表示店铺,注意两个数之间没有空格.

2022-04-14 17:21:02 353

原创 好奇怪的游戏(BFS)

题目背景 《爱与愁的故事第三弹·shopping》娱乐章。 调调口味来道水题。 题目描述 爱与愁大神坐在公交车上无聊,于是玩起了手机。一款奇怪的游戏进入了爱与愁大神的眼帘:***(游戏名被打上了马赛克)。这个游戏类似象棋,但是只有黑白马各一匹,在点x1,y1和x2,y2上。它们得从点x1,y1和x2,y2走到1,1。这个游戏与普通象棋不同的地方是:马可以走“日”,也可以像象走“田”。现在爱与愁大神想知道两匹马到1,1的最少步数,你能帮他解决这个问题么? 输入格式 第1行:两个整数x1,y1 .

2022-04-14 13:37:12 387

原创 马的遍历(BFS)

题目描述 有一个n \times mn×m的棋盘,在某个点(x, y)(x,y)上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。 输入格式 输入只有一行四个整数,分别为n, m, x, yn,m,x,y。 输出格式 一个n \times mn×m的矩阵,代表马到达某个点最少要走几步(左对齐,宽55格,不能到达则输出-1−1)。 输入输出样例 输入 #1复制 3 3 1 1 输出 #1复制 0 3 2 3 -1 1 ...

2022-04-14 11:30:52 1728

原创 二分算法(详细理解)

整数二分 基本思想 一定注意mid=(l+r)/2还是(l+r+1)/2 解题步骤 例题 789. 数的范围 给定一个按照升序排列的长度为nn的整数数组,以及qq个查询。 对于每个查询,返回一个元素kk的起始位置和终止位置(位置从00开始计数)。 如果数组中不存在该元素,则返回-1 -1。 输入格式 第一行包含整数nn和qq,表示数组长度和询问个数。 第二行包含nn个整数(均在1∼100001∼10000范围内),表示完整...

2022-04-06 11:58:41 295

原创 全球变暖(蓝桥杯bfs)

问题描述   你有一张某海域NxN像素的照片,"."表示海洋、"#"表示陆地,如下所示:   .......   .##....   .##....   ....##.   ..####.   ...###.   .......   其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。   由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。   例如上图中的海.

2022-04-03 20:34:23 173

原创 回文日期(蓝桥杯)

题目描述 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。 因为如果将这个日期按 yyyymmdd 的格式写成一个 8 位数是 20200202,恰好是一个回文数。 我们称这样的日期是回文日期。 有人表示 20200202 是“千年一遇” 的特殊日子。 对此小明很不认同,因为不到 2 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。 也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期.

2022-04-02 22:13:49 180

原创 回文日期(NOIP2016)

题目描述 在日常生活中,通过年、月、日这三个要素可以表示出一个唯一确定的日期。 牛牛习惯用8位数字表示一个日期,其中,前4位代表年份,接下来2位代表月 份,最后2位代表日期。显然:一个日期只有一种表示方法,而两个不同的日期的表 示方法不会相同。 牛牛认为,一个日期是回文的,当且仅当表示这个日期的8位数字是回文的。现 在,牛牛想知道:在他指定的两个日期之间包含这两个日期本身),有多少个真实存 在的日期是回文的。 一个8位数字是回文的,当且仅...

2022-04-02 21:50:38 1176

原创 字符串数字相互转换

一丶 函数stoi() 将字符串转为int类型 itos() int转到string to_string() int转为string 二丶 用sstream #include <sstream> using namespace std; int istoi(string n) { int num; stringstream ss(n); ss>>num; return num; } string iitos(int n) { string..

2022-03-31 09:28:09 622

原创 回文日期(历年蓝桥杯)

2867. 回文日期​​​​​​ 20202020年春节期间,有一个特殊的日期引起了大家的注意:20202020年22月22日。 因为如果将这个日期按 “yyyymmdd” 的格式写成一个88位数是20200202,恰好是一个回文数。 我们称这样的日期是回文日期。 有人表示20200202是“千年一遇” 的特殊日子。 对此小明很不认同,因为不到22年之后就是下一个回文日期:20211202即20212021年1212月22日。 也有人表示2020020...

2022-03-31 09:25:00 2621

原创 棋盘问题(dfs)

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

2022-03-27 19:01:35 597

原创 马走日(dfs)

马在中国象棋以日字形规则移动。 请编写一段程序,给定n \times mn×m大小的棋盘,以及马的初始位置(x, y)(x,y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点。 输入格式 第一行为整数T(T < 10)T(T<10),表示测试数据组数。 每一组测试数据包含一行,为四个整数,分别为棋盘的大小以及初始位置坐标n,m,x,yn,m,x,y。(0 \le x \le n-1,0 \le y \le m-1, m < 10, n < ...

2022-03-27 11:36:29 393

原创 全排列(简单递归回溯-c++)

输入一个整数n(n <= 9),输出1、2、3、······、n这n个数的全排列(按照字典序输出)。 Input 一个整数n Output 多行,每行表示一种排列,行内使用空格分隔相邻两数。 Sample Inputcopy Outputcopy 3 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 #include <iostream> using namespace std; int n.

2022-03-27 10:29:31 1197 3

原创 素数(筛法)c++

求素数3种方法 1,暴力求解 int zhishu(int n) { for(int i=2;i<=sqrt(n);i++) { if(n%i==0) return 0; } return 1; } for(int j=1;j<=m;j++) zhishu(j); 显然时间复杂度太高了。 2,打表 O(1)(doge) 3,筛法 ①埃筛 基础思想:素数的倍数一定不是素数! 实现:从小至大枚举质数x,把x的倍数都标记为非质数。 即: 用一个bool..

2022-03-27 10:10:30 2846 1

原创 油田问题c++

Oil Deposits Time Limit:1000MS Memory Limit:10000K Total Submissions:27748 Accepted:14096 Description The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSurvComp works with one large r...

2022-03-27 10:00:59 740

原创 高精度除法(c++)

高精度除低精度 主要是模拟竖式除法 洛谷P1480 #include <iostream> #include <string> using namespace std; const int N= 1e5+10; int a[N],c[N]; int main() { string s; cin >> s; long long b,x=0,la=s.size();//longlong一定 cin >> b; for(int i=1;i&l.

2022-03-21 16:14:35 3692

原创 高精度乘法(c++)

高精度乘法 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N=1e+5; int num1[N],num2[N],sum[N+5]; int main() { string x,y; int k=0,j=0; cin >> x >> y; int la=x.size(),lb=y.size();.

2022-03-20 14:22:40 1688

原创 高精度加减法(c++)

高精度加法 #include <iostream> #include <string> using namespace std; int num1[100],num2[100],sum[200]; int main() { string a,b; int len1,len2,len; cin >> a >> b; len1=a.size(); len2=b.size(); int j=0,k=0; for(int i=len1-1; i&.

2022-03-20 12:47:20 1037

原创 再解炸弹人(bfs-dfs)

题出自啊哈算法P95 bfs算法 #include <iostream> #include <queue> using namespace std; char a[100][100]; int book[100][100]; int sx,sy,n,m,dx,dy,res=0; int inext[4][2]= {{0,1},{1,0},{0,-1},{-1,0}}; struct node { int x,y; }; void getsum(int x,int y) {

2022-03-15 20:17:59 231

原创 啊哈算法dfs-bfs

题目为解救小哈 第一种为dfs #include <iostream> using namespace std; int dx,dy,n,m,imin=99999999; int a[1000][1000],book[1000][1000]; void dfs(int x,int y,int step) { int next[4][2]= { {0,1}, {1,0}, {0,-1}, {-1,0} }; int tx,ty; if(x==dx&&amp

2022-03-15 18:12:31 752

原创 ZZULIOJ-2910

新生赛第6题 题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。天天爱跑步是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。 游戏一共有n个玩家,每个玩家每天需要跑60圈才能打卡,玩家打卡后游戏会记录每个玩家完成打卡所花费的时间,你能帮小c设计一个程序,将所有玩家按完成打卡时间的长短排序吗?(假设所有玩家每天都能完成打卡) 输入 第一行一个整数n(n <= 5000) 接下来n行,每行的格式为: name h:m:s 其中name代表人名,由小写字母构成,长.

2022-03-14 20:09:50 4766

原创 ZZULIOJ-2905

新生邀请赛A 题目描述 madoka的面前有n级台阶,目前她处于第0级台阶,她每一次可以选择选择爬一级台阶或是连爬两级台阶,madoka想知道她有几种到达第n级台阶的走法。出乎意料的是,n级台阶中有k级台阶被损坏了,madoka无法抵达这些被损坏的台阶。 输入 第一行输入一个正整数T,表示测试样例数。 对于每个测试样例,共两行,第一行给出两个正整数n,k,表示台阶的级数以及损坏的台阶数。 第二行给出k个正整数ai,表示第ai级台阶被损坏。 1 <= T <= 10 1 <= n

2022-03-14 19:40:39 467

原创 string类型多实例输入

string类型多实例 #include <iostream> using namespace std; int main() { string s; while(getline(cin,s,'\n')) {} } char字符串类型多实例 #include <iostream> using namespace std; int main() { char a[10000]; while(cin.getline(a,101,'\n')) {}

2022-03-07 17:19:57 253

原创 string字符串的大小写转换函数

两个函数 tolower()和toupper() 需要用到头文件 algorithm 加上命名空间 #include <iostream> #include <algorithm> using namespace std; int main() { string s; getline(cin,s,'.');//仅为做题需要,意思是中间可含有空格到'.'结束读入 for(int i=0;i<s.size();i++) s[i]=tolower(s[i]); for

2022-03-06 19:58:40 756

原创 c++进制转换

十进制转化为s进制 #include <iostream> using namespace std; const int N=100000; int a[N]; int main() { int n,s;//n为需要转换的数,s是转换成s进制 int i=0;//记录长度 cin >> n >> s; while(n!=0) { int m=n%s;//记录余数 a[i++]=m;//存入数组中 n/=s; } for(int j=i

2022-03-06 19:47:56 2268

空空如也

空空如也

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

TA关注的人

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