
算法
yuehailin
不断坚持,不断进步。
展开
-
动态规划(三)
代码://// main.cpp// 30// 动态规划,最长不下降子序列// Created by 岳海林 on 2019/8/16.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;const int N = 100;i...原创 2019-08-16 15:26:30 · 479 阅读 · 0 评论 -
初识动态规划
有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。给定一个矩阵map及它的行数n和列数m,请返回最小路径和。保证行列数均小于等于100.输入输出样例:第一行,输入n,m表示这个矩阵的行数和列数,接下来的n行,输入每行的m个数字,也即每个格子的权值。最后输出最小路径和。如:...原创 2019-03-12 22:05:07 · 231 阅读 · 0 评论 -
中南大学复试上机:1024: 走路还是坐公交
1024: 走路还是坐公交题目描述你收到通知被中南大学录取了,高兴的来到了长沙,很快你就来到了岳麓南路上,已知你的位置是N,中南大学的位置是K。为了去中南大学,你有两种移动方式:走路或者坐公交。走路:你可以从位置X移动到X+1或者X-1搭公交车:你可以从位置X移动到2X每次走路或者搭公交车所需要的时间都是1分钟,你想尽快到达中南大学,所需的时间是多少呢?输入多组...原创 2019-03-17 13:02:13 · 485 阅读 · 0 评论 -
中南大学复试上机:1024: 走路还是坐公交
1024: 走路还是坐公交题目描述你收到通知被中南大学录取了,高兴的来到了长沙,很快你就来到了岳麓南路上,已知你的位置是N,中南大学的位置是K。为了去中南大学,你有两种移动方式:走路或者坐公交。走路:你可以从位置X移动到X+1或者X-1搭公交车:你可以从位置X移动到2X每次走路或者搭公交车所需要的时间都是1分钟,你想尽快到达中南大学,所需的时间是多少呢?输入...原创 2019-03-17 10:16:30 · 893 阅读 · 0 评论 -
中南大学复试上机:最短路径
1025: 最短距离题目描述小王和小明是好朋友,两人最开始各有一个初始位置 p 和一个恒定速度 v,从0时刻起开始,他们从初始位置以恒定速度开始行走,请告诉我行走过程中两人的最短距离是多少。输入第一行输入T代表测试样例数目。对于每个样例,第一行包含四个整数 x1,y1,x2,y2,表示人的起点(x1,y1),(x2,y2)。第二行是四个整数u1,v1,u2,v2,表示...原创 2019-03-08 10:48:42 · 1086 阅读 · 6 评论 -
最短路径之迪杰斯特拉算法
#include<stdio.h>int main(){ int e[10][10],dis[10],book[10],i,j,n,m,t1,t2,t3,u,v,min; int inf = 99999999; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(i==...原创 2019-03-16 18:18:03 · 350 阅读 · 0 评论 -
中南大学复试上机:1010: 好坑的电子地图
1010: 好坑的电子地图时间限制:1 Sec内存限制:128 MB题目描述小明是今年参加复试的外校考生,他要去民主楼小礼堂签到。由于对中南大学校本部很不熟悉,小明找到了这边读书的好朋友鲁大师,不巧,鲁大师在忙着自由探索项目的结题工作,不能给他带路,只好给他发了一份半成品的电子地图。地图上只列出了校本部内的N个点,M条路,小明处于S点,民主楼小礼堂是T点。小明感谢鲁大师,当然只...原创 2019-03-16 12:54:48 · 434 阅读 · 0 评论 -
深度优先搜索(2)
#include<stdio.h>int min = 999999999,book[101],n,e[101][101];void dfs(int cur,int dis)//cur为当前标号,dis为已经走得距离 { int j; if(dis>min) return; if(cur == n){ if(dis<min) min =...原创 2019-03-16 10:30:45 · 268 阅读 · 0 评论 -
广度优先搜索
#include<stdio.h>struct note{ int x; int y; int f; int s; };int main(){ struct note que[2501]; int a[51][51]={0},book[51][51]={0}; int next[4][2]={ {0,1},//you {1,0},//xia {0,-1},/...原创 2019-03-07 21:23:02 · 170 阅读 · 0 评论 -
深度优先搜索
#include<stdio.h> int n,m,p,q,min=9999;int a[51][51],book[51][51];void dfs(int x,int y,int step){ int next[4][2]={ {0,1},//you {1,0},//xia {0,-1},//zuo {-1,0}};//shang int tx,ty,k; if...原创 2019-03-07 19:33:45 · 147 阅读 · 0 评论 -
广度优先搜索(2)
#include<stdio.h>struct note{ int x;//城市编号 int s;//转机次数 };int main(){ struct note que[2501]; int e[51][51]={0},book[51]={0}; int head,tail; int i,j,n,m,a,b,cur,start,end,flag = 0; sca...原创 2019-03-15 08:28:57 · 271 阅读 · 0 评论 -
广度优先搜索
#include<stdio.h>struct note{ int x; int y;};int main(){ int m,n,startx,starty; int tx,ty; int a[51][51]; int book[51][51]={0}; int sum = 1; note que[2501]; scanf("%d%d%d%d",&m,...原创 2019-03-15 00:03:17 · 248 阅读 · 0 评论 -
中南大学复试上机:CV工程师
问题 A: CV工程师时间限制:1 Sec内存限制:128 MB题目描述PIPI作为一位刚入行的程序猿!最喜欢的功能就是ctrl+c和ctrl+v啦~人称CV(computer vision)工程师。现在PIPI需要将一条语句复制粘贴成 n 条。比如说, 经过一次 c/v 操作后,一条语句变两条了,再经过一次c/v后,两条语句变四条语句。请问至少经过多少次c/v操作...原创 2019-03-10 17:08:36 · 565 阅读 · 0 评论 -
中南大学上机:PIPI的DNA序列
问题 B: PIPI的DNA序列时间限制:1 Sec内存限制:128 MB题目描述PIPI有m个长度均为n的DNA序列,求一个DNA序列,使其到所有序列的总HaMM距离尽量小。HaMM距离: 两个等长字符串的HaMM距离等于字符不同的位置个数。输入输入包含多组测试用例。对于每一组测试用例,第一行输入整数m和n (4<=m<=50,4<=n&l...原创 2019-03-10 17:05:58 · 531 阅读 · 0 评论 -
深度优先算法复习
求1-9组成数字的全序列#include<stdio.h>int a[10],book[10],n;void dfs(int step){ int i; if(step==n+1){ for(i=1;i<=n;i++) printf("%d",a[i]); printf("\n"); return; } for(i=1;i<=n;i++){...原创 2019-03-06 15:42:54 · 212 阅读 · 0 评论 -
中南大学复试上机:加油站
1016: 加油站题目描述一辆汽车加满油后可行驶n公里。 旅途中有若干加油站。 设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。请对于给定的n和k个加油站位置, 计算最少加油次数。输入对于输入数据,其第1行有2个正整数n(1≤n≤5000)和k(1≤k≤5000)。表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1行中,有k+1个整数,表...原创 2019-03-06 15:08:20 · 240 阅读 · 0 评论 -
中南大学复试上机:农场主PIPI
问题 B: 农场主PIPIPIPI农场主现在要运送一批水蜜桃到CS市,PIPI有n个水蜜桃,这些水蜜桃按照采摘时间有顺序,另外每个水蜜桃有一个含水量,含水量越大价值越高但也容易腐烂。现在为了方便运输,PIPI决定运送采摘时间连续的c个水蜜桃,同时要求运送水蜜桃的含水量之和不超过t,问PIPI有多少种选择方式?输入多组样例输入。对于每一组样例。第一行数据三个整数:n,t,c(1≤...原创 2019-03-06 13:44:10 · 466 阅读 · 0 评论 -
中南大学复试上机:PIPI的数字序列
问题 A: PIPI的数字序列题目描述PIPI有n个绝对值各不相同的非0整数,请你选出尽量多的数,排成一个序列,使得正负号交替,且绝对值递增。输入第一行包括一个数字T代表测试用例数量。每组测试样例,第一行一个正整数 n (1≤n≤500000)以下n行,每行一个整数。输出对于每组样例,输出最长序列长度。样例输入257-269-3811-9...原创 2019-03-06 13:42:03 · 752 阅读 · 0 评论 -
中南大学上机:数塔
1071: 数塔时间限制:1 Sec内存限制:128 MB题目描述PIPI在CSU的某个角落发现了一座金字塔,而且这座金字塔是由数字组成的(如下图所示),现在PIPI想到塔顶去看看,它可以从底层任意一个数字出发逐层爬上去。PIPI每次可以爬至上一层相邻的数字上。现在PIPI想知道,它如何选择爬上去的路径,使该路径经过的数字和最大?输入多组数据每个测试实...原创 2019-03-13 00:12:41 · 362 阅读 · 0 评论 -
中南大学复试上机:黑色星期五
1042: 黑色星期五时间限制:1 Sec内存限制:128 MB题目描述众所周知,13号又是星期五成为“黑色星期五”,真的是一个不寻常的日子吗?13号是星期五比13号是星期一、13号是星期二、……、13号是星期日要少吗? PIPI想知道这个问题的答案,所以想请聪明的你来写一个程序来计算在n年里每月13日落在星期一、星期二、……、星期日的次数。这个...原创 2019-03-13 00:14:12 · 1131 阅读 · 1 评论 -
动态规划(01)
//// main.cpp// 28// 动态规划// Created by 岳海林 on 2019/8/11.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;const int maxn = 1000;int f[maxn][m...原创 2019-08-11 19:41:24 · 313 阅读 · 0 评论 -
简单贪心
题目来自PAT b1020代码://// main.cpp// 23//// Created by 岳海林 on 2019/8/10.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;struct mooncake { ...原创 2019-08-10 15:48:25 · 263 阅读 · 0 评论 -
最长公共子序列
代码://// main.cpp// 31//// Created by 岳海林 on 2019/8/19.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;const int N = 100;char A[N],B[N];in...原创 2019-08-19 16:40:42 · 447 阅读 · 0 评论 -
动态规划(02)
求最大连续子序列的和:代码://// main.cpp// 29// 最大连续子序列和(简单的动态规划)// Created by 岳海林 on 2019/8/14.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;con...原创 2019-08-14 10:36:00 · 401 阅读 · 0 评论 -
N皇后问题
1 1 1 1 1 上面是一个满足条件的5皇后,也就是每行每列都有一个数,并切任何两个数都不在同一对角线上,是的吧?那么如何在5*5的表格中选取5个点,使其满足如上...原创 2019-08-09 17:13:15 · 375 阅读 · 0 评论 -
C++对于日期处理
本人第一次使用C++,代码也是从算法笔记参考过来,记录一下吧。代码://// main.cpp// 06//// Created by 岳海林 on 2019/7/31.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;in...原创 2019-08-01 15:42:46 · 523 阅读 · 0 评论 -
C++对于日期处理
本人第一次使用C++,代码也是从算法笔记参考过来,记录一下吧。代码://// main.cpp// 06//// Created by 岳海林 on 2019/7/31.// Copyright © 2019 岳海林. All rights reserved.//#include <iostream>using namespace std;in...原创 2019-08-01 15:52:14 · 486 阅读 · 0 评论 -
中南大学复试上机:1009: 安全路径
1009: 安全路径时间限制:1 Sec内存限制:128 MB提交:445解决:82[提交] [状态] [讨论版] [命题人:外部导入]题目描述卫斯理小说经常提及外星人,比如蓝血人。在土星星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0和1间的实数(包括0,1),一条从u到...原创 2019-03-22 22:50:58 · 587 阅读 · 0 评论 -
中南大学复试上机:1021:机器人走迷宫
1021: 机器人走迷宫时间限制:1 Sec内存限制:128 MB题目描述有一个愚蠢的机器人走进一个w*h的迷宫,迷宫里有空地和陷阱。他想要访问迷宫的每个方格,但是它很笨,只会按照指令的方向走。当机器人不能走的时候,也就是下一步会遇到陷阱、迷宫边界或者访问过的格子,它会向右转90度(顺时针旋转90度,不能访问已经访问过的方格,且在原地只转一次,移动后可获得又一次旋转机会)。请问...原创 2019-03-18 22:28:59 · 2806 阅读 · 0 评论 -
中南大学复试上机:1023: 巨人排队
1023: 巨人排队时间限制:1 Sec内存限制:128 MB题目描述巨人国的小学生放假了,老师要给小朋友们排队了。可是这个老师有强迫症,一定要路队上的小朋友按照身高从高到矮排序(也就是排在前面的不能比后面的矮)。小朋友呢也很调皮,一旦老师给他排好队就不愿意动了。这个时候小朋友们一个一个的从教室里出来了,每个小朋友一出来老师就要给小朋友安排好位置。请问老师最少要给小朋友排几条路...原创 2019-03-18 21:40:43 · 709 阅读 · 0 评论 -
中南大学复试上机: 彩色气球
问题 E: 彩色气球时间限制:1 Sec内存限制:128 MB题目描述PIPI喜欢收集气球,气球有多种颜色,一共有N个气球摆成一排,第 i 个气球颜色为 Ci ,它们的位置都是固定的。PIPI喜欢五彩缤纷的气球,所以他不希望有重复的颜色。他有一次机会,可以收集任意一段连续区间内的气球。求出PIPI最多能收集多少个气球。输入第一行一个正整数 N ,表示共有 N 个气球。...原创 2019-03-18 20:21:59 · 398 阅读 · 0 评论 -
中南大学复试上机:1074: 矩阵取数Ⅱ
1074: 矩阵取数Ⅱ时间限制:1 Sec内存限制:128 MB题目描述PIPI想要大家了解基本的动态规划,所以它不知道从哪弄来了一个n*m的矩阵,矩阵每个元素是一个整数,你现在在左上角(第一行第一列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分。现在PIPI想知道它去每一个格子的最大得分是多少?怎么样,是不是依然很简单呢?输入多组输入...原创 2019-03-13 19:59:54 · 487 阅读 · 0 评论 -
中南大学上机:1073矩阵取数Ⅰ
1073: 矩阵取数Ⅰ时间限制:1 Sec内存限制:128 MB题目描述PIPI想要大家了解基本的动态规划,所以它不知道从哪弄来了一个n*m的矩阵,矩阵每个元素是一个整数,你现在在左上角(第一行第一列),你需要走到右下角(第n行,第m列),每次只能朝右或者下走到相邻的位置,不能走出矩阵。走过的数的总和作为你的得分,求最大的得分。怎么样,是不是很简单呢?输入多组输入...原创 2019-03-13 19:47:01 · 413 阅读 · 0 评论 -
中南大学复试上机:寻找嫌疑人
1047: 寻找嫌疑人时间限制:1 Sec内存限制:128 MB题目描述听说我们的同学离散数学都很厉害~PIPI刚好碰到了一个离散数学的题,同学们能帮PIPI解决吗?某地刑侦大队对涉及六个嫌疑人(A、B、C、D、E、F)的一桩疑案进行分析:A、B至少有一人作案;A、E、F三人中至少有两人参与作案;A、D不可能是同案犯;B、C或同时作案,或与本案无关;C、D中有且仅有一人...原创 2019-03-13 13:32:28 · 523 阅读 · 1 评论 -
中南大学复试上机:饭卡
1076: 饭卡时间限制:1 Sec内存限制:128 MB题目描述CSU本部食堂的饭卡有一种很诡异的设计——在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使...原创 2019-03-13 13:23:25 · 482 阅读 · 0 评论 -
中南大学复试上机:修墙壁
1045: 修墙壁时间限制:1 Sec内存限制:128 MB提交:79解决:34题目描述有天,PIPI在家里的墙上发现有个洞。洞的形状是1*1*L(米)的长方体。PIPI从邻居那借来N块木块和一个锯子。正好木块的形状也是矩形,宽度和高度都是1米。借助这些工具,她可以通过锯掉木块的多余部分来补好墙壁,当然,也能不锯掉。 现在,PIPI知道了每块木块的规格,怎样补好墙壁而...原创 2019-03-13 12:06:18 · 661 阅读 · 0 评论 -
中南大学复试上机慢慢上学路
1072: 漫漫上学路时间限制:1 Sec内存限制:128 MB题目描述对于PIPI来说,能够在CSU(California State University)上学是他一生的荣幸。CSU校园内的道路设计的十分精巧,由n+1条水平道路和n+1条竖直道路等距交错而成,充分体现了校园深厚的文化底蕴。然而不幸的是CS市每到夏季,天降大雨,使得CSU常常形成“CS海”的奇观,今年,也就是...原创 2019-03-13 10:55:06 · 607 阅读 · 0 评论 -
中南大学复试上机:水陆距离
1032: 水陆距离题目描述给定一个N x M的01矩阵,其中1表示陆地,0表示水域。对于每一个位置,求出它距离最近的水域的距离是多少。 矩阵中每个位置与它上下左右相邻的格子距离为1。输入多组数据。第一行包含两个整数,N和M。以下N行每行M个0或者1,代表地图。数据保证至少有1块水域。对于30%的数据,1 <= N, M <= 100 ...原创 2019-03-08 14:19:11 · 913 阅读 · 0 评论 -
中南大学上机:平行四边形
1030: 平行四边形时间限制: 1 Sec 内存限制: 128 MB 题目描述输出平行四边形图案。输入输入包含多组测试用例,每一个测试用例包含2个整数m, n和一个字符型数据c(1≤m≤50, 2≤n≤50)。输出对于每一个测试用例,输出斜边和横边分别为m,n个c字符构成的空心平行四边形图案。斜边的相邻两行中下行向右与上行错开一个字符的位置。样例输入4 ...原创 2019-02-21 00:47:55 · 817 阅读 · 0 评论 -
反序输出
题目描述输入任意4个字符(如:abcd), 并按反序输出(如:dcba)输入描述:题目可能包含多组用例,每组用例占一行,包含4个任意的字符。输出描述:对于每组输入,请输出一行反序后的字符串。具体可见样例。示例1输入UpincvYjWJpwcXOA输出nipUjYvcwpJWAOXc#include<stdio.h>...原创 2018-12-30 16:15:29 · 439 阅读 · 0 评论