- 博客(165)
- 收藏
- 关注
转载 宏、内联函数和普通函数的区别
内联函数的执行过程与带参数宏定义很相似,但参数的处理不同。带参数的宏定义并不对参数进行运算,而是直接替换;内联函数首先是函数,这就意味着函数的很多性质都适用于内联函数,即内联函数先把参数表达式进行运算求值,然后把表达式的值传递给形式参数。内联函数与带参数宏定义的另一个区别是,内联函数的参数类型和返回值类型在声明中都有明确的指定;而带参数宏定义的参数没有类型的概念,只有在宏展开以后,才由...
2019-12-09 15:23:09
285
转载 将ubuntu的c++版本升级到c++11
一:安装g++ 4.8指令 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.8 sudo apt-get install g++-4.8二:修改bashrc文件sudo vim ~/.bashrc在脚本最...
2019-09-24 10:47:57
3298
转载 将vmvare中的ubuntu目录映射到windows本地
1、安装open-vm-tools:sudo apt-get installopen-vm-tools open-vm-tools-desktop2、vmhgfs-fuse .host:/ 【要挂载的目录】
2019-09-23 21:56:59
812
转载 Linux进程间通信(二):信号集函数 sigemptyset()、sigprocmask()、sigpending()、sigsuspend()
我们已经知道,我们可以通过信号来终止进程,也可以通过信号来在进程间进行通信,程序也可以通过指定信号的关联处理函数来改变信号的默认处理方式,也可以屏蔽某些信号,使其不能传递给进程。那么我们应该如何设定我们需要处理的信号,我们不需要处理哪些信号等问题呢?信号集函数就是帮助我们解决这些问题的。有关Linux进程间使用信号通信的更多内容,可以参阅我的另一篇文章,Linux进程间通信 -- 信号量函数 ...
2019-09-18 22:10:55
264
转载 Linux进程间通信(一): 信号 signal()、sigaction()
一、什么是信号用过Windows的我们都知道,当我们无法正常结束一个程序时,可以用任务管理器强制结束这个进程,但这其实是怎么实现的呢?同样的功能在Linux上是通过生成信号和捕获信号来实现的,运行中的进程捕获到这个信号然后作出一定的操作并最终被终止。信号是UNIX和Linux系统响应某些条件而产生的一个事件,接收到该信号的进程会相应地采取一些行动。通常信号是由一个错误产生的。但它们还可以作...
2019-09-18 22:09:19
224
转载 创建守护进程步骤与setsid() -- linux deamon进程
一,守护进程概述LinuxDaemon(守护进程)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程syslogd、 web服务器httpd、邮件服务器sendmail和数据库服务器m...
2019-09-18 11:10:20
143
原创 提高效率的Linux小技巧
命令编辑及光标移动这里有很多快捷键可以帮我们修正自己的命令。接下来使用光标二字代替光标的位置。删除从开头到光标处的命令文本ctrl + u,例如:cd /proc/tty;ls -al 光标如果此时使用ctrl + u快捷键,那么该条命令都会被清除,而不需要长按backspace键。删除从光标到结尾处的命令文本ctrl+k,例如:cd /proc/tty光标;...
2019-08-15 00:07:11
156
转载 读扩散与写扩散
哪些产品是feed流典型业务?答:微博,微信朋友圈,Pinterest是典型的feed流业务,系统中的每一条消息就是一个feed。这类业务的特点是: 有好友关系,例如关注,粉丝 我们的主页由别人发布的feed组成 这类业务的典型动作是: 关注,取关 发布feed 拉取自己的主页feed流 这类业务的核心元数据是: 关系数据 ...
2019-08-12 09:26:20
1232
转载 cpu相关知识
关于CPU和程序的执行CPU是计算机的大脑。1、程序的运行过程,实际上是程序涉及到的、未涉及到的一大堆的指令的执行过程。当程序要执行的部分被装载到内存后,CPU要从内存中取出指令,然后指令解码(以便知道类型和操作数,简单的理解为CPU要知道这是什么指令),然后执行该指令。再然后取下一个指令、解码、执行,以此类推直到程序退出。2、这个取指、解码、执行三个过程构成一个CPU的基本周期。...
2019-08-11 20:38:16
214
原创 一次对服务性能的分析与优化
背景:最近实习导师给了一个小需求,编写一个将书籍状态加载到内存中(组里负责小说相关的业务)的服务,用于推荐系统推荐书籍使用。思想非常简单,去数据表里读出所有书籍的状态,然后将bookid通过哈希映射到一个数组里,别人来获取书籍状态时就可以直接访问这个数组,达到O(1)查询的效率。这听起来真是美妙极了。服务发布以后,晚上美滋滋的下班了,谁知当天晚上收到了几十个服务告警,“服务双高”:耗时高,cpu使...
2019-08-11 00:07:06
557
原创 消息队列初步接触
消息队列是什么:我们可以把消息队列比作是一个存放消息的容器,当我们需要使用消息的时候可以取出消息供自己使用。消息队列主要用来解决系统间通信问题,进行消息的存储和转发为什么要用消息队列:1.通过异步处理提高系统性能(削峰、减少响应所需时间)2.降低系统耦合性。消息队列缺点:系统可用性降低: 系统可用性在某种程度上降低,为什么这样说呢?在加入MQ之前,你不用考虑消息丢失或者说MQ挂...
2019-07-22 09:55:16
242
原创 MySQL触发器总结
最近在做需求时用到了触发器来解决一些数据同步问题,特此对其总结一番。首先来看看触发器语法(关键字用大写字母表示):CREATE TRIGGER tigger_nameAFTERUPDATE ON table_nameFOR EACH ROWBEGIN IF (...) and (...) THEN #这里有一点要特别注意,条件判断相等是应该写 = ,而不是 == ...
2019-07-01 16:22:15
898
转载 sublime常用快捷键
文本选择:Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。Ct...
2019-06-16 19:40:34
160
原创 记一次关于MySQL触发器的错误:
问题描述:在一个表中插入一条数据时,同时想更新这条数据错误写法:create table t1( a int(11), b int(11))CREATE TRIGGER triggerBEFOREINSERT ON t1FOR EACH ROWBEGIN update t1 set new.a=1;END这样会报这个错误:Can't update table ...
2019-06-04 11:46:20
861
转载 delete,truncate,drop区别
本文导读:删除表中的数据的方法有delete,truncate, 其中TRUNCATE TABLE用于删除表中的所有行,而不记录单个行删除操作。TRUNCATE TABLE 与没有 WHERE 子句的 DELETE 语句类似;但是,TRUNCATE TABLE 速度更快,使用的系统资源和事务日志资源更少。下面介绍SQL中Truncate的用法当你不再需要该表时, 用 drop;当你仍要保...
2019-05-31 15:02:07
213
原创 MySQL索引
1.索引的作用:提高数据查询效率2.常见索引模型:哈希表、有序数组、搜索树3.哈希表:键 - 值(key - value)。4.哈希思路:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置5.哈希冲突的处理办法:链表6.哈希表适用场景:只有等值查询的场景7.有序数组:按顺序存储。查询用二分法就可以快速查询,时间复杂度是:O(log(N))8...
2019-02-24 12:02:48
179
转载 Sublime DocBlocker插件在自动补全注释时输出自定义作者和当前时间等信息
Sublime在进行前端开发时非常棒,当然也少不了众多的插件支持,DocBlocker 是在Sublime平台上开发一款自动补全代码插件,支持JavaScript (including ES6), PHP, ActionScript, Haxe, CoffeeScript, TypeScript, Java, Apex, Groovy, Objective C, C, C++ and Rust.等...
2018-11-26 21:26:08
606
转载 PHP效率计:从引号开始(单引号、双引号效率区别)
一直以来,程序的执行效率就是人们所关注的,在PHP中也不例外,从最简单的引号,也在思考他的效率。我们特别做了实验,我们自称这个实验可能前无古人,后无来者。我们的实验是借助最初级的实验方法:累积法和多次实验求平均值。实验一:在普通情况下的效率我们的实验是5000次执行10000个字节的文件,获得解析过程中的速度。首先,本实验特别规定一个单位,这是为了更好地表示以及排除计算机本身效率的差异。...
2018-09-14 17:09:05
416
原创 Maximum of Maximums of Minimums codeforces 872 B(简单思路)
题意:给你一个数组,长度为n,要你把数组分为k组,注意每一组都必须要是连续的,从每段里面取最小值,然后从k个最小值里面找出最大值就是答案。#include<stdio.h>#include<algorithm>using namespace std;const int N=1e5+5;int a[N],maxa,mina;int main(){ i...
2018-08-15 09:55:40
346
转载 在虚拟机(vmware)中安装liux系统的时候,出现提示‘Unsupported Hardware Detected’ 亲测有效
经过查询,可以通过修改BIOS中的虚拟技术。我的电脑是win10,打开windows然后点击设置,点击更新和安全,然后恢复,选择立即重启,选择疑难解答,选择高级选项,然后选择UEFI固件设置,在配置中选定虚拟技术,enter选择enabled或者允许。最后打开vmware,重新安装时候,还是会出现该提示,但是此时点击ok即可,之前没有更改BIOS时候,点击ok会出现电脑重启现象,更改之后,就可...
2018-08-12 18:19:10
4031
原创 Largest Rectangle in a Histogram POJ - 2559 (单调栈详尽版)
题意:在一个条形统计图中求最大的矩形面积,宽为1,高由题目给出。思路:维护一个单调递增序列,若当前进栈值小于栈顶元素,说明栈顶的矩形已经不能再往右边延伸了,那么算出它的面积与ans进行比较。如此将整个数组扫一遍即可求得答案。具体看代码注释#include<stdio.h>#include<algorithm>using namespace std;typed...
2018-08-11 18:17:23
320
原创 志愿者选拔 FZU - 1894 (单调栈)
题意不多说,中文题目,三种操作,加入队列,删除队列,查询最大值。思路:维护一个单调递减序列,每次询问时输出栈底值即可。#include<stdio.h>const int N=1e6+5;char s[10];int maxx[N],a[N];int main(){ int t,k,head,tail,tot; scanf("%d",&t);...
2018-08-11 17:59:03
222
原创 Sliding Window POJ - 2823 (单调栈)
题意:给你一个数组大小为n,有一个大小为k的窗口从左往右划过数组,要你输出每k个数组值中的最大值和最小值,分两行输出,第一行输出连续k个数字的最小值,第二行输出连续k个数字的最大值。思路:很明显的单调栈问题。#include<stdio.h>const int N=1e6+5;int a[N],minn[N],maxx[N],n,k,ansa[N],ansb[N];in...
2018-08-11 17:52:24
370
2
原创 Points on Line CodeForces - 251A (二分&单调队列)
题意:给你n,k和一个长度为n的数组,数组的值保证从小到大,问从中取出三个数,使得最大值减去最小值<=k,问有多少种取法思路一:将数组遍历一遍,定义两个指针head和tail,如果满足条件就tail-head-1个数里面选出两个即组合数学的Cn2(我不会公式编辑器),然后累加起来就是答案了。网上说这是单调队列,但我更觉得这像暴力,只不过是可以保证O(n)的复杂度。思路二:二分,相比上...
2018-08-11 17:38:14
256
原创 Subsequence HDU - 3530 (单调栈,初学详细解释)
题意:给你n,m,k以及一数组,n个元素,求一个序列使得序列里最大值减去最小值>=m且<k,求这个序列的最大长度,序列必须连续。思路:用单调栈维护一个单调递增序列和一个单调递减序列,计算两个单调栈的栈底元素的差值分别跟m,k 作比较得出序列的最大值。详细看代码,注释很详细#include<stdio.h>#include<algorithm>usi...
2018-08-09 12:05:41
741
原创 Second My Problem First HDU - 3706 (单调栈,详细解释)
题意:给你三个数n,a,b,定义s[i]=a^i%b,T i = Min{ S k | i-A <= k <= i, k >= 1} ,要你求ti数组累成起来的积再取余b思路:如果懂得单调栈的思想应该很容易就能想到这题要用单调栈来解决,模型不难建立,维护s[i]数组的单调递增序列然后每次把栈底元素累成起来取余b即可,只是这题要注意乘法溢出,我在这里wa了很久。详细看代码...
2018-08-09 11:55:15
257
原创 Ping pong (树状数组)
N(3<=N<=20000) ping pong players live along a west-east street(consider the street as a line segment).Each player has a unique skill rank. To improve their skill rank, they often compete with e...
2018-08-04 18:43:29
1183
原创 Ultra-QuickSort POJ - 2299 (树状数组求逆序数&离散化简单)
In this problem, you have to analyze a particular sorting algorithm. The algorithm processes a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted i...
2018-08-04 18:36:02
190
原创 Stars (树状数组)
Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not higher and ...
2018-08-02 11:38:10
553
1
原创 See you~ (hdu1892 二维树状数组)
Now I am leaving hust acm. In the past two and half years, I learned so many knowledge about Algorithm and Programming, and I met so many good friends. I want to say sorry to Mr, Yin, I must leave now...
2018-08-02 11:26:09
467
原创 I Hate It HDU - 1754 (线段树求区间最大值)
很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。在每个测试的第一行,有两个正整数 N 和 M ( 0<N<=200000,0<M<5000...
2018-07-27 17:53:47
214
原创 敌兵布阵 HDU - 1166 (线段树入门,单点更新,区间查询)
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以...
2018-07-27 17:23:03
249
原创 blockhouses(dfs)
blockhouses时间限制:1000 ms | 内存限制:65535 KB难度:3输入The input file contains one or more map descriptions, followed by a line containing the number 0 that signals the end of the file. Each map descr...
2018-07-18 18:37:49
306
原创 The partial sum problem(dfs)
The partial sum problem时间限制:1000 ms | 内存限制:65535 KB难度:2输入There are multiple test cases.Each test case contains three lines.The first line is an integer N(1≤N≤20),represents the array contai...
2018-07-18 16:06:15
184
原创 Nightmare(bfs)
Nightmare时间限制:1000 ms | 内存限制:65535 KB难度:4输入The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.Ea...
2018-07-17 17:56:47
306
原创 Count the string hdu 3336(kmp next数组运用)
It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of this string. For example: s: "ab...
2018-05-31 16:41:39
281
原创 Simpsons’ Hidden Talents hdu 2594(kmp应用)
Homer: Marge, I just figured out a way to discover some of the talents we weren’t aware we had. Marge: Yeah, what is it? Homer: Take me for example. I want to find out if I have a talent in politi...
2018-05-30 21:39:31
239
原创 Blue Jeans poj 3080(暴力&kmp)
The Genographic Project is a research partnership between IBM and The National Geographic Society that is analyzing DNA from hundreds of thousands of contributors to map how the Earth was...
2018-05-30 19:32:41
266
原创 坦克大战 nyoj 284(优先队列+广搜)
坦克大战 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 Many of us had played the game "Battle city" in our childhood, and some people (like me) even often play it on com...
2018-05-30 11:07:54
281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人