自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Otnw的博客

ACM_算法_专博

原创 扩展欧几里得(待深入理解)

扩展欧几里得 扩展欧几里得: 已知整数a、b,扩展欧几里得算法可以在求得a、b的最大公约数的同时,能找到整数x、y(其中一个很可能是负数),使它们满足贝祖等式 ax+by=gcd(a,b); #对于给定的一个a,b必然存在x,y使得ax+by=gcd(a,b); 扩展欧几里得,其实实际...

2019-03-14 19:56:26

阅读数 89

评论数 0

原创 记忆化搜索概述

记忆化搜索概念 记忆化搜索(search),算法上依然是搜索,但具有dp的性质。 记忆化搜索综合了搜索和dp的特点。 记忆化搜索概念: 记忆化搜索按自顶向下的顺序求解,每求解一个状态,将它的解保存下来 (根据得到的求解的状态方程,保证了每求的一个解都是当前最优的),再次遇到这种状态的时候,直接返...

2019-03-04 15:39:36

阅读数 209

评论数 0

原创 数据在计算机中存储形式

数据在计算机中存储形式 考虑到使用二进制等等进行编程,需要了解数据在计算机中的存储形式。 数据在计算机中都是以二进制码存储的。 对于数,是以二进制的补码存储的。 对于有符号的数,其范围是-128~127 因为补码 0000 0000代表0 所以补码 1000 0000被定义为-128 其他的补码各...

2019-03-02 16:46:12

阅读数 1715

评论数 0

原创 与char变量的再次会晤

与char变量的再次会晤 #char型变量+ASCII码+字符 #坚持看完,巩固字符的学习 这次我想说的是,有关char变量与ASCII码以及参与数学运算和逻辑运算的关系。 这次我请来了ASCII码,才得以顿悟赋值给字符型变量单个字符和ASCII码(数字)的关系。终于从懵逼中解脱。 ...

2019-03-01 15:20:07

阅读数 62

评论数 0

原创 动态规划概述

动态规划思想 动态规划概念:(dynamic programming)求解决策过程最优化的数学方法 动态规划思想: 把多阶段过程转化成一系列单阶段问题,利用各阶段之间的关系,逐个求解 动态规划分类: 线性动规 区域动规 树型动规 背包动规 动态规划的基本解题思路...

2019-02-26 17:09:36

阅读数 42

评论数 0

原创 网络层 - 虚拟电路服务和数据报服务

虚拟电路服务和数据报服务 使用数据报服务的时候, 对比的方面 虚电路服务 数据报服务 思路 可靠通信应当由网络来保证 可靠通信应当由用户主机来保证 连接的建立 必须有 不要 目的站地址 仅在连接建立阶段使用,每个分组使用短的虚电路号 每个分组都有目的站的全地址 分组...

2020-03-30 13:09:57

阅读数 10

评论数 0

原创 网络层 - IP地址的五种分类、IP地址分类的判断标准

IP地址的分类   IP地址是32bit的01串,分为两部分“网络号”、“主机号”。IP地址共分为ABCDE五类,不同类的IP地址,其网络号和主机号所占位数不同。IP地址在广域网中是唯一的,在局域网中可能会重合。 IP地址的网络号和地址号位数 分类 网络号 主机号 A类 8bit ...

2020-03-30 12:43:53

阅读数 23

评论数 0

原创 Linux -设备的三种文件描述符

  在Linux中,一切皆文件,所以操作一个设备的时候,也会有相对的文件描述符,如下是设备的三种文件描述符: 文件描述符0:标准输入设备 文件描述符1:标准输出设备 文件描述符2:标准错误输出设备 ...

2020-03-29 13:28:14

阅读数 10

评论数 0

转载 Linux - 静态库和动态库的优缺点

静态库   静态库在程序编译时,直接将库中的代码链接到可执行程序中。 优点:可执行程序直接运行,不需要额外链接,运行速度快 缺点:加入多个程序共同使用同一个静态库,相当于把多段相同的代码保存在不同的可执行程序中,在空间上有一定浪费。 1.使可执行程序运行速度快 2.浪费一定的空间 动态库 ...

2020-03-29 13:19:56

阅读数 24

评论数 0

原创 线程同步机制 - 互斥关系和合作关系

线程同步和互斥共存的典例   当线程A和线程B都需要访问临界资源a,此时,是线程A先访问呢?还是线程B先访问呢?假如线程A和线程B按一定的次序协同完成一个工作,这就牵扯到了线程同步的问题,如果线程B需要某个特定的条件才能够访问临界资源,而线程A在访问临界资源时才能够触发线程B所需的条件,这个条件就...

2020-03-26 15:31:14

阅读数 40

评论数 0

原创 wait/waitpid - 获取子进程状态

子进程状态   当进程运行的时候,可能会关注进程的状态,父进程可以选择忽略这些状态或者根据这些状态作相应的处理。   当一个进程发生特定的状态变化(暂停、终止、恢复)时,内核向其父进程发送SIGCHLD信号。 wait/waitpid函数   作用:等待子进程状态改变,并获取子进程的状态信息。 僵...

2020-03-22 15:43:19

阅读数 20

评论数 0

原创 创建进程

创建进程的两种方式 在shell中执行命令或者可执行文件,此时由shell进程调用fork函数创建子进程 在代码中调用fork函数创建子进程 创建子进程 pid_t fork(void) fork函数被正确调用之后,将会在子进程和父进程中分别返回;在子进程中返回0(不合法的PID);在父进程中...

2020-03-22 15:01:42

阅读数 10

评论数 0

原创 进程的生命周期

1. 进程创建   由fork()创建进程。在之前所学的知识中可知,PID=0的进程创建了init(PID=1)进程,而init进程是所有进程的父进程。在一个进程中,调用fork()创建的子进程会返回两个值,一个是子进程PID,另一个是0(当返回0的时候,表示当前运行的是子进程)。 2. 进程启动...

2020-03-22 14:39:26

阅读数 19

评论数 0

原创 进程空间 - 进程环境

进程空间 内核空间 用户空间 用户空间的各部分 栈:支撑函数调用、存放参数、局部变量等 堆:动态分配空间 未初始化数据:没有明确赋值的变量 初始化数据:赋值的变量 正文:代码段 进程环境 命令行参数 通过shell执行的命令一般都是 [命令] -[参数] 文件名/其他的形式 环境变量表...

2020-03-22 14:32:03

阅读数 7

评论数 0

原创 exec系列函数 - 在进程中运行可执行文件

父进程与子进程   父进程创建子进程,两进程的关系(两种): 父子进程执行不同的代码段:父进程希望子进程继承自己的代码段并且拷贝数据段,继承打开的文件以及创建时的状态,然后父子进程执行不同的代码段。 创建一个全新进程:父进程希望在子进程当中执行另外一个可执行文件,从而达到创建一个全新进程的目的。...

2020-03-22 13:05:03

阅读数 26

评论数 0

原创 进程属性 - 修改文件所有者权限,为什么Linux系统用户能够修改自己的密码

修改文件的所有者权限   进程在创建的时候,会生成与进程相关的进程属性,包括进程的权限、进程的有效用户(组)、真实用户(组)。 实验:修改 ...

2020-03-20 14:19:28

阅读数 14

评论数 0

原创 进程属性 - 有效用户id和真实用户id

进程属性 查看当前运行进程状态 ps -aux ps是process status进程状态的意思,这个命令是查看当前运行进程的状态,u:按照用户名和启动时间的顺序显示,x:显示无控制中断进程。 进程的整个生命周期,pid不会更改。 获取进程id(pid) pid_t getpid(void) 头文...

2020-03-20 13:31:03

阅读数 6

评论数 0

原创 进程在内核中的组织

进程和程序的区别 程序是可执行的代码以及执行时需要的数据等信息,存放在磁盘上的介质。 当程序被操作系统装载到内存并分配给它一定的资源后,此时可以称为进程。 程序是静态存储的概念,进程是动态加载以及执行的概念。 程序被加载到内存成为进程的流程:   程序被cpu载入到内存,然后利用fork创建进...

2020-03-15 18:38:36

阅读数 15

评论数 0

原创 waiting for target device to come online

waiting for target device to come online   这个意思是“等待目标设备开启”,但是在遇到这个问题的时候,如果模拟器已经开启了,但是Android Studio右下角还会有一个Emulator的中文乱码相关的错误。   如果你的C:/用户/用户名的用户名是中文...

2020-03-11 09:58:47

阅读数 42

评论数 0

原创 Unix/Linux文件系统

Unix/Linux文件系统 什么是文件系统?   文件系统是以合理有效的层次结构组织的文件和目录的集合。 Linux系统特性 “一切皆是文件”,在Linux系统中,无论是普通文件、目录、设备(字符设备、块设备)、套接字,都是文件。 类型不同的文件都通过相同的API操作。 Unix/Linux允...

2020-03-09 22:50:02

阅读数 14

评论数 0

原创 linux编译运行程序

linux编译运行程序 gcc的编译过程   如下图所示,ggc工具在编译一个代码文件的时候,要经过以下的步骤,最终链接成可执行文件。 gcc命令 gcc命令 编译程序,用法gcc <文件名> -[参数] 常用参数 -o filename:该选项不在乎gcc产生什么输出,无论是...

2020-03-08 01:28:07

阅读数 28

评论数 0

原创 常用的linux/unix系统命令

常用的linux/unix系统命令   命令的格式,一般是: 命令 [参数] <文件/目录名>或者其他参数 如:ls -dl run (查看run文件夹目录的详细结构) 文件目录类命令 浏览目录类命令 ls命令 list,显示当前文件夹下的文件及文件夹,用法ls -[参数] &...

2020-03-08 00:21:07

阅读数 31

评论数 0

原创 系统调用和库函数

系统调用和库函数   这一部分主要是为了用户能够方便的和操作系统交互,由此操作系统提供了用户接口,让用户或者开发人员通过这些接口方便的与系统进行交互。 用户接口   用户接口分为三部分:命令接口(windows中为cmd命令行,linux中为terminal,用户可以通过执行命令完成相应的任务)、...

2020-03-07 03:18:48

阅读数 24

评论数 0

原创 1. Unix/Linux体系结构 -内核的功能

内核的功能   linux操作系统的层面分为用户层、内核层(两个子系统:文件系统和进程系统)、物理层。这里主要学习内核层。   内核对操作系统的管理,分为四个管理方面:内存管理、进程管理、文件管理、设备管理。 内存管理   内存管理分为四个部分:分别为内存分配调用、内存保护、地址映射、内存扩充。 ...

2020-03-07 02:24:56

阅读数 18

评论数 0

原创 hexo简单搭建博客

hexo简单搭建博客   简单爽快的记录一下搭建hexo & 部署到github上的整个过程。 1. 安装node.js & Git node.js 下载地址(建议下载LTS,这个是长期支持版) Git 下载地址 node.js就是运行在服务端的 JavaScript,不需要...

2020-03-02 01:53:51

阅读数 34

评论数 0

原创 冒泡排序

冒泡排序 冒泡排序 数组的下标从0开始 假如有n个数 (i,j下标从0开始) 外层循环,循环(n-1次) 每次从零循环,每次循环(n-1-i次) 输入 输入无序的十个数 2 5 7 8 9 6 4 1 3 10 输出 升序 1 2 3 4 5 6 7 8 9 10 #include <io...

2020-01-05 23:03:34

阅读数 11

评论数 0

原创 python负数取余 整除运算

正数的整除和取模   正数的整除和取余就不用说啦吧 # 整除 >>> 10 // 3 3 # 取余 >>> 10 % 3 1 负数几种情况的整除和取模 整除 # 1. 正数整除负数 >>> 10 // -3 -4 总结:(分割法)10被3分隔...

2019-11-02 12:00:45

阅读数 143

评论数 0

原创 Traceback (most recent call last): File "c:\python\python36-32\lib\runpy.py", line 193, in _run_mo

Scrapy报错 Modue not Found: no module named XXX.settings   本来程序是没错的,当时调通之后个人也测试了一下,但是报的找不到 BlogSpider.settings这个settings文件的错误,网上有个老兄说把Python卸载重装… 阿弥陀佛,...

2019-11-02 09:56:16

阅读数 1582

评论数 0

原创 scrapyd服务器报错processing failed

scrapyd服务器报错processing failed   Scrapyd服务器报错Processing failed,网上又没有明确的解决方案,搜来搜去,大概知道是Twisted的版本过高,Scrapy与其不兼容。   尝试换Twisted版本,又需要安装Microsoft Visual C...

2019-10-22 10:52:46

阅读数 239

评论数 0

原创 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止

这里我提供一种出错的原因 因为mysql的问题,也是把我的脑阔折磨怕了。 服务启动报错: 本地计算机上的mysql服务启动停止后,某些服务在未由其他服务或程序使用时将自动停止 原因1 如果你最近配置过my.ini,之后发现打不开服务。可能是你配置的my.ini的配置有错,检查下my.ini中的配置...

2019-09-07 19:46:17

阅读数 164

评论数 0

原创 let和var定义变量的区别

1. 全局声明let和var变量的区别 全局声明的时候,let定义的变量不能作为window的属性 //全局作用域时,let定义的变量不能作为全局对象windows的属性 // 全局声明写在最上面 var var_v = "hello"; let let...

2019-09-06 20:29:06

阅读数 23

评论数 0

原创 python关键字yield

python关键字yield 在网上搜到一篇讲的不错的博客 博客链接 在这里我就总结一下yield的功能和用法 yield的作用机制: 1、yield执行完当前函数后,结束 (实际上是暂停) 函数并返回值。 2、同一个程序中再次调用这个函数时,从上次结束的下一句开始执行。 用代码来解释yield的...

2019-08-07 10:43:28

阅读数 23

评论数 0

原创 Python类属性和实例属性

Python的类属性和实例属性   实例属性又称为对象属性。   简而言之,类属性是类的属性,实例属性是实例的属性。类属性通过类名调用,实例属性通过self/实例对象调用。 测试代码1 # object 是 Python中的根类、最底层的类,基本上所有的类都要继承于object类 class Pe...

2019-08-07 10:34:49

阅读数 39

评论数 0

原创 蓝桥杯 日志统计

日志统计 #尺取法 #vector容器 #全局变量能开更大的空间哦~ 题目 小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有N行。其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞"。 现在小明想统计有哪些帖子曾经是...

2019-03-20 21:32:44

阅读数 120

评论数 0

原创 论-100000乘以-100000

论-100000乘以-100000 #我真是闲的无聊,菜的一批,才会去论-10000乘以-100000,但我不知道为什么会爆? #计算完成之后进行类型转换 #计算完成之前就行类型转换 如下代码 这是一段错误的代码,输出的结果并不是10000000000,而是1410065408,显然,结...

2019-03-18 14:57:20

阅读数 419

评论数 0

原创 2017蓝桥杯c/c++B组 k倍区间

k倍区间 #一个10000的数组,求任意区间的和。 #原理很简单,想到了就解决了。 #大佬的解法,这波操作很骚 题目 标题: k倍区间 给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i &amp;lt;= j)之和是...

2019-03-15 20:23:59

阅读数 200

评论数 0

原创 第八届蓝桥杯c/c++B组 分巧克力

分巧克力 #二分求值 #二分是一个有意思的东西 标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们...

2019-03-15 20:19:18

阅读数 470

评论数 0

原创 2017蓝桥杯c/c++B组 包子凑数

包子凑数 #扩展欧几里得 #待证 这个题重点在于扩展欧几里得 记着这个结论吧:如果所有书的公约数为1,则凑不出来的包子数是有限的,否则,凑不出来的包子数是无限的。 包子凑数 标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放...

2019-03-15 20:12:54

阅读数 212

评论数 3

原创 一段简单的代码,诠释了欧几里得的意义

欧几里得算法 总所周知,欧几里得算法可用来求解两个数a,b的最大公约数。 其实质上就是辗转相除法来求解两数的最大公约数。 代码实现: int gcd(int a,int b){ return b?gcd(b,a%b):a; } 一段简单的代码,诠释了欧几里得的意义,perfec...

2019-03-14 16:34:54

阅读数 92

评论数 0

原创 单元最短路径_dijkstra算法

单元最短路径 指定一个源点到其余各个顶点的最短距离。 dijkstra算法 1 指定一个源点x,使初始值的距离为其他点到源点x的距离。 for(int i=1;i&lt;=n;i++) dis[i]=e[i][x]; 2 遍历所有未标记的点,每次找一个离源点最近的点,标记。 3...

2019-03-10 15:54:21

阅读数 153

评论数 0

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