03 2020 档案

摘要:Dijkstra算法: 思想:找到距离原点最近的一个顶点,然后以该点为中心进行扩展,最终得到源点到其余各点的最短路径。 缺点:无法解决带负边的图论问题。 输入样例: 6 9 1 (6个点 9条边 起点为1)1 2 11 3 122 3 92 4 33 5 54 3 44 5 134 6 155 6 阅读全文
posted @ 2020-03-30 15:21 Maxwell· 阅读(2029) 评论(0) 推荐(0)
摘要:Floyd算法: 思路 :遍历计算 i 点 经过 k 点 到 j 点 的最小路径值 (动态规划思路) 缺点:时间复杂度高,不能解决负边情况 输入样例: 4 81 2 21 3 61 4 42 3 33 1 73 4 14 1 54 3 12 输出样例: 1-->2:21-->3:51-->4:42- 阅读全文
posted @ 2020-03-27 17:40 Maxwell· 阅读(2992) 评论(0) 推荐(0)
摘要:题意:小哼和小哈一起坐飞机旅游,他们现在位于start号城市,目标是end号城市,可是start号城市没有到end号城市直航, 不过他们收集了很多航班信息,现在他们要找出转机次数最少的方案。 输入样例: 5 7 1 5 1 2 1 3 2 3 2 4 3 4 3 5 4 5 第一行的5表示有5个城市 阅读全文
posted @ 2020-03-27 16:33 Maxwell· 阅读(290) 评论(0) 推荐(0)
摘要:小哼通过秘密方法得到一张不完整的钓鱼岛航拍地图。钓鱼岛由一个主岛和一些附属岛屿组成,小哼决定去钓鱼岛探险。 下面这个n*m的二维矩阵就是钓鱼岛的航拍地图。图中数字表示海拔,0表示海洋,1~9都表示陆地。小哼的飞机将会降落在(x,y)处,现在需要计算出小哼降落所在岛的面积(即有多少个格子)。注意此处我 阅读全文
posted @ 2020-03-26 11:17 Maxwell· 阅读(283) 评论(0) 推荐(0)
摘要:题意:给一个n*m的二维数组,S表示入口,T表示出口,*点表示墙不可达,. 表示路可达。 求S走到到T的最短距离。 输入样例: 5 6....S*.**....*..*.*..**..T.... 输出样例: 7 #include <cstdio> #include <string.h> #inclu 阅读全文
posted @ 2020-03-26 10:39 Maxwell· 阅读(296) 评论(0) 推荐(0)
摘要:思想:每次排序的时候设置一个基准点,将小于等于基准点的数全部放到基准点的左边,将大于等于基准点的数全部放到基准点的右边。基于二分思想的算法。 测试用例: 10 8 6 2 4 1 9 7 5 10 3 #include <iostream> #include <stdlib.h> #include 阅读全文
posted @ 2020-03-23 18:30 Maxwell· 阅读(178) 评论(0) 推荐(0)
摘要:空间复杂度:O(1) 时间复杂度最坏和平均时:O(n²) 是一个稳定的排序方法 #include <iostream> #include <stdlib.h> #include <math.h> #include <string.h> #include <algorithm> using names 阅读全文
posted @ 2020-03-23 17:50 Maxwell· 阅读(89) 评论(0) 推荐(0)
摘要:dfs暴力搜: #include <iostream> #include <stdlib.h> #include <math.h> #include <string.h> #include <algorithm> using namespace std; int n,m; int ans=99999 阅读全文
posted @ 2020-03-23 17:27 Maxwell· 阅读(286) 评论(0) 推荐(0)
摘要:sort 使用需#include<algorithm> sort函数的3个参数: 1.需要排序数组的起始地址 2.需要排序数组的结束地址 3.排序函数 (若不写排序函数,默认为整数的从小到大排序) sort(arr,arr+n,cmp); 对结构体排序的使用方法: 有一个node类型的数组node 阅读全文
posted @ 2020-03-21 16:28 Maxwell· 阅读(1391) 评论(0) 推荐(0)
摘要:蒜头君得到了 n 个数,他想对这些数进行下面这样的操作,选出最左边的相邻的差的绝对值为 1 的两个数,只保留较小的数,删去较大的数,直到没有两个相邻的差的绝对值为 1 的数,问最多可以进行多少次这样的操作?输入格式输入第一行n 表示数字个数第二行输入 x1,x2...xn输出格式:输出一行,为一个整 阅读全文
posted @ 2020-03-19 18:10 Maxwell· 阅读(327) 评论(0) 推荐(0)
摘要:给出一个股票 n 天内每天的价格。 在某天买入后,可在第二天及后任意天卖出,允许买入卖出多次买卖,但只允许一笔交易,买入卖出后才可以再买。 求可以获取的最大利润? 输入样例: 6 7 1 5 3 1 4 输出样例: 7 思路:只有后一天比前一天股价高,那么就值得在前一天买入第二天卖掉,并且可以由局部 阅读全文
posted @ 2020-03-17 10:02 Maxwell· 阅读(212) 评论(0) 推荐(0)
摘要:假设你是一个专业的窃贼,准备沿着一条街(n个房屋)打劫房屋。每个房子都存放着特定金额的钱ai。你面临的唯一约束条件是:相邻的房子装着联系的防盗系统,且当相邻的两个房子同一天被打劫时,该系统会自动报警。 给定房屋数量n,给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以 阅读全文
posted @ 2020-03-15 17:41 Maxwell· 阅读(167) 评论(0) 推荐(0)
摘要:字符A-Z可以编码为1-26。"A"->"1","B"->"2",.. "Z"->"26" 现在输入一个数字字符串,计算有多少种方式可以将该字符串解码成字符A-Z组成的序列。 输入输出样例: 输入:19 输出:2 (AI或S) 输入:268 输出:2 输入:219 输出:3 #include<ios 阅读全文
posted @ 2020-03-15 11:03 Maxwell· 阅读(785) 评论(0) 推荐(0)
摘要:是有n户人家的房子排成一排,打算把他们的房子图上颜色,有red、green、blue三种颜色,每家人涂不同的颜色要花不同的费用,而且相邻两户人家之间的颜色要不同,求最小的总花费费用。 输入格式: 第一行输入n 接下来n行输入每种房子涂red green blue 颜色的价格 cost1 cost2 阅读全文
posted @ 2020-03-14 17:08 Maxwell· 阅读(437) 评论(0) 推荐(0)
摘要:题意: 给定 m 行 n 列的网格,机器人从左上角( 0 , 0 )出发,每次只可以向左或向下走一步,走到右下角位置,问有多少种走法? 输入样例: 2 3 输出样例: 3 确定末状态: 在某位置 ( x , y ) ,可以化为子问题由 ( x-1, y )向下走一步,或由 ( x, y-1 )向右走 阅读全文
posted @ 2020-03-14 10:37 Maxwell· 阅读(466) 评论(0) 推荐(0)
摘要:有2元的 5元的 7元的 硬币若干,凑出27元,需要最小硬币数 这是一个动态规划问题,对动态规划求解的思路如下: 1.确定状态:确定最后一步和倒数第二步之间的关系,就是把后面的问题转化为前面的子问题 x可以由x-2的情况再选面值2的硬币得到,也可以由x-5的情况选5面值的得到,还可以由x-7由面值7 阅读全文
posted @ 2020-03-13 23:52 Maxwell· 阅读(424) 评论(0) 推荐(0)
摘要:#include<iostream> #include<string.h> #include<math.h> #include<vector> using namespace std; int n,m,k; int ans; int mod=1e9+7; int a[105][105]; //boo 阅读全文
posted @ 2020-03-13 16:46 Maxwell· 阅读(228) 评论(0) 推荐(0)
摘要:X 国王有一个地宫宝库。是 n x m 个格子的矩阵。 每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走 阅读全文
posted @ 2020-03-12 11:33 Maxwell· 阅读(331) 评论(0) 推荐(1)
摘要:长100厘米的细长直杆子上有n只蚂蚁。它们的头有的朝左,有的朝右。 每只蚂蚁都只能沿着杆子向前爬,速度是1厘米/秒。当两只蚂蚁碰面时,它们会同时掉头往相反的方向爬行。这些蚂蚁中,有1只蚂蚁感冒了。并且在和其它蚂蚁碰面时,会把感冒传染给碰到的蚂蚁。请你计算,当所有蚂蚁都爬离杆子时,有多少只蚂蚁患上了感 阅读全文
posted @ 2020-03-09 11:49 Maxwell· 阅读(284) 评论(0) 推荐(0)
摘要:话说大诗人李白,一生好饮。幸好他从不开车。一天,他提着酒壶,从家里出来,酒壶中有酒2斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了。 请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b。则:b 阅读全文
posted @ 2020-03-07 18:28 Maxwell· 阅读(270) 评论(0) 推荐(0)
摘要:100 可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。 题目要求:从标准输入读入一个正整数N (N<1000*10 阅读全文
posted @ 2020-03-07 16:30 Maxwell· 阅读(317) 评论(0) 推荐(0)
摘要:题目大意:给定三角形三个顶点的坐标,判断是否可形成三角形,如果可形成三角形,求三角形内切圆面积与外接圆面积。 输入格式第一行一个整数 T,表示数据的组数。接下来 T 行,每行 6 个整数 x1,y1,x2,y2,x3,y3 表示三个点的坐标 输出格式对于每组数据,如果不能组成三角形,输出"NO SO 阅读全文
posted @ 2020-03-04 20:25 Maxwell· 阅读(287) 评论(0) 推荐(0)
摘要:计算出第一个正整数n的阶乘位数大于等于 10000的数是多少,即求最小的正整数 n满足 n! 的位数大于等于 10000 知识点:某数 m 的位数可以由 log10(n)+1 取得 #include <cstdio> #include <string.h> #include <iostream> # 阅读全文
posted @ 2020-03-04 16:25 Maxwell· 阅读(260) 评论(0) 推荐(0)
摘要:八皇后问题: 8皇后的规则就是不能有任何棋子同行或者同列或者同斜线,在满足这个规则的同时,计算一共用多少种方法,把8个棋子放在8*8的棋盘上 知识点: 正对角线的规律 x+y = 定值负对角线的规律 x- y = 定值 #include <cstdio> #include <iostream> #i 阅读全文
posted @ 2020-03-04 12:14 Maxwell· 阅读(260) 评论(0) 推荐(0)
摘要:n 个同学去动物园参观,原本每人都需要买一张门票,但售票处推出了一个优惠活动,一个体重为 x 的人可以和体重至少为 2x 配对,这样两人只需买一张票。现在给出了 n个人的体重,请你计算他们最少需要买几张门票? 输入格式第一行一个整数 n,表示人数。第二行 n 个整数,每个整数 ai? 表示每个人的体 阅读全文
posted @ 2020-03-03 21:55 Maxwell· 阅读(319) 评论(0) 推荐(0)
摘要:一天蒜头君猜想,是不是所有的偶数(除了 2),都可以用两个质数相加得到呢? 输入格式第一行输入一个整数 t 表示测试组数。接下来 t 行,每行一个整数 n。 输出格式输出两个整数,因为答案可能有多个,所有要求输出的这两个整数是所有答案中字典序最小的。 数据范围对于 30%的数据 1<=t<=10^3 阅读全文
posted @ 2020-03-02 22:48 Maxwell· 阅读(185) 评论(0) 推荐(0)
摘要:一天蒜头君得到 n 个字符串 si?,每个字符串的长度都不超过 10。蒜头君在想,在这 n 个字符串中,以 si 为后缀的字符串有多少个呢? 输入格式第一行输入一个整数 n。接下来 n 行,每行输入一个字符串 si。 输出格式输出 n 个整数,第 i个整数表示以 si为后缀的字符串的个数。 数据范围 阅读全文
posted @ 2020-03-02 17:38 Maxwell· 阅读(463) 评论(0) 推荐(0)
摘要:题目描述: 有一个长度为 L 的字符串,每个字符是大写字母。如果我们把 A看做 0 ,B 看做 1,C看做 2... Z 看做 25,那么我们就得到了一个 26 进制的数字串。 我们可以对这个字符串做一个操作:将两个位置的字母进行交换。这样得到了一个新的数字串。 现在有一个十进制整数 M ,请判断是 阅读全文
posted @ 2020-03-01 18:04 Maxwell· 阅读(825) 评论(0) 推荐(0)