![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
编程练习
文章平均质量分 73
编程能力提升
且行123
计算机本硕,热爱生活,记录BUG
展开
-
复试上机练习
复试原创 2023-02-02 11:43:11 · 650 阅读 · 1 评论 -
【蓝桥】dp
dp蓝桥练习目录邮票拿金币印章邮票给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票。我们现在有M(M<=100)种不同邮资的邮票,面值为X1,X2….Xm分(Xi是整数,1≤Xi≤255),每种都有N张。显然,信封上能贴的邮资最小值是min(X1, X2, …, Xm),最大值是 N*max(X1, X2, …, Xm)。由所有贴法得到的邮资值可形成一个集合(集合中没有重复数值),要求求出这个集合中是否存在从1到某个值的连续邮资序列,输出这个序列的最大值。例如,原创 2022-01-07 19:09:12 · 662 阅读 · 0 评论 -
Part 3.1 深度优先搜索
深度优先搜索P1219 八皇后反思代码P1019 单词接龙P5194 [USACO05DEC]ScalesP5440 【XR-2】奇迹P1378 油滴扩展P1219 八皇后反思代码#include<bits/stdc++.h>using namespace std;int total;int n;int a[100],b[100],c[100],d[100]; // c/ d\//int print(){ if(total<=2){ for(int k=1;k&原创 2021-12-16 19:45:53 · 66 阅读 · 0 评论 -
P1115 最大子段和 DP动态规划
最大子段和问题[DP]b[i]=max(b[i-1]+a[i],a[i])第一个数为一个有效序列如果一个数加上上一个有效序列得到的结果比这个数大,那么该数也属于这个有效序列。如果一个数加上上一个有效序列得到的结果比这个数大,那么该数也属于这个有效序列。如果一个数加上上一个有效序列得到的结果比这个数小,那么这个数单独成为一个新的有效序列}- 如果一个数加上上一个有效序列得到的结果比这个数小,那么这个数单独成为一个新的有效序列72 -4 3 -1 2 -4 3#include<bits/原创 2020-12-25 15:08:34 · 157 阅读 · 0 评论 -
修路
P5019 [NOIP2018 提高组] 铺设道路 题解返回题目由于雨水冲刷,长度为N的路面下陷。勤劳的养路工人使用机器恢复路面,机器每天只能对一段路面[L,R]之间的区域进行1个单位深度的填充修补,道路的路况用下陷的深度表示。请编程输出修好这条路至少需要的天数。【输入形式】第一行一个整数N;第二行N个空格隔开的整数,表示路面的下陷程度。【输出形式】一个整数,表示所用的天数。【样例输入】61 3 2 4 5 3【样例输出】6【样例说明】6天修补[1,6], [2,6], [2,原创 2020-12-27 15:53:52 · 1072 阅读 · 0 评论 -
笔记
sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,原创 2020-12-02 22:03:51 · 74 阅读 · 0 评论 -
P1115 最大子段和分治
P1115 最大子段和给出一个长度为 nn 的序列 aa,选出其中连续且非空的一段使得这段和最大。72 -4 3 -1 2 -4 3分治的解法。首先,假定有区间[l..r][l..r],其中间位置为midmid,其最大子段为[i..j][i..j]。那么显然,ii和jj必定符合下列三种情况之一:1.l \leq{i} \leq{j} \leq{mid} l≤i≤j≤mid2.i \leq{mid} <j \leq{r} i≤mid<j≤r3.mid < i \le原创 2020-12-25 15:20:56 · 235 阅读 · 0 评论 -
编辑距离问题
【样例输入】fxpimuxwrs【样例输出】5【样例说明】【评分标准】#include<iostream>#include<string>#include <malloc.h>using namespace std;int min_val(const int a,const int b,const int c){ int min = a<b?a:b; min = min<c?min:c; retu.原创 2020-11-19 15:25:14 · 80 阅读 · 0 评论 -
cg租用游艇问题(动态规划)
问题: 长江游艇俱乐部在长江上设置了n个游艇出租站1,2,3…,n。游客可以在这些游艇出租站用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1<=i<j=n。试设计一个算法,计算从游艇出租站1到出租站n所需的最少租金。数据输入: 第一行表示有n个站点。接下来n-1行是r( i , j)。输入示例(有3个站点,从 1 到 2 要 5,从 1 到 3 要 15,从 2 到 3 要 7):35 157数据输出: 输出原创 2020-11-17 22:01:15 · 564 阅读 · 0 评论 -
消防应急疏散通道问题1(难度系数3)
573 88 1 02 7 4 44 5 2 6 5#include<iostream>using namespace std;int main(void){ int n,a[105][105]; int i; int j; int max; cin>>n; for(i=1;i<=n;i++) for(j=1;j<=i;j++)cin>>a[i][j]; for(i=n-1;i>0;i--) { fo.原创 2020-11-19 15:05:00 · 843 阅读 · 0 评论 -
最长等差子列
理解题目连续#include<bits/stdc++.h>using namespace std;int main(){ int N; cin>>N; int a[N]; for(int i=0;i<N;i++) cin>>a[i]; int d,s=0,t;//s第一项,t第二项 ,d公差值 int ans=1; while(s<N-1) { t=s+1; d=a[t]-a[s]; while(t<N &原创 2020-11-18 21:33:00 · 77 阅读 · 0 评论 -
连续最大数 水题
#include<bits/stdc++.h>#include<algorithm>using namespace std;int main(){ int n,m; cin>>n>>m; int a[n],temp[m]; for(int i=0;i<n;i++)cin>>a[i]; for(int i=0;i<n-m+1;i++){//一个数组到另一个数组n-m+1 int t=i;// for(int j原创 2020-12-13 20:04:07 · 80 阅读 · 0 评论 -
挖金子
#include<stdio.h>#include<math.h>int a[100][100]={0};int main(){ int n,t,i,j; scanf("%d%d",&n,&t); for(i=1;i<=n;i++) for(j=1;j<=n;j++) scanf("%d",&a[i][j]); int lx=1,ly=1,x=1,y=1; int ans=0; int count=0; while(1).原创 2020-11-18 21:27:41 · 584 阅读 · 0 评论