自定义博客皮肤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)
  • 收藏
  • 关注

原创 P1161 开灯

题面这题刚开始卡住了,没有理解每组第二个b是什么,以为是ab,2ab,3ab,4ab,…,nab,所以卡住了实际上是边界n,即到ab终止#include<iostream>#include<algorithm>using namespace std;double a;int b;int lamp[2000005];int main(){ int n; cin >> n; for (int i = 1; i <= n; i++) { c

2021-08-01 20:48:48 116

原创 P2911 [USACO08OCT]Bovine Bones G

题面难点:多个相等,如何输出序号最小者for(int i=3;i<=80;i++){ if (cont[i] > maxn) { maxn= cont[i]; ans= i;#include<iostream>#include<algorithm>using namespace std;int cont[85];int main(){ int a, b, c, sum = 0; cin >> a >> b &

2021-08-01 19:48:00 139

原创 P1614 爱与愁的心痛

题面思路:暴力枚举,比较大小思考:连续m个数字相加while循环未知bug应出53,实出80bug分析#include<iostream>#include<algorithm>using namespace std;int a[3005], b[300006], minn = 300006;int main(){ int m,n; cin >> n>>m; for (int i =0; i <n; i++) cin &g

2021-07-27 20:36:14 112

原创 P5730 【深基5.例10】显示屏

题面思路:建立一个三维数组将需要输出的数字存储在字符里面,需要使用时s[i]-'0’来判断输出if(j!=n-1)cout<<’.’;易错:三维数组最后按规格输出#include<iostream>using namespace std;char a[10][5][3] =//a[i][j][k]表示第i个数字的第j行的第k列{ {//0 'X','X','X', 'X','.','X', 'X','.','X', 'X','.','X', '

2021-07-27 01:18:42 213

原创 P2615 [NOIP2015 提高组] 神奇的幻方

题面思路:

2021-07-27 00:33:58 112

原创 P4956 [COCI2017-2018#6] Davor

题面思路:一直以来理解错误这题的意思简单来说就是求一对x,k使52*(7x+21k)==n正好在52周结束的那一天收集完毕x从100倒数如果恰好存在xk使等式等于n,输出因为要让x尽量大,k尽量小,所以双重循环tips:for内可以忽略上下限#include<iostream>using namespace std;int main(){ int n; cin >> n; for (int k = 1; ; k++) for (int x = 100

2021-07-26 14:37:30 172

原创 1457 素数环

问题描述素数环是一个计算机程序问题,指的是将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。输入现在要求输入一个n,求n个数围成一圈有多少种素数环,规定第一个数字是1。输出输出n个数字,以素数环顺序排列输入示例6输出示例1 4 3 2 5 61 6 5 2 3 4思路:基本上可以视作全排列问题的增加限制条件:相邻两个数字和是素数并且首尾之和也是素数#include<iostream>#include<math.

2021-07-22 20:23:18 117

原创 最长连续子序列

基础版本题目问题描述给定一个数字序列A1,A2,…An,求i,j(1<=i<=j<=n),使Ai+…+Aj最大,输出这个最大和样例输入:6-2 11 -4 13 -5 -2输出:20//最长连续子序列基础版本:某连续元素和最大值#include<iostream>#include<math.h>#include<algorithm>using namespace std;int a[1010], dp[1010];i

2021-07-20 08:13:54 71

原创 vs常见报错含义

int a[1000]; a[100] = { 1,5,3,7,9,0};“=”: 无法从“initializer list”转换为“int”int a[1000]; int a[100] = { 1,5,3,7,9,0};“a”: 重定义;不同的下标

2021-07-20 08:05:26 874 1

原创 sort的cmp参数用法

结构体bool cmp(test a,test b)//降序{ return a.x>b.x;}数组bool cmp(int a,int b)//降序{ return a > b;}

2021-07-20 07:58:33 101

原创 1258:【例9.2】数字金字塔

题目描述观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。【输入】第一个行包含R(1≤R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于100。【输出】单独的一行,包含那个可能得到的最大的和。【输入样例】51311 812 7 266 14 15 81.

2021-07-19 23:03:52 2034

原创 动态规划

总体思想对于每一步决策,都列出各种可能的局部解,根据判断,舍弃一定不能得到最优解的局部解,在每一步都经过筛选,以至于每一步都是最优解来保证全剧最优解动态规划多用于最优化问题,关键是存储子问题的每一个解,以备它重复出现最优化问题第一反应:贪心或者dp能采取dp的条件:问题中的状态必须满足最优解原理问题中的状态继续满足无后效性原则无后效性:下一时刻的状态只与当前状态有关,与当前状态之前的状态无关,当前的状态是以往状态的总结递归解决斐波那契每一步都需要重复计算:用空间换时间比如f5已经计算

2021-07-10 09:53:45 143 2

原创 结构体排序

#include<iostream>#include<algorithm>using namespace std;struct people{ int code; int number;};people a[11];bool cmp(people a, people b){ if (a.number< b.number) return 1; return 0;}int main(){ int n; cin >> n; f

2021-06-22 20:23:09 44

原创 第九章二刷

b类的析构函数作用是删除对象***2111111111111111111111111111111111111111111111111111111111 ***acptrarry在栈区,指向堆区cd007选ca1std2ndbacac

2021-06-19 22:51:42 83

原创 第八章刷题笔记

明年刷题库总复习时候,可以跳过非常有把握熟练度报表的题目执行到意思是在上一行末尾,这一行最初,这一行没有执行c选ciptr的值是地址*iptr的值是数字c屏幕上的光标指控制台黑窗口malloc获取堆内存static int a【10】;在全局区执行到某一调用函数,逐语句就跳到函数定义,逐过程直接下一语句对于i++类循环,每次执行完,i++都是第二次执行循环是最开始执行的意思是,第一次执行循环时,如果int i= 0,第一次结束i=0选d,未初始化来外循环

2021-06-19 22:17:05 95 1

原创 第七章刷题笔记

bcb初始化参数过多有6个运算符,下标,赋值号和逗号运算符acin只能读入定义数组元素个数-1个,因为最后一个是’\0‘,读的入回车和空格是cin.get的特性b局部在栈,全局就是全局越界了,元素值不确定,而不是’\0‘c选b相差两个数据,八个字节选c意思是这样是对的a【】【5】若不初始化,不可省略行c外3内5a是数组名删掉iostream,system不会报错选c,外4内3array的长度是元素个数选a刚开始执行时,相当于在上一句.

2021-06-19 18:42:10 65

原创 第六章刷题笔记

选d40行是函数声明全局变量存储空间在编译期间被分配b,fn在头文件里面,引用的时候报错,连接错误选d同理源文件2中的static int s也是标识符未定义bstatic int a看位置,可能是全局变量0第四行和第五行一个声明了外部函数,一个声明了内部函数(static执行完自定义函数,收回局部变量,只有main函数结束才会收回全局变量使用源文件2时,如果想要在源文件2中使用源文件1中定义的全局变量,可以在头文件中引入外部变量,在在其他源文件12中引用可以 v.

2021-06-19 14:01:07 70

原创 第九章题库笔记

选d11行末尾函数执行完毕,所有收尾工作已经结束选b,main函数里面只有一个局部变量person选b,括号不算运算符,迷惑执行到不等于执行完全局区结构体类型定义并不分配空间;在main函数中定义一个结构体,此结构体是局部变量,值为随机值people students[80]中student的类型是peoplechar 一字节 32/64int/float 四字节32/64double 八字节32/64long 四字节32(默认题库)long

2021-06-18 20:01:46 98 1

原创 冒泡排序及改良

原始代码//最初版本#include<iostream>using namespace std;int a[100], n;int main(){ cin >> n; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n - 1; i++) { for (int j = 1; j <= n - i; j++) if (a[j] > a[

2021-06-18 14:54:45 46

原创 1331:【例1-2】后缀表达式的值

【题目描述】从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(—)、乘()、除(/)四种运算符。每个运算数之间用一个空格隔开,不需要判断给你的表达式是否合法。以@作为结束标志。比如,16–9(4+3)转换成后缀表达式为:16□9□4□3□+*–,在字符数组A中的形式为:栈中的变化情况:运行结果:-47提示:输入字符串长度小于250,参与运算的整数及结果之绝对值均在264范围内,如有除法保证能整除。【输入】一个后缀表达式。【输出】一个后缀表达式的值。【输入样.

2021-06-18 13:59:13 1430

原创 1353:表达式括号匹配(stack)

题目描述假设一个表达式有英文字母(小写)、运算符(+,—,∗,/)和左右小(圆)括号构成,以“@”作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回“YES”;否则返回“NO”。表达式长度小于255,左圆括号少于20个。输入一行数据,即表达式。输出一行,即“YES” 或“NO”。输入示例12*(x+y)/(1-x)@输出示例1YES输入示例2(25+x)(a(a+b+b)@输出示例2NO#include<iostream>#inc.

2021-06-18 13:11:34 213

原创 1354:括弧匹配检验

1354:括弧匹配检验【题目描述】假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,如([ ]())或[([ ][ ])]等为正确的匹配,[( ])或([ ]( )或 ( ( ) ) )均为错误的匹配。现在的问题是,要求检验一个给定表达式中的括弧是否正确匹配?输入一个只包含圆括号和方括号的字符串,判断字符串中的括号是否匹配,匹配就输出 “OK” ,不匹配就输出“Wrong”。输入一个字符串:[([][])],输出:OK。【输入】输入仅一行字符(字符个数小于255)。【输出】匹

2021-06-18 13:10:06 497

原创 1213:八皇后问题

【题目描述】在国际象棋棋盘上放置八个皇后,要求每两个皇后之间不能直接吃掉对方。【输入】(无)【输出】按给定顺序和格式输出所有八皇后问题的解(见样例)。【输入样例】(无)【输出样例】No. 11 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 ...

2021-06-16 23:06:30 118

原创 马走日问题

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

2021-06-16 23:02:33 1180

原创 LETTERS

题目描述给出一个roe×col的大写字母矩阵,一开始的位置为左上角,你可以向上下左右四个方向移动,并且不能移向曾经经过的字母。问最多可以经过几个字母。输入第一行,输入字母矩阵行数R和列数S,1≤R,S≤20。接着输出R行S列字母矩阵输出最多能走过的不同字母的个数。输入样例3 6HFDFFBAJHGDHDGAGEH输出样例6...

2021-06-16 23:00:25 179

原创 从1-n中取m个数字进行全排列

题目描述输入n,在1-n中取m个数字进行全排列输入样例32输出样例321 21 32 12 33 13 2

2021-06-16 22:57:59 1748 1

原创 全排列问题

题目描述输出自然数 1 到 n 所有不重复的排列,即 n 的全排列,要求所产生的任一数字序列中不允许出现重复的数字。输入样例3输出样例1 2 31 3 22 1 32 3 13 1 23 2 1//全排列问题:框架二,第一种不会#include<iostream>using namespace std;int a[10], vis[10],n;//vis数组记录是否用过,用过为1,没用为0,a数组记录每次的具体情况int dfs(int step)//为什么是i.

2021-06-16 22:54:42 93

原创 编程基础考试复习笔记6-9章

第六章多文件结构运行可以正常输出“first”注意引用first.h头文件时的格式:#include"first.h"第七章数组数组运算顺序图注意,下标也是一次运算,二维数组本身就需要两次运算初始化一个四行三列的数组示例int a[4][3]={{1,1,1},{2,2,2},{3,3,3},{4,4,4}}冒泡排序外循环从i=1到i<=n-1,因为最后一个元素下标是n,如果是n,n+1越界内循环是j=1到j&l...

2021-06-16 22:53:14 151

原创 辗转相除法求最大公约数

//gcd法求最大公约数/公因数#include<iostream>using namespace std;int gcd1(int m, int n){ if (n == 0)return m; else return (gcd1(n, m % n));}int main(){ int m, n; cin >> m >> n; cout << gcd1(m, n);}

2021-06-16 20:00:58 67

原创 memset()函数替换数组元素

memset()函数的头文件是string.h数组清空方式:memset(vis,0,sizeof(vis));意思是:对于vis数组,sizeof(vis)个元素全部替换为第二个参数0当然也可以这么写:memset(vis,'a',6);意思是vis的前六个元素全部替换为‘a’...

2021-06-14 20:31:04 567

原创 贪心算法

占坑

2021-06-10 15:40:35 55

原创 分治算法

占坑

2021-06-10 15:40:03 55

原创 动态数组

占坑

2021-06-10 15:39:33 92

原创 动态规划

占坑

2021-06-10 15:38:59 48

原创 栈学习

占坑

2021-06-10 15:37:51 926

原创 队列学习

占坑

2021-06-10 15:37:21 59

原创 排序算法

占坑

2021-06-10 15:36:48 51

原创 bfs学习

占坑

2021-06-10 15:36:14 165

原创 dfs学习

占坑

2021-06-10 15:35:41 391 1

原创 round函数C++四舍五入

头文件?数据类型?用法示例?

2021-06-10 15:27:04 701

空空如也

空空如也

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

TA关注的人

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