自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 TCPsocket1

TCP Socket 通信的一些基本知识(UNIX环境)表示符(XXfd)在Unix系统中,任何计算机资源都可以以“文件”的形式来表示和管理,这就包括了我们下面要介绍的socket,以及stdin,stdout和stderr。它们均可以以一个整数型变量存储。创建Socket#include<sys/socket.h>sockfd=socket(int family,int type,int protocol);//创建不成功会返回-1//such assockfd=socket

2021-05-14 21:05:26 135

原创 用动态规划解决0-1背包问题

用动态规划解决0-1背包问题问题概述给定以有限容量(capacity/space)的背包,和一些由体积(space)和价值的(value)的物品,求一个方案,用这个背包能够装下更多的物品解决思路先解决前i个物品在容量为任意j(最大值为背包容量)的背包下,能够装下的价值量再解决在1的基础上继续解决前i+1个物品在任意j的背包下,能装下的最大价值量。所以,DP(i+1,j)=max{DP(i,j),DP(i,j-s(i+1))+v(i+1)}。第一种情况即第i+1个物品未被装进来,此时问题等价于“

2021-01-13 21:44:02 1464

原创 动态规划求最短路径(Floyd算法)

动态规划求最短路径(Floyd算法)问题概述​ 在一无负权环的图中,给定起点startVertex和重点endVertex,求两点之间最短路径path的长度length。大致思路在此之前,我们已经学会了使用Dijkstra算法(一种贪心算法)来解决最短路径问题,然而在动态规划的框架下我们需要将问题“逐步解决”。假设我们我们已经得知,在允许途径v1,v2,v3…vn“中转”的前提下,各起点至各终点最短路径的长度。在1的基础上,继续求解在允许途径v1,v2,v3…vn+1“中转”的前提下,各起点至

2021-01-13 21:42:31 3700

原创 最长递增子序列 动态规划实现

用动态规划求最长递增子序列问题概述​ 给定一数列,取其一部分元素组成一个序列,且保持元素间相对位置不变,则为一个子序列。现要求得出一个长度最长的递增子序列解决思路已知各自以元素0至元素n为结尾的最长递增子序列(长度)已知求以元素n+1为结尾的递增子序列的长度值就2而言,以元素n+1为结尾的递增子序列必然符合以下两个条件:去除元素n+1后仍然递增去除元素n+1后,结尾小于n+1由上两个条件可得,为了得到以n+1为结尾的最长递增子序列,只需要在1中已知的结尾小于元素n+1的递增子序列

2021-01-13 21:40:40 452

原创 n皇后实现

N皇后问题的实现问题简介​ 给出一个nxn规格的国际象棋棋盘,要求在上面摆放n个皇后,要求这些皇后相互之间并不会相互攻击,则就给出的规格n,求:有无可行摆放方式有几种摆放方式注:由于随着n的增大,解数量剧增,因此不实现所有解的列举求解思路​ 已知,皇后会对同行,同列,以及45度倾斜角的棋子发动攻击,所以答案的组织形式可以是从0-n-1的某个排列,表示对应行皇后所在的列数。同时,我们采取深度优先的回溯算法,先着重解决有无解的问题,再解决解有多少的问题。​ 剪枝的触发条件为:该节点的

2020-12-06 20:57:50 159 1

原创 实现稳定的计数排序

实现稳定的计数排序问题的提出对于给定整数数列,我们可以采取归并排序将其整理成一个有序数列。然而,其时间复杂度为O(n)=nlogn。若给出一个数列,其元素在数轴上分布“密集”,则我们不必使用归并排序,而可以用归并排序。计数排序的优势与劣势​ 使用计数排序来对这个列表进行排序。其时间复杂度为O(n)=(n+m),空间复杂度为O(m)。其中n为数列长度,m为数列中最大元素与最小元素之差。​ 在面对分布密集的元素时,可以有效减少运算所需的时间,但是,为了实现稳定的计数排序,我们需要创建一个二维列表来

2020-12-06 20:56:03 261

原创 实现归并排序并验证时间复杂度

实现归并排序并验证时间复杂度问题概述给出一无序数列,要求对其进行排序。那么我们可以使用冒泡排序或者插入排序来实现。然而,当该数列规模较大时,前述两种排序方式的时间复杂度为O(n)=n^2,所以我们需要更加高效的排序算法——归并排序,时间复杂度O(n)=nlogn。算法核心概念长度为1的数列为有序数列就给出的两个有序数列,可以通过不断地比较第0个元素的大小并pop,使两个数列逐渐“融合”为一个有序数列利用分治将原数列“拆散”又“融合”为一个有序数列代码实现MergeSortdef mer

2020-12-06 20:54:51 520

原创 分枝限界算法的总体思路

分支限界算法(Branch&Bond)常用于求解优化问题穷举所有的“状态”,利用上界或者下界来提高搜索效率常用术语活结点,刚被生成,子节点尚未生成的节点当前节点(E-node):正在展开的节点死结点:不需要展开的节点。(被剪枝函数剪掉的树根)展开方式FIFO B_BFILO B_BLC B_B(Least Cost)LC B_B在状态树T上进行搜索每个节点N都有值函数C(N),为优化的目标由两个函数维护活结点least 选择展开哪个节点add 把子节

2020-12-02 18:44:33 302

原创 个人MD使用方法,备查

多级标题多级标题操作几个‘#’号代表标题级数。和标题内容用一个空格隔开快捷:选择并ctrl+1-6可以快速调整标题大小,ctrl+0 清除标题效果有序列表有序列表示意打开冰箱插电开机开门把大象放进去关闭冰箱有序列表操作编号后要加空格行末回车,序号会自动添加行末↓,序号不会添加删除某一行内容,序号会自动调整降级快捷键 Tab升级快捷键 Shift+Tab快捷键ctrl+shift+[既可以选中升降级,也可以新行升降级无序列表无序列表示例青菜水果

2020-11-29 23:43:02 480

原创 关于scanf,getchar,和gets对缓存区的操作

在学习C语言时,我们经常要使用Char 和 Charp[] 来存储字符和字符串。然而,在读取数据时,scanf、get和gets对缓存区的操作和读取结果会影响我们数据输入的结果。这次博客主要解释空格和回车对不同读取函数的影响。写在前面:只有在调用读取类函数且缓存区空了的情况下,才会让用户输入。换言之,即使读取和输出类函数交错调用,只要用户第一次输入的数据足够"多",那么这个程序将自动按照顺序执行各个函数。但是用户的视角来看,会出现全体输入类函数先执行,然后再执行输出类函数的错觉。 各个读取类函..

2020-08-04 16:56:48 1044 1

原创 PAT题库 A类 1001

Calculatea+band output the sum in standard format -- that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input file contains one test case. Each case contains a pair o..

2020-08-02 15:02:22 83

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除