自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 问答 (1)
  • 收藏
  • 关注

原创 2657.Windy数

【代码】2657.Windy数。

2023-11-19 12:10:35 97

原创 spfa(最短路问题)

第 2 到 M+1 行每行包含三个正整数 u, v, w,表示 u→v 之间存在一条距离为 w 的路。给定 N 个点和 M 条单向道路,每条道路都连接着两个点,每个点都有自己编号,分别为 1~ N。输出仅一行,共 N 个数,分别表示从编号 S 到编号为 1~ N 点的最短距离,两两之间用空格隔开。i++)//遍历u的邻居。//u已经不在队列里。dist[s]=0;//起点到自己距离为0。

2023-10-19 19:47:38 111

原创 (出差问题)Bellman_ford算法

/u通过v到起点的距离更短,更新。//u的一个邻居点是v。i++)//检查每条边。k++)//n轮操作。

2023-10-19 17:42:52 103

原创 区间合并(803)

/判断是否为第一个区间。//PIL相当于一种数据类型,这种类型有2个参数。//防止输入的是空区间。if(ed<segs.first) //无任何交集。//存出合并后的结果。

2023-09-23 11:08:05 92

原创 利用lowbit统计x的二进制表示中有多少个1

/每次减去x的最后一位1;~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1。如果两个相应的二进制位都为1,则该位的结果值为1,否则为0。两个相应的二进制位中只要有一个为1,该位的结果值为1。//x-=lowbit(x)代表把最后一个1去掉。若参加运算的两个二进制位值相同则为0,否则为1。

2023-09-21 19:53:30 33

原创 求取数组前缀和

int n,m,q;

2023-09-19 22:14:58 33

原创 给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。按字典序输出所有排列方案,每个方案占一行。

/st数组搜索后面的数是否已经被使用,开始初始化为0表示false。//恢复现场:将本位消掉返回另一分支。i++)//枚举当前位置填哪个数。st[i])//如果当前这个数未被使用。if(u>n)//表示所有数已经填完。

2023-09-14 20:37:28 502

原创 给定一个长度为 n 的数组 a,请你编写一个函数:int get_unique_count(int a[], int n); // 返回数组前n个数中的不同数的个数 判断数组中的重复元素出现次数

/定义是否在数组重复出现。i++)//遍历数组。

2023-09-14 16:52:57 273

原创 使用函数打印字符串(字符数组传参)以及fegets的使用

/fegets一定会在末尾输出一个回车。//此处可用puts函数输出但是由于puts会输出回车故使用printf。//由于fegets会输出一个回车故要定义长度为101。

2023-09-14 15:51:58 71

原创 给出若干个字符串,输出这些字符串的最长公共后缀。由若干组输入组成。每组输入的第一行是一个整数 N。N 为 0 时表示输入结束,否则后面会继续有 N 行输入,每行是一个字符串(字符串内不

j++)//枚举从第二个字符数组开始字符后缀是否与第一个相等;当len足够大时需要len--来缩小公共字符后缀范围。i++)//从第二个字符串开始枚举与第一个字符串后len个字符是否相等。//这里的str[i]代表一个字符数组。//借助bool变量判断。while(len)//为0时公共字符串为空字符串。//缩小公共后缀长度。while(cin>>n,n)//读入n个字符串。//此处N必须为常量。

2023-09-12 16:58:25 99

原创 字符串最大跨距(778)

/k的最大值为s.size()-1;if(s[l+k]!//判断s1是否在s中。//确定s1最左边字符,s2最右边字符。

2023-09-12 15:55:15 55

原创 对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串 s1 和 s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的

/a.substr(1)表示把第0个位置去掉,从1开始。j++)//j为起点。k<b.size();k++)//枚举对应位置。i<a.size();i++)//循环移位。

2023-09-12 11:51:12 573

原创 一个以 . 结尾的简单英文句子,单词之间用空格分隔,没有缩写形式和其它特殊形式,求句子中的最长单词

/res存放最长单词。//str.pop.back()是去除字符串最后一个字符。//str.back是字符串最后一个字符;

2023-09-11 15:17:19 215

原创 求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和 tab),如果这样的字符不止一个,则输出第一个。

/第一类双指针算法。

2023-09-11 14:57:20 220

原创 输入一个字符串,以回车结束(字符串长度不超过 100)。该字符串由若干个单词组成,单词之间用一个空格隔开,所有单词区分大小写。现需要将其中的某个单词替换成另一个单词,并输出替换之后的字符串。

/把一个字符串初始化为一个字符串流。//stringstream ssin()可以从字符串中提取我们需要的信息。//ssin相当于cin,不同的是它是从字符串当中读取。//sscanf需用cstdio库。//ssin 只是变量名,可以随意替换。

2023-09-11 14:35:54 1394

原创 输入一个字符串,字符串中可能包含多个连续的空格,请将多余的空格去掉,只留下一个空格。

/cin自动过滤空格。//下面三行被称为第一类双指针运算法。优雅做法:#include<cstdio>

2023-09-11 13:53:50 601

原创 字符串插入

/substr(x,y)函数;x为起始位置(下标);//若省略y则说明返回终点为止。

2023-09-11 10:45:58 29

原创 蛇形矩阵(输入两个整数 n 和 m,输出一个 n 行 m 列的矩阵,将数字 1 到 n×m 按照回字蛇形填充至矩阵中。)

if(a=n||b=m||res[a][b])//判断出界与重复。d=(d+1)%4;//顺时针旋转90度。//定义全局变量防止溢出。

2023-09-10 12:19:53 406 1

原创 输入整数 N,输出一个 N 阶的二维数组。数组的形式参照样例。

q[i][i]=1;

2023-09-10 11:28:50 232 1

原创 斐波那契数列

/int 的范围为2的11次方;这里需要使用long long 类型防止栈溢出。

2023-09-10 10:28:10 41 1

原创 输入整数 N,输出一个 N 阶的回字形二维数组。数组的最外层为 1,次外层为 2,以此类推。输入格式输入包含多行,每行包含一个整数 N。当输入行为 N=0 时,表示输入结束(平方矩阵)

/这里的n表示n为真,不为0。//到上下左右四条边的距离。//输出这四个数的最小值。

2023-09-09 17:25:28 252 1

原创 打印数组右上边部分

#include<iostream>using namespace std;int main(){ char t; scanf("%c",&t); double a[12][12]; for(int i=0;i<12;i++) { for(int j=0;j<12;j++) scanf("%.1lf",&a[i][j]); } double s=0;//总和

2023-09-09 15:38:18 19 1

原创 使用memcpy函数复制数组

/需要引用头文件cstring。

2023-09-09 13:20:24 315 1

原创 数组的快速初始化

/memset只有两个数可以赋成多少就是多少;//这里的0并不是把数组里的每个数赋为0;而是把每一个字节赋为0。//此外这里的40可以用sizeof a替代,结果也为40;//memset单位为字节byte;memset有三个参数。注:使用memset需要使用#include<cstring>//第一个参数为数组名;第二个为想要初始化的值;//第三个为作用长度以字节为单位。

2023-09-09 12:21:20 48 1

原创 高精度计算2的n次幂

j++)//对应每一位从个位起算。i--)//a[0]代表个位。//N代表数组元素个数。int t = 0;//t用来存放是否进位。int m = 1;

2023-09-08 22:17:01 102 1

原创 在c++中比较两个浮点数大小

函数来比较两个浮点数的差值是否小于一个非常小的阈值(例如1e-9)。这是因为浮点数的精度问题可能导致比较操作出现微小的误差。这些方法可以根据实际需求选择适合的比较方式。注意在比较浮点数大小时,要考虑到浮点数的精度问题,避免直接使用。函数来比较两个浮点数的差值是否小于浮点数类型的最小可表示差值。来判断两个浮点数是否。

2023-09-08 18:09:11 2277 1

原创 输入一个n再输入n个整数;然后将这个数组再顺时针旋转k(k<=n)次;最后输出结果

/reverse为翻转函数,需要引用algorithm库。2.翻转前半部分变为:4,5,3,2,1。3.翻转后半部分变为:4,5,1,2,3。现在我们要求对上面5个数旋转2次再打印。1.翻转数组变为:5,4,3,2,1。假定有5个数:1 2 3 4 5。

2023-09-08 16:00:23 117 1

原创 判断是否为完美数

/由于c++运行速度有限,处理大数据时可能会超时,故我们可以采取一种优化。//判断1-n之间的数是否为完全数;//判断1-n之间的数是否为完全数;while(n--)//判断n次;while(n--)//判断n次;

2023-09-08 14:43:01 188 1

原创 医学部一共进行了 N 场动物实验。共有三种小动物可用来实验,分别是青蛙、老鼠和兔子。每次实验都会选取其中一种动物来参与实验,选取数量若干。现在请你统计一下医学部一共用了多少小动物,每种分别多少及占比

/过滤空格,回车,制表符即Tab键(易错);//此处不能使用scanf输入;scanf在读入字符时不会自动。i++)//1-n次实验。//k表示一次实验所使用的动物;//(double)强制类型转换;//字符t表示使用的动物类型。//s代表总动物数;

2023-09-08 11:20:55 108 1

原创 输入两个整数 N 和 M,构造一个 N 行 M 列的数字矩阵,矩阵中的数字从第一行到最后一行,按从左到右的顺序依次为 1,2,3,…,N×M。矩阵构造完成后,将每行的最后一个数字变为 P

/此处k++代表换行打印pum;

2023-09-08 10:31:31 681 1

原创 求取x与y之间所有奇数的和(包括x与y)

/判断x,y的大小;//swap函数即交换函数在algorithm库中。if(i%2)//判断i是否为奇数。while(i<=y)//y为终点。

2023-09-07 22:20:37 288

原创 输入6个任意数,判断其中有多少个正数

int main()int cnt=0;i<6;i++)double x;cin>>x;return 0;

2023-09-07 22:06:38 43

原创 打印菱形(曼哈顿距离)

if (abs(i - cx) + abs(j - cy) <= n / 2)//abs为绝对值函数。j++)//两层for循环用于打印出全空棋盘。//利用曼哈顿距离打印菱形;

2023-09-07 21:25:40 32

原创 运用c++嵌套for循环打印矩阵

j++,k++)//k是打印的数字,J++代表换行;i++)//打印函数。

2023-09-07 19:51:24 533

空空如也

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

TA关注的人

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