
数据结构
m0_37220818
这个作者很懒,什么都没留下…
展开
-
题解 蓝桥杯 算法提高 B君的希望最长上升子序列
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 你有个同学叫B君,他早听闻祖国河山秀丽,列了一张所有可能爬的山的高度表,因“人往高处走”的说法,所以他希望要爬的山按照表上的顺序,并且爬的每一座山都要比前一座高,爬的山数最多,请贵系的你帮他解决这个问题。(cin,cout很坑)输入格式 输入第一行为num(11000)和maxHeight(18848),代表山的个数和最大高度 输入第二行有num个整数,代表表上每座山的高度height(1~maxHeight)输出格式原创 2022-03-10 17:21:44 · 530 阅读 · 0 评论 -
题解 蓝桥杯 算法提高 ADV-617 自然数拆分
问题描述 HJQ同学发现了一道数学题,要求n拆分成若干自然数和的方案输入格式 输入n输出格式 输出n拆分成若干自然数和的方案,每个方案一行数据规模和约定 n <= 10import java.util.LinkedList;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO Auto-generated method stub原创 2022-03-03 13:26:25 · 333 阅读 · 0 评论 -
题解 蓝桥杯 算法提高 ADV-1179 智能体系列赛 Java
问题描述 zsyzgu是一个弱菜,尽管如此他还是参加了智能体系列赛。智能体系列赛的问题经简化后是这样的,有一只猴子和一些矿点,知道他们在平面上的坐标,这只猴子要经过这些矿点至少一次。假设这只猴子从点A走到点B所要花费的步数是这两个点的曼哈顿距离(即|A.x-B.x|+|A.y-B.y|),问这只猴子经过这些矿点至少一次所需的最少步数。 系列赛中的许多选手都用了贪心的策略,即每次都到最近的没经过的矿点去。但zsyzgu的思路是搜索,这也是他能够摆脱垫底命运获得纪念版T-shirt的原因。输入格式原创 2022-03-02 23:21:41 · 249 阅读 · 0 评论 -
众数
#include&amp;lt;iostream&amp;gt;using namespace std; int* sort(int a[],int n) { for(int i=1;i&amp;lt;n;i++) { for(int j=0;j&amp;lt;n-i;j++) { if(a[j]&amp;gt;a[j+1]) { i原创 2019-01-08 09:23:55 · 239 阅读 · 0 评论 -
回文数
#include<iostream>using namespace std;bool judge(int n){ int m=0; int a=n; while(n!=0) { m=m*10+n%10; n=n/10; } return m==a;}int main(){ int a=101; cout<<judge(a); ...原创 2019-01-08 09:29:24 · 117 阅读 · 0 评论 -
最大公约数
#include<iostream>using namespace std;int yue(int x,int y){ while(y!=0) { int r=x%y; x=y; y=r; } return x;}int bei(int x,int y,int z){ return x*y/z; }int main(){ cout...原创 2019-01-08 09:38:13 · 108 阅读 · 0 评论 -
字符串统计
统计字符串内的大小写字母和数字的个数#include<iostream>using namespace std;void judge(char a[],int n){ int d=0,h=0,nu=0; for(int i=0;i<n;i++) { if(a[i]>='a'&&a[i]<='z') { d++; }...原创 2019-01-08 09:49:13 · 127 阅读 · 0 评论 -
输出1-1000素数
#include<iostream>using namespace std;bool judge(int n){ int tag=1; for(int k=2;k<n-1;k++)//判断n是否是素数就把n对从2开始到n-1进行整数,如果到n-1都没有数能和n整除,说明n只能和n整除,即为素数 { if(n%k==0) tag=0; } return t...原创 2019-01-08 10:07:10 · 868 阅读 · 0 评论 -
NYOJ-10-skiing(深度搜索加记忆化搜索)
#include&amp;amp;amp;lt;iostream&amp;amp;amp;gt;#include&amp;amp;amp;lt;algorithm&amp;amp;amp;gt;#define MAX 110using namespace std;int D[MAX][MAX];int dp[MAX][MAX];//int dir[4][2]={-1,0,1,0,0,-1,0,1};//i原创 2019-01-18 23:08:20 · 224 阅读 · 0 评论 -
NYOJ-49-开心的小明
题目描述:小明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N 元钱就行”。今天一早小明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N 元。于是,他把每件物品规定了一个重要度,分为5 等:用整数1~5 表示,第5 等最重要。他还从因特网上查到了每件物品的价格(都...原创 2019-01-21 23:32:48 · 204 阅读 · 0 评论 -
76-超级台阶
题目描述:有一楼梯共m级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第m级,共有多少走法?注:规定从一级到一级有0种走法。输入描述:输入数据首先包含一个整数n(1<=n<=100),表示测试实例的个数,然后是n行数据,每行包含一个整数m,(1<=m<=40), 表示楼梯的级数。输出描述:对于每个测试实例,请输出不同走法的数量。样例输入:复制2...原创 2019-02-24 22:23:51 · 95 阅读 · 0 评论 -
NYOJ -6-喷水装置(一)
题目描述:现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。输入描述:第一行m表示有m组测试数据每一组测试数据的第一行有一个整数数n,n表...原创 2019-01-13 00:06:37 · 151 阅读 · 0 评论 -
NYOJ-18-The Triangle-数字三角形动态递归
题目要求:73 88 1 02 7 4 44 5 2 6 5在上面的数字三角形中寻找在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99输入格式:5 //三角形行数。下面是三角形73 88 1 02 7 4 ...原创 2019-01-17 21:46:40 · 249 阅读 · 0 评论 -
从随机产生的无序元素链表去掉重复元素
从随机产生的无序链表去掉重复元素去重的操作是遍历两遍链表进行去重,时间复杂度n²,不需要重新开辟空间# include&lt;iostream&gt;using namespace std;typedef struct node{ int data; struct node *next;}NODE,*PNODE;PNODE create(){ int x; PNODE...原创 2018-11-30 20:05:11 · 331 阅读 · 0 评论 -
利用二分查找算法在一有序表中插入元素
二分查找就是将查找的元素和子数组的中间键作比较,如果被查找的元素小于中间元素,就在左子数组继续查找;如果大于中间元素,就在右子数组中查找,否则中间元素就是要找的元素。# include<iostream>using namespace std;void init(int a[],int n);void print(int a[],int n);int BinaryRearch...原创 2018-12-08 19:44:18 · 3896 阅读 · 0 评论 -
任意给出一个N位数,把它重新组成一个N位的最大数和一个最小数,算出两者间的差。
任意给出一个N位数,把它重新组成一个N位的最大数和一个最小数,算出两者间的差。# include<iostream>using namespace std;void bubblesort(int num[],int n);int main(){ int num,n=0; cin>>num; int digit[100]; while(num!=0) {...原创 2018-12-12 22:57:50 · 1557 阅读 · 0 评论 -
Lake Counting(水坑问题)深度优先算法
试题描述有一个大小为MN的园子,雨后积起了水。八连通的积水被认为是连接在一起的。请求出园子里共有多少水洼?(八连通指的是下面图中相对W的的部分)W限制条件:N,M≤100输入第一行包含两个正整数 N 和 M,表示将一个园子地面分成N*M块方格,N 行,M列,接下来的 N 行描述了园子地面状况,其中‘W’表示积水的水洼,‘.’表示没有积水。输出仅一个数,表示水洼的总数。输入示例...原创 2018-12-12 23:05:49 · 1765 阅读 · 0 评论 -
奇阶幻方
奇阶幻方# include&lt;iostream&gt;# include&lt;iomanip&gt;using namespace std;int a[256][256];void oddMgic(int n);int main(){ int n; cin&gt;&gt;n; oddMgic(n); for(int i=0;i&lt;n;i原创 2018-12-15 20:34:49 · 285 阅读 · 0 评论 -
南阳理工oj-2括号配对问题
题目描述:现在,有一行括号序列,请你检查这行括号是否配对。输入描述:第一行输入一个数N(0&lt;N&lt;=100),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[", “]”, “(”, “)” 四种字符输出描述:每组输入数据的输出占一行,如果该字符串中所含的括号是配对...原创 2018-12-21 16:22:25 · 213 阅读 · 0 评论 -
南阳理工oj 13-Fibonacci数
题目描述:无穷数列1,1,2,3,5,8,13,21,34,55…称为Fibonacci数列,它可以递归地定义为F(n)=1 …(n=1或n=2)F(n)=F(n-1)+F(n-2)…(n>2)现要你来求第n个斐波那契数。(第1个、第二个都为1)输入描述:第一行是一个整数m(m<5)表示共有m组测试数据每次测试数据只有一行,且只有一个整形数n(n<20)输出描述:...原创 2018-12-21 17:38:04 · 168 阅读 · 0 评论 -
数字三角形递归的一些思考
题目要求:73 88 1 02 7 4 44 5 2 6 5在上面的数字三角形中寻找在上面的数字三角形中寻找一条从顶部到底边的路径,使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或右下走。只需要求出这个最大和即可,不必给出具体路径。 三角形的行数大于1小于等于100,数字为 0 - 99输入格式:5 //三角形行数。下面是三角形73 88 1 02 7 4 ...原创 2019-01-17 21:10:12 · 537 阅读 · 0 评论 -
利用栈来判断一个字符是否为回文数
我的思路是将需要判断的字符串分成两部分来比较(如果字符个数是奇数,会自动跳过中间那个数的比较)。首先第一部分元素入栈,第二部分存放在字符数组中。然后栈内元素开始出栈,出栈的元素依次和存放在数组中的第二部分元素进行比较,形象一点说也就是从原字符正中间取两个元素开始依次向两边比较(奇数个字符的话跳过中间那个数取其两边的数),一直比到两边尽头。如果相等则是回文数。下面贴代码#include&...原创 2018-12-02 20:30:13 · 4154 阅读 · 1 评论