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

原创 全排列函数next_permutaton和prev_permutation

//next_permutation:C++中全排列函数(从小到大输出) //这是一个求一个排序的下一个排列的函数 //next_permutation(num,num+n)函数是对数组num中的前n个元素进行全排列,同时并改变num数组的值。 //需要强调的是,next_permutation()在使用前需要对欲排列数组按升序排序, //否则只能找出该序列之后的全排列数 //prev_permutation:C++中全排列函数(从大到小输出) 法一:使用数组直接定义(一般这样写就行了): #include

2022-01-18 15:24:58 667

原创 DFS深搜和BFS广搜解决迷宫问题

DFS深搜 从某点出发,沿着一个方向往下试探,当找到目标位置,还需回溯,以便找到所有的路径,再比较最短的路径,比较盲目,在解决迷宫问题时效率没有BFS高,优点是能计算所有路径的总数,DFS运用了栈。 可以把它比作一个勇士,一股脑往终点冲,然后退回,往复 BFS广搜 将起点入队,然后将队首结点可拓展的点入队,如果没有可拓展的点,将队首结点出队。重复以上步骤,直到到达目标位置或者队列为空。BFS搜索的结果一定是最短的,找最短路径时效率高。BFS运用到了队列。 ...

2022-01-14 17:30:29 24

原创 STL学习笔记

(一)vector 优点:删除、反向排序、动态空间 1、常用数组容器、可代替一般数组,也可以存字符串 2、具有插入、删除,排序、反排序功能 3、vector 具有内存自动管理的功能,对于元素的插入和删除,可动态调整所占的内存空间。 4、只能尾部扩张 操作: (1)v.push_back(); 迭代器遍历vector< int >::iterator it=v.begin() ~it!=v.end(); 利用*it输出 注:也可像数组一样利用下标方式访问 (2)v.erase() 利用位置或者迭代

2022-01-07 22:47:30 583

原创 [洛谷]P1803 凌乱的yyy / 线段覆盖(结构体+sort自定义排序)

#include<iostream> #include<stdio.h> #include<iomanip> #include<algorithm> using namespace std; struct acm{ int b,e; };//创建结构体 struct acm a[100000];//创建用于储存比赛开始和结束时间的结构体数组 bool cmp(acm a,acm b) { return a.e<b.e; }...

2021-08-16 21:37:14 290

原创 P1616 疯狂的采药(完全背包问题)

思路 这个问题非常类似于 01 背包问题,所不同的是每种物品有无限件。也就是从每种物品的角度考虑,与它相关的策略已并非取或不取两种,而是有取 0 件、取 1 件、取 2 件……等很多种。 将 01 背包问题的基本思路加以改进,得到了这样一个清晰的方法。这说明01背包问题的方程的确是很重要,可以推及其它类型的背包问题。 for(int i=1;i<=n;i++){ for(int V=w[i];V<=v;V++){ dp[V]=max(dp[V],dp[V-w[i]]+c[i]);//状态转移方.

2021-08-10 15:51:15 485

原创 [洛谷]P1164小A点菜(01背包——方案数)

状态转移方程: 更新后当前钱数的方案数 =更新前当前钱数的方案数 +当前钱数减去菜价所剩钱数 的方案数 dp[j]+=dp[j-a[i]] 注意:dp[0]=1,即没钱的时候只有一种方案,就是不买。 #include<iostream> using namespace std; int a[10004]; int dp[1004]; int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) .

2021-08-09 17:37:30 352

原创 [洛谷]P1223 排队接水——带序号一起排列的问题

思路 1、可以用一个数组把序号记录下来,在冒泡排序交换的时候,把记录序号的对应数组元素也同时交换。 2、用另一个数组储存相同的数据,以这个数组做对照,输出序号。 (下面代码采用的是第一种) #include<iostream> #include<stdio.h> #include<iomanip> using namespace std; int t[10004]; int x[10004]; int main() { double n; ...

2021-08-09 16:45:18 177

原创 [洛谷P1498] 南蛮图腾(分治+递归)

分析 根据题目标签,首先解释一下分治算:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。即一种分目标完成程序算法———百度百科。 递归的话大家都很熟悉的。 然后再解释一下为什么要用分治和递归 :根据样例图形分析可以知道,这是一个由一个基础图形得到的复杂图形,说白了就是图腾每次扩大时,向右复制一个,再向上复制一个,最后再倒置输出。 #include<iostream> #include<cmath.

2021-07-28 17:49:46 2010

原创 [洛谷月赛]P5638 【CSGRound2】光骓者的荣耀(经典模拟)

题目描述 注意:他可以不访问所有的城市,使用传送器不耗费时间 输入格式 输出格式 一个整数,表示答案。 输入输出样例 输入 4 1 1 2 3 输出 3 思路 由于小K的不稳定传送器只能传送一次,可以想到用总时间-传送节约的跑的时间 因为总距离是变不了的,所以说求出传送节约时间的最大值即可求出最短需要的时间 如果一个一个枚举的相隔k的城市之间的时间的话,会很慢,于是想到用一个求区间和的好东西:前缀和 前缀和通常用sum[ ]表示,sum[i]表示从1到i之间的总和(这里就是从1跑到i所需的时间),用前缀

2021-07-25 18:01:25 433

原创 赵神牛的游戏(过程分析与结果分析)

题目描述 输入与输出 样例 输入#1 100 3 5000 20 1000 90 1 110 10000 输出#1 1 输入#2 50 4 10 60 100 70 1000 80 1000 90 0 输出#2 -1 思路一 按照过程分析,释放一次技能,减少一次蓝量,Boss的血量减少一次单次技能的伤害,当蓝量不够下一次技能所消耗或者蓝量小于等于0的时候或者Boss的血量小于等于0的时候退出循环,用一个字母去记录是因为蓝量不够还是因为Boss血量归零退出的循环。 如果是因为Boss血量归零则说明可以击败

2021-07-24 22:12:16 581 2

原创 百鸡问题(有关C和C++关系的探索及输入速度的比较)

题目描述: 用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。 输入: 测试数据有多组,输入n。 输出: 对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。 样例: 输入: 40 输出: x=0,y=0,z=100 x=0,y=1,z=99 x=0,y=2,z=98 x=1,y=0,z=99 思考: 刚开始我想了一种方法 #include<iost..

2021-07-13 17:14:08 450 4

原创 C/C++语言用埃氏筛选法快速筛选素数

思路 要枚举n以内的素数,可以用埃氏筛法。这是一个与辗转相除法一样古老的算法。 首先,将2到n范围内的所有整数写下来。其中最小的数字2是素数。将表中所有2的倍数都划去。表中剩余的最小数字是3,它不能被更小的数整除,所以是素数。再将表中所有3的倍数全都划去。依次类推,如果表中剩余的最小数字是m时,m就是素数。然后将表中所有m的倍数全部划去。像这样反复操作,就能依次枚举n以内的素数。 c++ 样例 当maxn=20时 首先 外面的循环 毋庸置疑 从2-20遍历需要20次(...

2021-07-11 17:24:50 3346

原创 Hello,world!

##Hello,world! | 题目描述 This is the first problem for test. Since all we know the ASCII code, your job is simple: Input numbers and output corresponding messages. 输入 The input will contain a list of positive integers separated by whitespaces(spaces, newlines

2021-07-11 15:53:03 152 2

空空如也

空空如也

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

TA关注的人

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