自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

辗转相除法求a,b的最大公约数,a,b必不相等,若a为稍大的数,则a可以看做是kb+q(q为常数,1<=k),再计算q与b的最大公约数就可以了,直到余数为0。代码如下#include<iostream>using namespace std; int gcd(int m,int n){ int q; //余数,当余数为0的时候,最后的m即为最大公约数 //先用较小的数对较大的数取余,再用余数对较小的数求余,直到余数为零 //若m>n,经过一次变换后,m,n

2020-12-25 20:49:27 248

原创 完全背包问题

题目描述有n种重量和价值分别为w[i],v[i]的物品,从这些物品中挑选总重量不超过W的物品,求挑出物品价值总和的最大值。在这里,每种物品可以挑选多次。限制条件1 <= n <=1001<= w[i],v[i] <= 1001<=W<=10000输入n,ww[i],v[i]输出价值总和的最大值样例输入3 73 44 52 3样例输出10代码#include <algorithm>#include <i

2020-10-08 11:17:46 135

原创 最长公共子序列问题

问题描述给定两个字符串s1s2s3…sn和t1t2…tn。求出两个字符串最长的公共子序列的长度。字符串s1s2s3…sn的子序列指可以表示为si1si2…sim(i1<i2<…<im)的序列。限制条件1<=n,m<=1000样例输入4//n4//mabcd//sbrcd//t样例输出3//bcd代码#include <iostream>#include <algorithm>#include <string.h&

2020-10-04 20:58:05 94

原创 【动态规划】背包问题

题目描述有N件物品和一个可承受总重量不超过W的背包。第i件物品的重量是w[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包重量,且价值总和最大。输入n(n个物品)每个物品的w和vw(背包可承受总重量)输出v(最大价值)样例输入42 31 23 42 25样例输出7代码#include <iostream>#include <algorithm>#include <cstdio>#include &l

2020-09-29 11:03:26 112

原创 Fence Repair

题目描述输入Line 1: One integer N, the number of planks Lines 2..N+1: Each line contains a single integer describing the length of a needed plank输出Line 1: One integer: the minimum amount of money he must spend to make N-1 cuts样例输入38 5 8样例输出34代码#

2020-09-25 09:45:15 88

原创 Saruman‘s Army

题目描述直线上有N个点。点i的位置是 xi ;从这N个点中选择若干个,给它们加上标记。对每一个点,其距离为R以内的区域里必须有带有标记的点(自己本身带有标记的点,可以认为与其距离为0的地方有一个带有标记的点)。在满足这个条件的情况下,希望能为尽可能少的点添加标记。请问至少要有多少点被加上标记?输入N(直线上点的数量)R(距离)Xi(每个点的位置)输出最少标记数样例输入6101 7 15 20 30 50样例输出3代码#include <iostream>#incl

2020-09-24 11:22:21 649

原创 贪心法解决字典序问题

题目描述给定长度为N的字符串S,(字符串S全为大写字母组成)要构造一个长度也为N的字符串T。起初,T是一个空串。随后反复进行下面任意操作:1.从S的头部删除一个字符,然后加到T的尾部。2.从S的尾部删除一个字符,然后加到T的尾部。目的是要构成字典序尽可能小的字符串T。样例输入6//字符串长度ACDBCB//字符串S输出ABCBCD代码#include <iostream>#include <algorithm>#include <cstdi

2020-09-23 21:10:09 214

原创 贪心解决区间调度问题

题目描述有n项工作,每项工作分别在si开始,ti结束。对每项工作,你都可以选择参加或不参加,但选择了参加某项工作就必须至始至终参加全程参与,即参与工作的时间段不能有重叠(即使开始的时间和结束的时间重叠都不行)。目标:参与尽可能多的工作,那么最多能参与多少项工作限制条件:1<=n<=1000001<=si<=ti,=10^9样例输入5//n项工作1 2 4 6 8//第i项工作的开始时间3 5 7 9 10//第i项工作的结束时间输出3代码#in

2020-09-23 20:02:54 121

原创 贪心法解决硬币问题

题目描述有1元,5元,10元,50元,100元,500元的硬币各C1,C5,C10,C50,C100,C500枚。现在要用这些硬币来支付A元,最少需要多少枚硬币,假设本题至少存在一种支付方案样例样例输入3 2 1 3 0 2 620样例输出6代码#include <iostream>#include <algorithm>#include <cstdio>#include <cmath>using namespace std;

2020-09-23 16:43:47 988

原创 next_permutation()全排列函数

next_permutation()全排列函数必须升序才能全排列#include <iostream>#include <algorithm>using namespace std;int main(){ int a[4] = {0,1,4}; while(next_permutation(a,a+4)) { cout << a[0] << a[1] << a[2] <<endl;

2020-09-22 21:02:37 126

原创 用BFS解决一个基础的迷宫问题

题目描述##样例输入##样例输出22##代码#include <iostream>#include <queue>#include <cstdio>using namespace std;const int INF = 100000000;//定义一个大数,每个坐标只会访问一次const int max_m = 100,max_n = 100;typedef pair<int,int>P;//定义一个坐标格式,让队列可以储存坐标in

2020-09-22 20:12:27 163

空空如也

空空如也

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

TA关注的人

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