自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 问答 (3)
  • 收藏
  • 关注

原创 重庆交通大学2022年校赛前第4次练习赛题解(ABCEF)

重庆交通大学2022年校赛前第4次练习赛题解(ABCEF)

2022-11-17 13:00:46 35

原创 2022牛客暑期多校训练营1—I. Chiitoitsu(期望DP)

有种麻将牌,每种牌用一个数字和一个小写字母表示,每种34张,共计136张;初始从中摸取张牌;每次操作从未被摸取过的牌堆中摸取一张;若此时手中有7对牌,则胡牌结束游戏,否则丢出一张牌后继续重复操作,直到胡牌。给出初始手上的牌,求至少还要多少次操作才能胡牌

2022-08-24 09:34:41 81

原创 重庆交通大学程序设计竞赛集训队暑假第三次练习赛——题解

A:(贪心)B:《算法竞赛进阶指南》-0x54.例题.没有上司的舞会(树形DP)C:USACO 2015 January Contest Bronze-A.Cow Routing(模拟)D:LeetCode.2327-知道秘密人数(前缀和、DP)E:CodeForce Round #806(Div.4)-B.ICPC Balloons(模拟)...

2022-08-15 21:33:41 98

原创 重庆交通大学程序设计竞赛集训队暑假第二次练习赛——题解

A:第四届SCPC中南民族大学程序设计竞赛-A.Funny卖锅盔(栈)B:蓝桥杯练习系统.试题.算法训练.搬走要石(二分)C:背包九讲.多重背包问题(多重背包的二进制优化/单调队列优化)D:重庆交通大学第八届程序设计竞赛-D.走台阶问题(模拟)E:2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计 竞赛-I.Rabbit(模拟)...

2022-08-15 21:14:18 184

原创 重庆交通大学2021级程序设计方法及在线实践考试题解

重庆交通大学2021级程序设计方法及在线实践考试题解

2022-06-30 16:15:01 465

原创 刷题心得:整数二分算法的实现及注意事项

整数的二分查找是一个比较简单的算法,而且时间复杂度可以到,那么整数的二分主要有两种实现方式//第一种,将区间[begin,end]分为[begin,mid]和[mid+1,end] int bsearch_1(int begin, int end){ while (begin < end) { int mid = (begin + end) / 2; if (check(mid)) end = mid; else begin = mid+1; } return

2022-04-12 22:50:48 167 1

原创 C++面向对象:圆盘找数问题

【问题描述】圆盘找数问题。设有20个整数的数组成一个圆(首尾相接),分别求出连续的四个数之和为最大的四个数及其和值)以及连续的四个数之和为最小的四个数(输出整个数列、最大、最小的四个数及其和值。要求:(1)圆盘类class circle中包含私有成员int num[20], int Max[4] , int Min[4],int sum_max, int sum_min, 同时根据需要增加私有或公有成员及必要的公有成员函数。int num[20]; //存放输入的20个随...

2022-03-18 09:10:01 597 1

原创 AcWing 2041:干草堆(差分)

问题描述贝茜对她最近在农场周围造成的一切恶作剧感到抱歉,她同意帮助农夫约翰把一批新到的干草捆堆起来。开始时,共有 N 个空干草堆,编号 1∼N。约翰给贝茜下达了 K 个指令,每条指令的格式为[ A B],这意味着贝茜要在 A..B 范围内的每个干草堆的顶部添加一个新的干草捆。例如,如果贝茜收到指令[10 13],则她应在干草堆 10,11,12,1310,11,12,13 中各添加一个干草捆。在贝茜完成了所有指令后,约翰想知道 N 个干草堆的中值高度——也就是说,如果干草堆按照高度从小到

2022-02-01 13:00:44 101

原创 AcWing 1826:农田缩减(枚举)

问题描述农夫约翰的 N 头奶牛分布在其二维农场的不同位置。约翰想用一个长方形的围栏把所有的奶牛围起来,围栏的边需要平行于 xx 轴和 yy 轴。在能够包含所有奶牛的情况下(处于围栏边界的奶牛也算包含在内),约翰希望围栏围起的面积尽可能小。不幸的是,由于上个季度的牛奶产量很低,约翰的预算十分紧张。因此,他希望建立一个更小的围栏,甚至为了实现这一目标,他愿意卖掉农场中的一头奶牛。请帮助约翰计算,卖掉牛群中的一头奶牛以后,他可以用围栏围起来的最小面积(为剩下的奶牛建造尽可能小的围栏)。

2022-01-30 22:38:50 378

原创 C语言:八皇后问题----回溯算法

【问题引入】在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。如果经过±90度、±180度旋转,和对角线对称变换的摆法看成一类,共有42类。计算机发明后,有多种计算机语言可以编程解决此问题。【问题分析】本题将要用到的是一种回溯的思想,为了更方便解释,先来看一道四皇后问题,也就是在4X4的棋盘上放四个.

2021-12-17 10:13:55 2499 2

原创 单链表:链表遍历经典题目

前面文章写到了链表的创建,节点的创建,插入,以及遍历链表,本文来解析两道关于遍历链表的基本题目#*题目1*#【问题描述】输入n个数据,建立带有头结点的单链表,并将建立好的单链表中的数据从头至尾遍历输出(要求输出数据的顺序与输入数据的顺序一致)。【输入形式】输入两行第一行为整数n(范围1-10)第二行为n个整型数据,数据与数据之间用空格分开。【输出形式】输出数据的顺序与输入数据的顺序一致,数据与数据之间仅用一个空格隔开。【样例输入】334 56 23【样例输

2021-11-16 08:58:12 716

原创 单链表:创建节点与插入节点&单链表的遍历

上次说到,一个完整的链表是由若干个节点组成的,那么在了解链表的基础知识后就要知道如何创建节点和插入节点,以及将链表遍历输出1.创建节点在创建节点之前,我们已经创建好了结构体和表头//创建结构体struct Node{ int data; struct Node* next;};//创建表头struct Node* createlist(){ struct Node* head = (struct Node*)malloc(sizeof(struct Node)); he

2021-11-16 08:34:08 3256

原创 单链表:链表简介及单链表的创建

链表是一种常见的数据结构,在之前经常使用数组存放元素,但数组是一种静态的数据结构,例如要存放一个班的学生成绩,每个班人数在30到50人之间,那么就要至少创建一个长度为50的数组,这种方式也会比较浪费空间。而链表能满足存储元素个数是不限定的,添加或删除元素时,存储的个数也会随之改变。单链表是链表中结构最简单的链表就如同排队一样一个接着一个,接下来的文章就将对单链表进行介绍和了解下面通过一幅图来理解单链表的结构链表中有一个头指针,图中Head表示的就是头指针,这个指针变量保存了一个变量的地址,.

2021-11-15 08:37:16 637

原创 C语言:汉诺塔(Hanoi)游戏(递归思想的应用)

汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。A表示金片初始的那根柱子,B表示过渡柱,C表示目标柱,看似复杂的问题,实际上可以分为三大步第1步:将A柱上的n-1个金片通过C柱移动到B柱第2步:将第n个(最大的)金片从A柱移动到.

2021-11-12 17:29:26 286

原创 C++:斐波那契数列(迭代和递归)

【问题引入】斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:==1,=+(n≥ 2,n∈ N*)用程序来输出斐波那契数列的前n项,每行m个数字,这里介绍两种方法,迭代法和递归法【迭代法】迭代法的思想是不断用旧值推出新值,恰好符合斐波那契...

2021-11-12 16:09:30 3411

原创 C++:删除数组中相同元素输出(无脑解法)

【问题描述】输入n个非0整型数据,将其中相同的数据删除只剩一个为止。要求:n由输入决定,n个数据存放在数组中。【输入形式】输入分三行,第一行n值,第二行n个数据,数据之间用一个空格分隔【输出形式】在一行上输出数据,数据之间有且只有一个空格。【样例输入】51 2 3 2 3【样例输出】1 2 3该解法其实并没有将重复的数据删除,话不多说,上代码~~#include<iostream>using namespace std;int main.

2021-11-11 18:04:27 1079

原创 C语言:数组排序(插入法排序)

插入法相对较复杂,基本原理是抽出一个数据,在前面数据中寻找相应的位置插入,然后继续下一个数据,直到排序完成以9、6、15、4、2为例来进行插入法排序 元素[0] 元素[1] 元素[2] 元素[3] 元素[4] 初始值 9 6 15 4 2 第1次 9 第2次 6 9 第3次 6 9 15 第4次

2021-11-11 12:54:06 4720 1

原创 C语言:数组排序(冒泡法排序)

冒泡法排序指的是在排序时,每次比较数组中相邻的两个数组元素的值,将较大的数(从小到大排列)排在较小的数后面。以数字9、6、15、4、2为例 元素[0] 元素[1] 元素[2] 元素[3] 元素[4] 起始值 9 6 15 4 2 第一次 6 9 4 2 15 第二次 6 4 2 9 15 第三次 4 2 6 9 15 第四次 .

2021-11-08 20:06:20 5989

原创 C语言:数组排序(选择法排序)

选择法排序指每次选择所要排序的数组中的最小(最大)的数组元素,将这个数组元素的值与后面没有进行排序的数组元素的值互换。下面以9、6、15、4、2为例,进行选择排序 元素[0] 元素[1] 元素[2] 元素[3] 元素[4] 起始值 9 6 15 4 2 第一次 2 6 15 4 9 第二次 2 4 15 6 9 第三次 2 4 6 15

2021-11-08 08:41:09 8465

原创 C++:求水仙花数

【问题描述】编写一个程序,输入一个正整数N(N大于等于100小于等于999),求出100~N之间的所有水仙花数。所谓 的水仙花数是:如果一个三位数的个位数、十位数、百位数的立方和等于该数自身,就称这个数为水仙花数。【输入形式】输入一个正整数N。【输出形式】输出从100到N之间的所有水仙花数,每个数以回车结束。【样例输入】400【样例输出】153 370 371【样例说明】输入一个的正整数400,输出为100~400之间的水仙花数153,370,371【源代码】#include&...

2021-10-26 09:13:39 6930

原创 C/C++:打印乘法口诀表

九九乘法表共有九行九列,则可用两个for循环嵌套来完成,本文将用C语言和C++语言来制作【C语言】#include<stdio.h>int main(){ int R, C; for (R = 1; R <= 9; R++) { for (C = 1; C <= R; C++) { printf("%d*%d=%d\t", R, C, R * C); } printf("\n"); } return 0;}【C++】#inc

2021-10-25 16:02:21 1461

原创 C++:判断可逆素数

【问题描述】若将某一素数的各位数字的顺序颠倒后得到的数仍是素数,则此素数称为可逆素数。编写一个判断某数是否可逆素数的函数,在主函数中输入一个整数,再调用此函数进行判断【输入形式】用户在第一行输入一个整数。【输出形式】程序在下一行输出yes或是no,yes表示此数是可逆素数,no表示不是。用户输入的数必须为正整数。注意:yes或是no全是小写输出。【样例输入】23【样例输出】no【样例说明】用户输入23,23各位数字颠倒之后得到32,23是素数,但32不是素数,所以23不是可逆素数。【源代码】

2021-10-25 09:21:43 2351

原创 C++:利用泰勒公式求cos x近似值

【问题描述】已知cos x的近似计算公式如下:cos x = 1 - /2! + /4! - /6! + ... + /(2n)!其中x为弧度,n为大于等于0的整数。编写程序根据用户输入的x和n的值,利用上述近似计算公式计算cos x的近似值,要求输出结果小数点后保留8位。【输入形式】从控制台输入小数x(0<=x<=10)和整数n(0<=n<=1000),两数中间用空格分隔。【输出形式】控制台输出公式结果:小数点后保留8位。【样例输入1】1.04.

2021-10-25 08:39:23 5314 1

原创 ​​​​C++:利用泰勒公式求e的x次方近似值

【问题描述】已知的近似值可由下面公式计算得出:=1 + x/1! + /2! + /3! + ...... +/n!给定x和n,利用上述公式求得的近似值。【输入形式】从控制台输入小数x,和整数n(n>=1),用空格隔开。【输出形式】向控制台输出求得的的近似值(小数点后保留6位有效数据)。【样例输入】7 27【样例输出】1096.633156【样例说明】输入的x为7,n的值为27,即:求e7的近似值,利用上述公式求得的近似值为:1096.6...

2021-10-25 08:32:15 4828 1

空空如也

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

TA关注的人

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