- 博客(13)
- 收藏
- 关注
原创 波动数列 蓝桥杯 Java
题目描述观察这个数列:1 3 0 2 -1 1 -2 …这个数列中后一项总是比前一项增加2或者减少3。栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?对于100%的数据,1< =n< =1000,-1,000,000,000< =s< =1,000,000,000,1< =a, b< =1,000,000。测试用例:4 10 2 3,结果:2解题思路令p=(+a,-
2021-04-08 20:28:20 631
原创 Xshell+Winscp+Visual Studio简略使用方法
Xshell+Winscp+Visual Studio简略使用方法1.使用步骤连接Xshell与Winscp,登陆Winscp时将文件协议改为scp在Winscp服务器文件夹下右键新建目录,以后文件都上传到这个文件夹中新建记事本,复制以下程序,命名为helloworld,同时更改文件类型为.cu#include <stdio.h>const int N = 16;const int blocksize = 16;__global__ void hello(ch
2020-09-23 23:48:16 391
原创 图的m着色问题(回溯--算法第五章)
图的m着色问题给定无向连通图G和m种不同的颜色,用这些颜色为图G的各顶点着色,每个顶点着一种颜色,是否有一种着色法使G种每条边的2个顶点着不同颜色,这个问题是图的m可着色判定问题。若一个图最少需要m种颜色才能使图中每条边连接的2个顶点着不同颜色,则称这个数m为该图的色数。求一个图的色数的问题称为图的m可着色优化问题。问题分析:对连通图顶点着色,两点之间分有边和无边两种情况。若有边,则两点不能着相同的颜色。这是题目限制条件,同时也是本算法的约束条件。m着色问题的解空间树是确定元素某种性质排列的排列树。
2020-06-16 11:56:50 1120
原创 汽车加油问题(贪心--算法第四章)
汽车加油问题一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。对于给定的n(n <= 5000)和k(k <= 1000)个加油站位置,计算输出最少加油次数与加油站编号。如果无法到达目的地,则输出”NoSolution”。输入:第一行有2个正整数n和k,表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1 行中,有k+1个整数,表示第k个加油站与第k-1个加油站之间的距离。第0个加油站表示出发地,汽车已加满油。第k
2020-06-09 00:32:26 1189
原创 Huffman编码(贪心--算法第四章)
Huffman编码数据压缩过程称为编码,即将文件中的每个字符均转换为一个唯一的二进制位串。编码方案通常有两种:等长和变长。如字符集C={a, b, c},等长编码{00, 01, 10},变长编码{0, 10, 11}。变长编码方案将出现频度高的字符编码设置成较短编码,将频度低的字符编码设置为较长编码,可有效节约存储空间。前缀码是指,字符集中任一字符的编码都不是其他字符编码前缀的编码。如上例中变长编码。平均码长或文件总长最小的前缀编码称为最优前缀码。前缀码中具有典型的二叉树结构。Huffman Tr
2020-06-08 23:30:16 231
原创 0-1背包问题(动态规划&&回溯--算法第三/五章)
第三章 动态规划篇(3)算法举例分析0-1背包问题给定n个物品和一个背包。物品i的重量为wi,价值为vi,背包容量为c。选择装入背包中的物品,使得装入背包的物品的价值最大。每种物品i只有两种选择,装入或者不装入,既不能装入多次,也不能只装入一部分。问题分析:0-1背包问题区别于背包问题。背包问题中物品可以装入一部分,故使用贪心算法,每次装入单位重量价值最高的即可。0-1背包问题面对一个物品,有装与不装2个选择。其特性是,无论当前选择装,或者当前选择不装,都不能确定以后是否会有更优的取物方式。也就
2020-06-02 11:00:11 1044
原创 合并排序(分治--验证性--算法第二章)
算法举例分析(分治,验证性)主要解决“原来这种思想是分治思想”的问题合并排序将n个元素分成2个大小相同的子集合,分别对子集合进行排序,最终将排好序的子集合合并为有序集合,n=1时中止。时间复杂度O(nlogn)满足:将n个元素不断划分,元素总数仍然是n可分解为若干元素个数小于n的合并排序的独立子问题合并时每个子问题的结果可以合并为原问题的解(子问题已有的相对有序位置是不会改变的)该方法没有使用分治法的直接条件,所以使用先分后治的思想,先将元素简单分开,创造分治法子问题结果可合并的条件。
2020-05-25 23:26:58 174
原创 棋盘覆盖(分治--导向性--算法第二章)
算法举例分析(分治,导向性)主要解决“不知道用什么方法,但经过分析之后得到分治解决思路”的问题棋盘覆盖在一个2k∗2k2^k*2^k2k∗2k个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。需要用四种不同形态的L型骨牌,覆盖给定特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠。本问题实际即用可旋转的L型骨牌覆盖棋盘,使其仅剩下一个方格。问题规模过于庞大,从最简单的开始想起。正方形棋盘,根据题意,棋盘最小规模为11,此时不需要骨牌即满足题
2020-05-18 23:05:51 233
原创 二分查找(分治--验证性--算法第二章)
算法举例分析(分治,验证性)主要解决“原来这种思想是分治思想”的问题二分查找又称折半查找,是针对有序数列的查找方法,时间复杂度O(logn)满足:查找范围小的时候易解决查找本质为比较,最小可划分为两个元素之间的比较,子问题相同且独立比较后的结果只有在与不在两种情况,可合并该搜索过程在日常生活中有较多应用。具体搜索过程大致为:对有序数列,先从中间位置开始找起。若中间位置元素等于目标元素,则结束查找;若中间位置元素大于目标元素,由数列有序性可知,若目标元素存在,一定在数列左半边中。故下
2020-05-18 23:03:22 204
原创 算法第二章递归
第二章 递归与递归之递归篇文章目录第二章 递归与递归之递归篇1.分治2.递归算法举例分析(递归)1.阶乘函数2.Fibonacci数列3.Ackerman函数4.Hanoi塔5.整数划分1.分治将一个难以直接解决的大问题,分割成一些规模较小的K个相同问题,对这些问题分别求解。若这些问题规模仍不够小,再进行划分。如此递归地进行下去,直到问题小到容易解决为止由此可知,递归是实现分治算法的一种技...
2020-04-16 01:05:02 440
原创 算法第一章概述
第一章 算法概述文章目录第一章 算法概述算法1.性质2.复杂性分析2.1时间复杂性T(N,I)2.2空间复杂性S(N,I)3.算法的表示3.1基本结构3.2表示方法3.3NP完全性理论涉及算法分析辗转相除法与更相减损法算法对特定问题求解步骤的一种描述,是若干指令的有穷序列程序:算法用某种程序设计语言的具体实现,可以不满足有限性,如操作系统是无限循环中执行的程序1.性质输入:由外部...
2020-04-13 22:14:18 254
原创 git指令入门
新建文件夹–右击git bash here初始化一个新的git仓库(text):创建文件夹–在文件内初始git设置用户名git config --global user.name ‘用户名’设置用户名邮箱git config --global user.email ‘用户邮箱’查看git config --list查看当前文件ls查看状态(多)git status显示当前...
2020-02-27 20:42:49 97
原创 navicat对mysql8连接的记录
用navicat连接mysql8时因为加密规则的改变会出现无法连接的情况,解决问题之后现做汇总:1.更改mysql环境变量 我的电脑右键属性-高级系统设置-环境变量中的系统变量寻找path-将mysql的bin文件地址复制到选框开始并后加半角分号(地址通常为C:\Program Files\MySQL\MySQL Server 8.0\bin)-点击应用2.sql语句更改 ...
2019-05-15 19:28:53 477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人