自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 CPU大端小端检测方法

联合体union的存放顺序是所有成员都从低地址开始存放,利用该特性就可以轻松地获得了CPU对内存采用Little-endian还是Big-endian模式读写。int checkCPUendian(){ union{ unsigned int a;unsigned char b;}c;c.a = 1;return (c.b == 1);}...

2020-06-26 17:18:58 274

原创 docker实验一

Docker 概述Docker 是一个开源的应用容器引擎 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc) Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。 容器是完全使用沙箱机制,相互隔离 容器性能开销极低 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

2020-05-27 22:54:57 1544

原创 C++11 多线程编程 学习总结(下)

单例设计模式Class MyCAS //这是一个单例类{private: MyCAS() {} //私有化了构造函数 Static MyCAS *m_instance; //静态成员变量 public: Static MyCAS *GetInstance() { If(m_instance == NULL) { m_instance = new MyCAS...

2020-04-29 23:11:28 459

原创 C++11 多线程编程 学习总结(上)

基本概念并发:一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。进程:可执行程序运行,便创建了一个进程。线程:就是代码的执行通路 每个进程都有一个主线程,且唯一,与进程一起产生、结束。 多线程,不是越多越好,每个线程需要一个独立的堆栈空间,线程之间切换需切要保存很多中间的状态,切换过多降低程序...

2020-04-29 19:38:43 279

原创 博弈中的对抗搜索问题

博弈(Game)多智能体环境下,智能体之间存在合作和竞争关系; 数学领域中的“博弈”: 把任何多智能体环境看成是一种博弈游戏,如果其中每个智能体对其它智能体的影响是“显著的”,这些影响可以是合作或竟争。 人工智能领域中的“博弈”: 确定性的、有完整信息的,轮流行动的,两个游戏者的零和游戏。 博弈的抽象本性成为AI研究者感兴趣的对象AI中研究的博弈,即如何根据当前的棋局,选择对自己最有...

2020-04-19 21:45:00 2739

原创 CCF201803-4-棋局评估

问题描述试题编号: 201803-4 试题名称: 棋局评估 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述   Alice和Bob正在玩井字棋游戏。   井字棋游戏的规则很简单:两人轮流往3*3的棋盘中放棋子,Alice放的是“X”,Bob放的是“O”,Alice执先。当同一种棋子占据一行、一列或一条对...

2020-04-19 20:11:53 342

原创 Qt环境对文件的Base64+异或加密解密

加密函数:/********************************************************************************参数:fileName:待加密的文件名(绝对路径),encryptionName:加密生成的文件名(绝对路径)返回值:true,加密成功;false,加密失败****************************...

2020-03-28 08:55:15 414

转载 ubuntu、linux 设置开机启动软件

1、终端输入: gnome-session-properties2、弹出窗口为“ 启动应用程序首选项”3、点击右侧添加4、 输入描述和软件路径5、这里的软件路径在 /usr/bin目录下,所以最终的命令栏输入的内容是:/usr/bin/albert (以添加albert开机启动为例)各步骤截图如下:转自:https://www.jianshu.co...

2020-03-26 19:24:54 380

原创 第三节课

动态规划(Dynamic Programming)动态规划(DP)与分而治之(D&C)相似:都是将一个问题分解为更小的子问题 动态规划(DP)更适合子问题重叠的情况:例如:它们有公共的子问题 通常动态规划(DP)用于最优化问题(有许多解,我们想要找到最好的一个) 动态规划(DP)的主要思想:分析最优解的结构 递归地定义最优解的值 计算最优解的值(通常自底向上)0-1...

2019-10-05 22:14:53 161

原创 第二节课(2)

快速排序划分给定一个数列A[lo...hi] 重排数列A[lo...hi],使其成为两个子数组(可能为空)A[lo...mi-1]和A[mi+1...hi]对任何且,都有图1x称为轴(pivot)。快速排序的步骤:先调用划分 递归排序A[lo...mi-1]和A[mi+1...hi]划分的思想:使用A[hi]作为轴,从左向右扩展分区。图2初始化(...

2019-10-04 13:31:48 120

原创 第二节课(1)

Counting Inversions(逆序计数)音乐网站试图将你的听歌喜好与其他人相匹配:你的排前n的歌 音乐网站从数据库中找到与你有相似品味的人相似性度量(similarity metric):两个排列间的逆序的数量我的排名:1,2,...,n. 你的排名:. 如果i < j,但,歌i和j是逆序 A B C D E Me ...

2019-10-03 12:45:27 130

原创 第一节课(2)

分而治之分而治之(D&C)是一种重要的算法设计范例。在分治策略中,我们递归地求解一个问题,在每层递归中应用如下三步骤:分解(Divide):将问题划分为一些子问题,子问题的形式与原问题一样,只是规模更小 解决(Conquer):递归地求解出子问题。如果子问题规模足够小,则停止递归,直接求解 合并(Combine):将子问题的解组合成原问题的解分治的核心是合并(Combine/...

2019-09-16 19:59:44 373

原创 第一节课(1)

一、课本《算法导论》第三版二、参考书《算法》《算法分析》《计算机程序设计艺术》《具体数学》三、课程大纲基础知识(渐进记号及递归) 分而治之(MSC、PM、快排) 动态规划(0-1背包等) 贪心算法(HUffman编码和部分背包) 图算法(BFS、DFS、SP、MST、最大流和匹配) 处理难解问题(P、NP、NPC和近似算法)四、课程主题设计高效算法 证明算法正...

2019-09-15 21:17:34 316

原创 UVa12563 劲歌金曲

题目:UVa12563代码实现:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;utility&gt;#include&lt;algorithm&gt;using namespace std;typedef pair&lt;int,int&gt; Pii; //first-曲子数 second-时间 co...

2019-03-14 20:45:47 176

原创 UVa1395 苗条的生成树(Slim Span)

题目:UVa OJ VJ代码实现:#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;algorithm&gt;#include&lt;queue&gt;#include&lt;functional&gt;#include&lt;set&gt;using namespace std;int n,m; ...

2019-03-10 21:40:31 149

原创 UVa658 这不是bug,而是特性

题目:VJ : UVa658代码实现:#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;queue&gt;#include&lt;vector&gt;#include&lt;string&gt;#include&lt;functional&gt;using namespace std;struct Node{...

2019-03-09 22:46:06 200

原创 UVa1592 数据库

题目:VJ : UVa1592代码实现:#include&lt;iostream&gt;#include&lt;string&gt;#include&lt;vector&gt;#include&lt;set&gt;#include&lt;map&gt;#include&lt;utility&gt;using namespace std;map&lt;string,int...

2019-03-04 11:14:37 383

原创 UVa400 Unix ls命令

题目:VJ:UVa400代码实现:#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;string&gt;#include&lt;algorithm&gt;using namespace std;int main(){ int N; while(scanf("%d",&amp;N) == 1){ ve...

2019-03-03 18:55:28 187

原创 UVa1590 IP网络

题目链接:UVa1590代码实现:#include&lt;iostream&gt;#include&lt;vector&gt;#include&lt;string&gt;#include&lt;set&gt;#include&lt;cstdio&gt;using namespace std;int main(){ int m; while(scanf("%d",&amp..

2019-03-03 15:32:08 204

原创 ccf/csp认证第三题文本处理 相关资料

箴言录:知之者不如好知者,好知者不如乐之者。

2019-03-02 22:07:15 929

原创 输入scanf()、cin>>、getline()返回值及其作为条件判定的使用

1.scanf()scanf()函数返回成功读入的项目的个数。如果它没有读取任何项目(当它期望一个数字而您却键入了一个非数字字符串时就会发生这种情况),scanf()会返回值0。当它检测到“文件结尾”(end of file)时,它返回EOF(EOF是在文件stdio.h中定义的特殊值。一般,#define指令把EOF的值定义为-1)。我们可以利用scanf()的返回值在if语句和while语...

2019-03-01 12:57:13 4224

原创 UVa1589 象棋

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4121思路:找出黑将下一步可能的位置,判断该位置是否可被红方攻击。错误1:没考虑黑将移动吃红子问题错误2:没考虑给出的输入黑将可以直接杀红帅错误3:输入字符问题(可能OJ系统输入有问题,总是导致超时)。代码实现:#include&lt;iostream&gt;#include...

2019-02-27 22:49:10 184

转载 C++的门门道道

【导语】 C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发语言;C++虽功能强大,灵活巧妙,但却属于易学难精的专家型语言,不仅新手难以驾驭,就是老司机也容易掉进各种陷阱。 本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易犯错的地方,做了归纳总结;希望借此能增进大家对C++语言了解,减少编程出错,提升工作效率。【...

2019-02-24 18:43:19 237

原创 高频算法面试题学习总结----动态规划3:换硬币

题目:硬币很多种,价值各不同。拼成一个数。最少用几个?输入:coins = {1, 2, 3, 4} target = 10输出:3解释:最少使用的硬币数是3:包含两个4和一个2思路分析:1.贪心法:从最大硬币值开始,逐步往低试。反例:coins = {1,5,11}    target = 20;    应输出:4(4*5);贪心法输出:6(11+5+4*1)。贪心法pass...

2019-02-21 12:04:05 374

原创 高频算法面试题学习总结----动态规划2:偷金子

题目:房间有金子, 价值各不同。 连偷会报警, 如何赚大钱?输入:houses = {3, 5, 2, 10} 解释:有四间屋子,金子的价值各是3、5、2、10 ­偷的时候,不能偷连续的房间, 比如,偷了3,就不能偷5;偷了5就不能偷3和2 输出:15思路分析:可做如图1所示的过程分析,同种颜色虚线框为相同子问题。图1代码实现:#include&lt;ios...

2019-02-20 18:14:34 348

原创 高频算法面试题学习总结----动态规划1:斐波那契

题目:斐波那契如下:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, ... 计算斐波那契第n位 F(n), n &lt; 90。输入:n = 5输出:5代码实现:#include&lt;iostream&gt;#include&lt;vector&gt;using namespace std;struct S...

2019-02-20 12:07:25 139

原创 问题1:c++运算符重载为类的非静态成员

遭遇的问题是:原代码为:struct Node { int cost; int city; int stops; bool operator&gt;(const Node&amp; n) { return cost &gt; n.cost; }};但编译出错,问题在于操作符重载。解决:将操作符重载改为:bool operator&gt;(const Node&...

2019-02-19 21:56:24 377

原创 高频算法面试题学习总结----图形结构3:安排航班

题目:从A飞到B,最多停k次,如何找路线,价钱最便宜。输入:flights = {{{1, 1000}, {2, 2000}}, {{2, 500}}, {{1, 500}}} from = 0 to = 2 k = 1解释:一共有三个机场,分别是0、1、2。 第0号机场有两趟航班:从0到1的价格是1000,从0到2的价格是2000 第1号...

2019-02-19 20:37:38 166

原创 高频算法面试题学习总结----图形结构2:安排课程

题目:学校要上课,顺序有先后。 能否排排课,把课都上完。输入: prerequisites = {{1}, {3}, {3}, {}}解释: 一共有四门课,编号分别为0、1、2、3, 第0门课需要先完成第1门课, 第1门课需要先完成第3门课, 第2门课需要先完成第3门课, 第3门课没有要求。输出:true解释: 一个可行...

2019-02-18 17:40:11 139

原创 高频算法面试题学习总结----图形结构1:克隆图

题目:克隆一个无向图。输入: node = {{1, 2}, {0}, {0, 2}}解释: 0/ \1 2 /\ \/输入有三个节点,第0个节点和第1个和第2个节点相连,第1个节点和第0个节点相连,第2个节点 和第0个、第2个节点相连。输出:{{1, 2}, {0}, {0, 2}}解释:输出的结构相同,但是节点不一样。题目解读:如图1所示,题目利用二维...

2019-02-17 22:08:11 235

原创 高频算法面试题学习总结----树形结构3:先根遍历

题目:先根遍历二叉树输入:root = {1, 2, 3, ­-1, 4, 5, 6}输出:{1, 2, 4, 3, 5, 6}解释: 1 / \ 2 3 /\ /\ null 4 5 6root对应的是一个树形结构,­1代表null,正整数代表这个节点的值,每个节点的值全局唯一。思路1:递归实现代码:#include&lt;iostream&gt;#inc...

2019-02-16 11:37:44 232

原创 高频算法面试题学习总结----树形结构2:共同祖先

题目:有个二叉树,还有俩节点,如何找得到,最近的祖先输入:root = {1, 2, 3, -­1, 4, 5, 6}value1 = 5value2 = 6解释: 1 / \ 2 3 /\ /\ null 4 5 6root对应的是一个树形结构,­-1代表null,正整数代表这个节点的值,每个节点的值全局唯一。输出:3思路1...

2019-02-13 18:41:51 156

原创 高频算法面试题学习总结----树形结构1:寻找变化

题目:一个数组,前段是0, 后段是1。你能否找到, 出现的第一个1。输入1: nums = {0, 0, 0, 1, 1, 1, 1}输出1: 3输入2: nums = {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1}输出2: 2思路1:遍历,时间复杂度O(n)思路2:分治,采用二分搜索,时间复杂度O(logn)实现代码:#include&lt;io...

2019-02-13 13:09:05 158

原创 高频算法面试题学习总结----线性结构3:验证括号

题目:给你一个包含括号的字符串,判断是否正确。输入1:equation = "([][]{})"输出1:true输入2:equation = "([)]"输出2:false思路1:利用栈代码实现:#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;string&gt;using namespace st...

2019-02-13 11:44:43 108

原创 高频算法面试题学习总结----线性结构2:合并数组

题目: 有两个排序的数组,nums1和nums2,将这两个数组合并成新的排序数组,并且放入nums1中。 输入: nums1 = {4, 5, 7, 10, 0, 0, 0} length1 = 4 nums2 = {3, 6, 11} length2 = 3输出: {3, 4, 5, 6, 7, 10, 11}思路分析:(1)另外构建一个长度与n...

2019-02-12 21:24:05 95

原创 高频算法面试题学习总结----线性结构1:两数之和

题目:有一个整数数组nums,能否从中取出两个数,使他们的和为target。输入1:nums = {4,5,7,10}target  = 12输出1:true输入2:nums = {4,5,7,10}target  = 8输出2:false题目分析:首先由给出的输入输出案例,可知取出的两个数不能为同一个数(不放回取数);其次整数数组nums是否有序是不确定的...

2019-02-12 17:56:39 172

原创 红黑树详解及其模板类实现

一、历史1972年,Rudolf Bayer发明了一种数据结构,这是一种特殊的4阶B树。这些树维护从根到叶的所有路径保持相同数量的节点,从而创建完美平衡的树。但是,它们不是二叉搜索树。Bayer在他的论文中将它们称为“对称二叉B树”(symmetric binary B-tree),后来它们作为2-4树(也称2-3-4树)变得流行。在1978年的一篇论文“平衡树的二色框架”中,Leonid...

2019-01-29 22:33:00 1030

原创 B树详解及其模板类实现

一、背景1、分级存储        现代电子计算机发展速度空前,然而从实际应用的需求来看,问题规模的膨胀却远远快于存储能力的增长。以数据库为例,在20世纪80年代初,典型数据库的规模为10~100MB,而三十年后,典型数据库的规模已需要以TB为单位来计量。实践证明,分级存储才是行之有效的方法。在由内存与外存(磁盘)组成的二级存储系统中,数据全集往往存放于外存中,计算过程中则可将内存作为外村...

2019-01-11 22:25:23 1368

原创 嵌入式学习----综观

 一、计算机基础(a)硬件:电子、计算机、计算机组成、通信(b)软件:编译器、语言、算法、操作系统、软件工程(c)网络:互联网历史,互联网组成结构(d)行业:IT行业分类,各行业介绍,行业方案的重要性二、嵌入式技术 (a)基础:Linux基础知识,C语言,Linux系统编程,8051单片机 (b)STM32:裸机,ucos/freertos (c)linux嵌入...

2019-01-02 21:54:29 113

原创 分治法解决凸包问题

问题        设p1=(x1,y1),p2=(x2,y2),...,pn=(xn,yn)是平面上n个点构成的集合S,凸包问题是为集合S构造最小凸多边形。思路        设p1=(x1,y1),p2=(x2,y2),...,pn=(xn,yn)按照x轴坐标升序排列,则最左边的点p1和最右边的点p2一定是该集合的凸包顶点。如图1所示。设p1pn是经过点p1和pn的直线,这条直线把集合S分成两...

2018-07-04 17:04:13 2756 1

PetShop-4.0详解.pdf

PetShop-4.0详解 PetShop 是一个范例,微软用它来展示.Net 企业系统开发的能力。

2020-04-28

算法设计与分析(第二版)王红梅,胡明 第一章课后答案

算法设计与分析(第二版)王红梅,胡明 第一章课后答案

2018-07-02

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

TA关注的人

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