自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串大小写互转(函数法)

toupper函数toupper是小写转大写函数,toupper函数原型为:int toupper(int c){ if (c >= 'a' && c <= 'z') { return c + ('A' - 'a'); } else { return c; }}tolower函数tolower是大写转小写函数,tolower函数原型为:int tolower(int c){.

2021-05-23 15:16:36 4678

原创 STL中next_permutation函数的应用-全排列(C++)

next_permutation是algorithm库中的全排列函数,所以,我们用next_permutation函数的时候要加上头文件 #include <algorithm>,其强大的功能,可以解决我们写dfs,写完之后还要debug好久的烦恼。格式为:next_permutation(arr,arr+n);左边参数为数组的起始地址,右边参数为数组的结束地址 + 1 ,可以理解为一个左闭右开区间。下面是几个实际应用例子:全排列问题题目描述输出自然数 1 到 n 所有不重复的排列

2021-05-22 14:57:24 386 5

原创 C++格式化输出

下面介绍几种常用的C++格式化输出情况——注:要加上一个头文件#include <iomanip>。1. 输出保留几位小数#include <iostream>#include <iomanip>using namespace std;int main(){ double x = 112.3456789; cout << std::fixed << std::setprecision(2) << x <<

2021-05-22 14:28:51 1214 3

原创 NOIP-2007-普及组-纪念品分组-(贪心)

NOIP2007-普及组-纪念品分组题目描述元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作。为使得参加晚会的同学所获得的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品,并且每组纪念品的价格之和不能超过一个给定的整数。为了保证在尽量短的时间内发完所有的纪念品,乐乐希望分组的数目最少。你的任务是写一个程序,找出所有分组方案中分组数最少的一种,输出最少的分组数目。输入格式共 n + 2 行第一行包括一个整数 w ,为每组纪念品价格之和的上限。第二行为一个

2021-05-16 16:38:18 433 2

原创 蛇形方阵(C++)

题目描述给出一个不大于 9 的正整数 n,输出 n×n 的蛇形方阵。从左上角填上 1 开始,顺时针方向依次填入数字,如同样例所示。注意每个数字有都会占用 3 个字符,前面使用空格补齐。样例输入4样例输出 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16下面附上C++代码:#include <iostream>#include <iomanip>#define ll long longusing names

2021-05-05 14:22:16 3042

原创 洛谷-P1803-凌乱的yyy / 线段覆盖-(贪心)

经典贪心题(区间不相交问题)题目背景快 noip 了,yyy 很紧张!题目描述现在各大 oj 上有 nn 个比赛,每个比赛的开始、结束的时间点是知道的。yyy 认为,参加越多的比赛,noip 就能考的越好(假的)。所以,他想知道他最多能参加几个比赛。由于 yyy 是蒟蒻,如果要参加一个比赛必须善始善终,而且不能同时参加 22 个及以上的比赛。输入格式第一行是一个整数 n , 接下来 n 行每行是2个整数 ai , bi ( ai < bi ), 表示比赛开始,结束的时间。输出格式

2021-04-21 15:41:03 364

原创 C++中sort函数的应用

sort函数简介:头文件: #include <algorithm>时间复杂度:类似于快排,时间复杂度较低。参数:(1)需要进行排序的数组的首地址;(2)需要进行排序的数组的末地址 + 1;(3)默认为从小到大排序(传入两个参数),如果要进行从大到小排序,就要传入三个参数(自定义bool函数 cmp )。实例:#include <iostream>#include <algorithm>using namespace std;bool cmp

2021-03-31 12:06:05 208

原创 一维前缀和的应用(C++)

一维前缀和的应用一维前缀和顾名思义是对一个一维的数组进行操作。用前缀和来处理问题可以很好得避免循环的嵌套,大大缩短了程序的运行时间。我们可以通过一道例题来体会一下一维前缀和的思想。问题描述:输入多个区间的左右下标,每次进行加减操作,输出该区间内每个数字的值(初始值均为0)。输入:包括多行,第一行:两个整数 n , m。接下来的 m 行,每行3个整数 L , R , K ,表示区间的左边界 L ,右边界 R, 以及对该区间进行加减操作的数 K 。L <= R <= 1000000

2021-03-31 11:41:32 322 1

原创 高精度加法(C++实现)

高精度加法题目描述:输入:两个整数 a , b (a,b都不超过1000位)。输出:a+b的值。样例输入:201001222010012212345678902010012220100122样例输出:20100122203011233454668012题目分析:由于位数较大,所以我们要考虑使用字符数组来接收 a 和 b ,然后在字符数组上进行加法操作。接下来附上C++代码:#include <iostream>#include <string.h>us

2021-03-27 16:16:56 483

原创 经典问题-N皇后(回溯)C++实现

经典问题-N皇后问题描述给定一个n*n(n<=10)的国际象棋棋盘,要求将n个皇后放置于该国际象棋棋盘中,要求任意两个皇后不在同一行,不在同一列,也不在同一条对角线上,那么请问有多少种方法?样例输入:4样例输出:2问题分析:此题是经典的dp(动态规划)题,所以我们用动态规划来解决这一道题。我们可以用一个数组 x [ t ] 来表示第 t 行的皇后所在的列是第 x [ t ] 列(数组x 的值表示列数),然后进行一行一行的判断,如果最后一行可以放置皇后,那么就让sum++ 来记录放置皇

2021-03-27 16:01:52 1041 2

原创 任意进制之间的转换(C++实现)

任意进制之间的转换(C++实现)题目描述输入格式:第一行输入两个整数 n 和 m (2<=n,m<=16),n 代表的是第二行输入的数的进制,m 代表的是输出的数字的进制。第二行输入一个x(如果有字母,输入大写字母)。输出格式:输出一个 m 进制的数。样例输入:10 16样例输出:1E接下来是C++实现的此程序:#include <iostream>#include <math.h>#include <string.h>using

2021-03-20 21:42:24 3340

原创 CCF-CSP-2013-12-4-有趣的数(C++详解)

2013-12-4-有趣的数问题描述我们把一个数称为有趣的,当且仅当:它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。最高位数字不为0。因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。请计算恰好有n位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以1000000007的余数。输入格式输入只有一行,包括恰好一个正整数n (4 ≤ n ≤

2021-03-19 19:21:43 763

原创 十进制转十六进制(C++)

十进制转十六进制(C++语言实现)十进制数字每位有十个可能的值:0-9。而十六进制则是在这些数字的基础上加了A、B、C、D、E、F,这五个字母。下面附上C++代码:#include <iostream>#include <string.h>using namespace std;int main(){ char ch[100];//用一个字符串类型的数组来存储十六进制数 int n, a, i = 0, j, t; cin >> n;//输入一个

2021-03-19 14:38:08 8256 4

空空如也

空空如也

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

TA关注的人

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