蓝桥杯
VanHa0101
这个作者很懒,什么都没留下…
展开
-
蓝桥杯,区间k大数查询,快速排序思想
试题 算法训练 区间k大数查询资源限制时间限制:1.0s 内存限制:256.0MB问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。样例输入51 2 3 4原创 2020-10-16 20:56:47 · 260 阅读 · 0 评论 -
洛谷,UVA116, 简单多段决策dp
#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int M = 11;const int N = 110;const int INF = (1<<30);int main(){ int n, m, first; int ans; int a[M][N], next[M][N], dp[M][N]; while(cin&g原创 2020-08-17 17:31:50 · 84 阅读 · 0 评论 -
洛谷,UVA1025,简单dp
lrj紫皮书268页时间是单向流逝的,是一个天然的“序”。影响到决策的只有当前时间和所处的车站,所以可以用d(i,j)表示时刻i,你在车站j(编号为1~n),最少还需要等待多长时间。边界条件是d(T,n)=0,其他d(T,i)(i不等于n)为正无穷。有如下3种决策。决策1:等1分钟。决策2:搭乘往右开的车(如果有)。决策3:搭乘往左开的车(如果有)。在程序中定义一个数组has_train。has_train[t][i][0]表示时刻t,在车站i是否有往右开的火车,has_train[t][i][原创 2020-08-15 00:43:55 · 242 阅读 · 0 评论 -
洛谷,数字三角形P1216, 简单dp
数字三角形,简单的动态规划洛谷 P1219详情看注释#include <iostream>#include <algorithm>#include <cstring>using namespace std;int a[1010][1010], d[1010][1010]; // a表示原数组,d表示动态规划数组 int r; // 行数 int solve(int i, int j){ if (d[i][j] >= 0) return d[i原创 2020-08-12 17:08:37 · 141 阅读 · 0 评论 -
洛谷,八皇后问题P1219,递归回溯
八皇后问题#include <iostream>#include <algorithm>using namespace std;const int N = 14;int n;bool visited[3][N*N]; // visited[0][i] 表示第i列 时候被占 // visited[1][x] 表示主对角线(左上到右下)是否被占,原理是 主对角线上 行号 - 列号是一个常数 (-7 到 7) // visited[2][x]原创 2020-08-12 12:07:59 · 141 阅读 · 0 评论 -
蓝桥杯,翻硬币,简单贪心
问题描述小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:输入格式两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<1000原创 2020-08-04 23:57:36 · 133 阅读 · 0 评论 -
蓝桥杯,回文数字,水题
问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。本题要求你找到一些5位或6位的十进制数字。满足如下要求: 该数字的各个数位之和等于输入的整数。输入格式 一个正整数 n (10<n<100), 表示要求满足的数位和。输出格式 若干行,每行包含一个满足要求的5位或6位整数。 数字按从小到大的顺序排列。 如果没有满足条件的,输出:-1样例输入44样例输出99899499994原创 2020-08-04 22:56:57 · 198 阅读 · 0 评论 -
蓝桥杯,分考场,图的m可着色优化问题
问题描述 n个人参加某项特殊考试。 为了公平,要求任何两个认识的人不能分在同一个考场。 求是少需要分几个考场才能满足条件。输入格式 第一行,一个整数n(1<n<100),表示参加考试的人数。 第二行,一个整数m,表示接下来有m行数据 以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=n) 表示第a个人与第b个人认识。输出格式 一行一个整数,表示最少分几个考场。样例输入581 21 31 42 32 42 53 4原创 2020-08-04 21:20:23 · 247 阅读 · 0 评论 -
蓝桥杯,发现环,拓扑排序
蓝桥杯拓扑排序文章:https://blog.csdn.net/qq_41713256/article/details/80805338https://www.cnblogs.com/bigsai/p/11489260.htmlhttps://blog.csdn.net/red_red_red/article/details/89842966#include <cstdio>...原创 2020-05-01 19:50:10 · 123 阅读 · 0 评论 -
蓝桥杯,九宫幻方,简单手工枚举
题目有提示,可以对三阶幻方的情况枚举,一共就有八种情况,然后和读入的数据进行比较就行。做题的反思就是:C语言基础忘记太多了,比如遍历含量为9个的数组,上来我还写成了for(int i = 0; i < 9; i++)算法的学习应该是贯穿大学始终的,作为一个计算机专业的学生,科班出身要求我在计算机素养方面要扎实,算法是程序的灵魂,对算法的学习应该是日积月累的!#include <i...原创 2020-02-24 22:50:43 · 140 阅读 · 0 评论 -
蓝桥杯,合根植物,并查集
并查集算法并查集好文章的链接#include <iostream>using namespace std;int pre[1000000];int a[1010][1010];int unionSearch(int son) { int root = son; while (root != pre[root]) // 找到son节点的根节点 root = pre...原创 2020-02-21 19:18:28 · 211 阅读 · 0 评论