
算法基础
算法基础-》算法提高-》算法进阶
nceko
巩固知识
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心算法-蓝桥杯
题目 1255: [蓝桥杯]能量项链, 在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有 N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标 记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗 能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为mrn(Mars单位)原创 2020-07-21 14:17:51 · 515 阅读 · 0 评论 -
贪心算法-初赛
题目描述: 输入: 样例: 3 3 2 200 10 399 300 8 499 400 12 499 输出 31977 数据范围: 题目分析: 从题目分析这个题目属于贪心,因为他说在满足n天的要求,花费最少。然后题目的要求是可以在任意天采购任意柠檬,养乐多,那我们就可以每次使用柠檬,和养乐多最少的钱,除了第一天,因为你必须要满足他一天的数量。 代码如下: #include<iostream> #include<algorithm> using namespace std;原创 2020-08-09 00:35:41 · 200 阅读 · 0 评论 -
贪心算法-蓝桥杯初赛
题目描述: 输入: 输出: 样例输入: 5 jmcoding lq hello sto orz 样例输出: 867 题目分析: 1、通过题目分析 这个题目是求价值的最大值,使用贪心算法,而价值=单词首字母x单词长度x排列的ID号 2、然而我们已经知道单词的字母和长度是固定的了,主要的是这个ID,那么我们可以把字母和长度的乘积按照从小到大排序,是最大的值ID最大,那么最后的价值就一定会是最大。 代码如下: #include<algorithm> #include<iostream>原创 2020-08-09 22:31:25 · 279 阅读 · 0 评论 -
dfs-第一天
回溯算法 第一题:组合问题 链接:递归实现指数枚举 解题思路: dfs: 保存状态可以选择数组或者选择二进制 #include<iostream> using namespace std; int n; int a[16]; int b[16]; void dfs(int x,int y,int z) { //当a数组中的数满足每次I的个数,也是一种情况需要输出 if(x==z){ //循环输出A数组中保存的数 for(int i=0;i<x原创 2022-01-13 14:54:00 · 115 阅读 · 0 评论 -
dfs-皇后
题目 1460: [蓝桥杯][基础练习VIP]2n皇后问题 题目描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。 输入 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。 输出 输出一个整数,表示总共原创 2020-07-31 16:26:04 · 179 阅读 · 0 评论 -
dfs-剪格子
题目 1432: [蓝桥杯][2013年第四届真题]剪格子 题目: 历届试题 剪格子 时间限制:1.0s 内存限制:256.0MB 问题描述 如下图所示,3 x 3 的格子中填写了一些整数。 ±-–±-+ |10 1|52| ±-***–+ |20|30 1| *******–+ | 1| 2| 3| ±-±-±-+ 我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得原创 2020-07-25 10:35:18 · 156 阅读 · 0 评论 -
bfs-九宫格
题目 1426: [蓝桥杯][历届试题]九宫重排 题目描述: 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。 我们把第一个图的局面记为:12345678. 把第二个图的局面记为:123.46758 显然是按从上到下,从左到右的顺序记录数字,空格记为句点。 本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达。如果无论多少步都无法到达,则输出-1。 样例输入: 12345678.转载 2020-07-22 14:36:34 · 436 阅读 · 1 评论 -
【基础算法】
双指针-位运算-离散化原创 2022-09-12 23:15:41 · 192 阅读 · 1 评论 -
【基础算法】
前缀和与差分原创 2022-09-06 21:54:16 · 187 阅读 · 0 评论 -
【基础算法】
二分原创 2022-09-06 17:06:44 · 174 阅读 · 0 评论 -
【基础算法】
快速排序与归并排序原创 2022-09-06 16:39:51 · 134 阅读 · 0 评论