自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 程序是从main开始吗?

并不是的。。。一个典型的程序运行步骤如下:1、操作系统在创建进程后,把控制权交到了程序的入口,这个入口往往是运行库的中的某个入口函数。2、入口函数对运行库和程序运行环境进行初始化,包括堆、I/O、线程、全局变量构造,等等。3、入口函数在完成初始化之后,调用main函数,正式开始执行程序主体部分。4、main函数执行完毕之后,返回到入口函数,入口函数进行清理工作,包括全局变量西沟、堆销毁、关闭I/O...

2018-05-19 12:32:11 1004

原创 超级详细的客户端服务器简单通信

**超级详细的客户端服务器简单通信** 通信流程图//Service端#include <iostream>#include <WinSock2.h>#pragma comment(lib,"ws2_32") //Windows Sockets应用程序接口using namespace std;#define maxLen 4096 //

2017-10-31 11:20:28 899

原创 线程详解

线程:是程序执行流的最小单元。一个标准的线程有线程ID、当前指令指针(PC)、寄存器集合和堆栈组成。一个进程由一到多个线程组成,各个线程之间共享程序的内存空间(代码段、数据段、堆等)及一些进程级资源(打开文件和信号)。进程内的线程:使用多线程原因:1、某个操作可能会陷入长时间等待,等待的线程会将进入睡眠状态,无法继续执行。多线程执行可以有效利用等待的时间。2、某个操作(如计算)会消耗大量的时间,如...

2018-05-22 21:19:40 315

原创 Windows API

Windows API为什么要使用Windows API?本着”要解决问题就加层的万能法则“,Windows作为一个商业操作系统,对应用程序的向后兼容性必须做好。而系统调用实际是非常依赖于硬件结构的一种接口,受到硬件的严格限制,比如寄存器的数量、调用时的参数传递、中断号、堆栈切换等。若硬件结构稍微改变,大量的应用程序可能会出现问题(特备是那些与CRT静态链接在一起的)。 直接使用系统调用作为程序接...

2018-05-22 21:16:13 1302

原创 线程私有与共享

线程私有:栈(局部变量,函数的参数)线程局部存储(Thread Local Storage,TLS)。有限的容量寄存器 (执行流的基本数据)TLS的用法很简单,如果要定义一个全局变量为TLS类型,只需在她定义前加上相应的关键字即可。对于GCC来说, _thread int number;对MSVC来说, _declspec(thread) int number;一旦一个全局变量被定义程...

2018-05-22 21:09:53 3924

原创 C语言运行库标准库

C语言运行库大致包含如下 功能:启动与退出:包括入口函数和入口所依赖的其他函数等。标准函数:由C语言标准规定的C语言标准库所拥有的函数实现。I/O:I/O功能的封装和实现。堆:堆的封装和实现。语言实现:语言中一些特殊功能的实现。调试:实现调试功能的代码。C语言标准库:stdio.h——标准输入输出 、文件操作ctype.h——字符操作string.h——字符串操作math.h——数字函数stdli...

2018-05-19 12:34:09 1438

原创 程序的内存分布

32位的系统中,内存空间拥有4GB(2的32次方)的寻址能力。大多数的操作系统都会将内存空间 中的一部分挪给内核使用,应用程序无法直接访问这一段内存。Windows默认情况会将高地址的2GB空间分给内核,而Linux默认会将高地址的1GB空间分配给内核,剩下的空间被称为内存空间。一般来说,应用程序内存空间会有下面默认区域:栈:用于维护函数调用的上下文,离开栈函数调用就无法实现通常,局部变量也将不存...

2018-05-15 13:34:23 224

原创 静/动态链接的具体实现过程

静态链接具体实现过程:ELF的静态链接机制在Linux下的实现。首先操作系统会读取可执行文件的头部,检查文件的合法性,然后从头部中的“Program Header”中读取每个“Segment”的虚拟地址、文件地址和属性,并将它们映射到进程虚拟空间的相应位置,接着操作系统就会把控制权交给可执行文件的入口地址,然后程序开始执行。动态链接具体实现过程:ELF的动态链接机制在Linux下的实现。首先操作系...

2018-05-08 11:21:22 385

原创 深入静态链接与动态链接

静态链接 :不同的程序开发者和部门能够相对独立地开发和测试自己的程序模块,大大促进了程序开发效率。优点:1、代码装载速度快,执行速度略比动态链接库快; 2、只需保证在开发者的计算机中有正确的.LIB文件,在以二进制形式发布程序时不需考虑在用户的计算机上.LIB文件是否存在及版本问题。 缺点:1、浪费内存和磁盘空间、模块更新困难;2、会给对程序的更新、部署和发布带来很多麻烦。例如:在多进程操作系统情...

2018-05-07 13:13:24 189

转载 滴滴笔试第一题xor(参考大神的)

#includeusing namespace std;typedef long long ll;map mp;int n, t, q, ans;int main() {    ans = 0;    scanf("%d", &n);    mp[0] = true;    while (n--) {        scanf("%d", &t); 

2017-09-10 17:46:27 377

原创 华为2017校招第二题删除重复的数,得到最大值。

#include #include #include using namespace std;#include #include int main(){ string str; int a[128]; while(cin>>str){ memset(a,0,sizeof(a)); int len=str.

2017-08-23 21:19:43 600

原创 ACM:S: 取字符串

ACM:S: 取字符串Description有个长度为1000000以内的字符串C,提供整数a,b,d,e,计算ans=a*b%d,然后取C从第e(e的取值从0开始)号位置的字符开始长度为ans的那子串并输出。(1Input 有多组测试数据,对于每组数据,第一行为4个整数,a,b,d,e,第二行为给定的字符串C。Output

2017-06-06 18:35:31 281

原创 ACM:Q: 机器人的指令

Q: 机器人的指令Description数轴原点有一个机器人。该机器人将执行一系列指令,你的任务是预测所有指令执行完毕之后它的位置。·LEFT:往左移动一个单位·RIGHT: 往右移动一个单位·SAME AS i: 和第i 条执行相同的动作。输入保证i 是一个正整数,且不超过之前执行指令数Input输入第一行为数据组数T (TOutp

2017-06-06 18:18:55 542

原创 ACM:P: 三家人

ACM:P: 三家人Description有三户人家共拥有一座花园,每户人家的太太均需帮忙整理花园。A 太太工作了5 天,B 太太则工作了4 天,才将花园整理完毕。C 太太因为正身怀六甲无法加入她们的行列,便出了90元。请问这笔钱如何分给A、B 二位太太较为恰当?A 应得多少元?90/(5+4)*5=$50 元?如果这么想你就上当了!正确答案是60 元。如果没想通的话再想想吧。

2017-06-06 17:53:32 461

原创 ACM:O: 一二三

ACM:O: 一二三Description你弟弟刚刚学会写英语的一(one)、二(two)和三(three)。他在纸上写了好些一二三,可惜有些字母写错了。已知每个单词最多有一个字母写错了(单词长度肯定不会错),你能认出他写的啥吗?  Input第一行为单词的个数(不超过10)。以下每行为一个单词,单词长度正确,且最多有一个字母写错。所有字母都是小写的

2017-06-06 15:59:16 379

原创 ACM:N: 就多了两分钟

ACM:N: 就多了两分钟Description Yucept21和他的室友Zyn因为宿舍没电去网吧上网,上了27分钟,Cs打电话来说来电了。所以Yucept21在第29分钟下机了,上网的费用是一块钱,然后Zyn墨迹了两分钟,第31分钟下机,上机费用是2元。现在知道网吧是按照半个小时计费的,假设半个小时上机的费用是1块钱。现在给你两个时间点,要你求出上机费用和再上多少分钟最划算?(

2017-06-06 15:46:21 327

原创 ACM:M: 1 VS 1

ACM:M: 1 VS 1Description      Alice and Bob are playing the game SanguoSha 1VS1.If Alice take a card or use a card (it may be slash,missed,peach,duel,sabotage or theft and so on) or di

2017-06-06 15:20:37 350

原创 ACM:L: 素数槽

ACM:L: 素数槽Description       处于相邻的两个素数p和p + n之间的n - 1个连续的合数所组成的序列我们将其称为长度为n的素数槽。例如,‹24, 25, 26, 27, 28›是处于素数23和素数29之间的一个长度为6的素数槽。       你的任务就是写一个程序来计算包含整数k的素数槽的长度。如果k本身就是素数,那么认为包含k的素数槽的长度为0。

2017-06-05 22:28:59 272

原创 ACM:K: 抛硬币

ACM:K: 抛硬币DescriptionJames得到了一堆有趣的硬币,于是决定用这些硬币跟朋友们玩个小游戏。在一个N行M列的表格上,每一个第i行第j列的格子上都放有一枚James的硬币,抛该硬币正面朝上的概率为Pij,所有抛硬币事件两两之间是相互独立的。现在,玩家在M列硬币中,从每一列里各选择1枚,共M枚,构成一组。如此重复选择N组出来,且保证被选择过的硬币不能再选。选好组

2017-06-05 16:03:40 577

原创 ACM:J: 矩形着色

ACM:J: 矩形着色DescriptionDanni想为屏幕上的一个矩形着色,但是她想到了一个问题。当点击鼠标以后电脑是如何判断填充的区域呢?现在给你一个平面直角坐标系,其中有一个矩形和一个点,矩形的四条边均是平行于x轴或y轴的。请你判断这个点相对于矩形的位置,即在矩形内,在矩形上,还是在矩形外?Input第一行只有一个整数T,(T 接下对于每种情况,

2017-06-05 15:42:08 380

原创 ACM:H: UC Browser

ACM:H: UC BrowserDescriptionBrother Xi has recently bought a smart mobile phone. Now he surfs Internet by his mobile phone almost every day. The browser that he uses is UC Browser, which is on

2017-06-05 14:09:59 451

原创 ACM:G: ACM小组的古怪象棋

ACM:G: ACM小组的古怪象棋DescriptionACM小组的Samsara和Staginner对中国象棋特别感兴趣,尤其对马(可能是因为这个棋子的走法比较多吧)的使用进行深入研究。今天他们又在 构思一个古怪的棋局:假如Samsara只有一个马了,而Staginner又只剩下一个将,两个棋子都在棋盘的一边,马不能出这一半棋盘的范围,另外这 一半棋盘的大小很奇特(n行m列)

2017-06-05 13:15:53 482

原创 ACM:F: ACM小组的成绩排名

ACM:F: ACM小组的成绩排名Description为了保证每位ACMer学习的进度,检验其学习成果,每隔一段时间就要进行一次内部测验。Samsara被逼迫去评测,并且要给每个人一个分数,自然作为弱菜的他是没有时间和精力来进行排名统计了,希望会编程的你能帮他输出前三名的成绩。Input输入包含若干组数据,每组数据都有两行,第一行一个正整数n(3读入以文件

2017-06-05 12:38:00 1025

原创 ACM:E: ACM小组的组长

ACM:E: ACM小组的组长DescriptionSamsara的小组需要选出一个组长。组内一共有n(不包括Samsara)个组长候选人,分别用1至n编号,小组m个人参与了投票,得票数最多的人将被选为组长。(如果出现得票数相同得情况,则选择编号最小的那个人)Input输入包含若干组数据,每组数据都有两行,第一行两个正整数n(1读入以EOF结束。

2017-06-05 12:28:55 399

原创 ACM:D: 奇数个的那个数

ACM:D: 奇数个的那个数Description给定些数字,这些数中只有一个数出现了奇数次,找出这个数。Input每组数据第一行n表示数字个数,1 接下来n行每行一个32位有符号整数。Output出现奇数次那个数,每组数据对应一行。Sample Input511223712122

2017-06-04 22:49:51 423

原创 ACM:C: 稳定排序

ACM:C: 稳定排序Description给出二元数组a[MAXN][2],按第一个关键值从小到大排序后输出,要求第一关键值相同情况下不改变原数组次序Input每组数据第一行为整数n,1 接下来n行每行两个整数空格隔开。Output输出排序后的数组Sample Input32 41 02 334

2017-06-04 22:35:19 895

原创 ACM:B: 三个数字

Description1、2、3三个数字组成的序列,要求把所有的2放在前面,所有的3放在后面,输出结果。ACM:B: 三个数字Input每组数据1、2、3组成的一行字符串,长度不超过10 ^ 5。Output把原串的2放在前面,3放在后面,输出。Sample Input12321223311Sam

2017-06-04 21:38:36 286

原创 ACM:A: 二叉树结点公共祖先

ACM:A: 二叉树结点公共祖先Description一个顺序存储的完全二叉树:             1          /     \        2         3      /   \     /    \    4       5  6      7    ...任意给定两结点的编号,求两结点最近的公共祖先。Inp

2017-06-04 21:24:35 418

转载 ACM: Nearest Numbers

ACM: Nearest NumbersDescription Given three integer sequences which have been sorted in ascending order,pick one integer from each sequence and we can get three integers.we want these three in

2017-05-30 17:52:40 273

原创 ACM: O: Assignments

ACM: O: AssignmentsDescription    When Starfleet headquarters gets a request for an exploration expedition, they need to determine which ship from those currently docked in the docking bay to

2017-05-13 12:23:55 237

原创 ACM:Y: Three Jugs

ACM:Y: Three JugsDescription    We have three jugs A, B, C without any calibration, and an infinite supply of water. There are three types of actions that you can use:     (1) Fill a jug. 

2017-05-12 18:22:24 360

原创 ACM:W: Super-increasing sequence

ACM:W: Super-increasing sequenceDescription如果一个序列中任意一项都大于前面所有项之和,那么我们就称这个序列为超递增序列。现在有一个整数序列,你可以将序列中任意相邻的若干项合并成一项,合并之后这项的值为合并前各项的值之和。通过若干次合并,最终一定能得到一个超递增序列,那么得到的超递增序列最多能有多少项呢?Input

2017-05-10 22:53:42 325

原创 ACM:R: Optimal Parking

ACM:R: Optimal ParkingDescriptionWhen shopping on Long Street, Michael usually parks his car at some random location, and then walks to the stores he needs. Can you help Michael choose a place

2017-05-10 22:00:32 245

原创 ACM:组合数末尾的零

ACM:组合数末尾的零Description从m个不同元素中取出n (n ≤ m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数。组合数的计算公式如下:C(m, n) = m!/((m - n)!n!) 现在请问,如果将组合数C(m, n)写成二进制数,请问转这个二进制数末尾有多少个零。Input第一行是测试样例的个数T,接下来是T个测试样例,每个测试样例占一行,有两个数,依次是m

2017-05-09 15:15:19 326

原创 ACM:真三国无双

ACM:真三国无双Description真三国无双是魔兽的一个游戏,该游戏是以中国三国的历史背景而制作的,该游戏是5 V 5的游戏模式,敌对双方各5个英雄,推掉了对方的大本营就算取得了胜利。ZYH和SN都喜欢玩这个游戏,但是他们谁也不服谁,都觉得自己的操作比对方厉害,因此他们两人决定以单挑的方式来一决高下。ZYH选择了他最喜欢的英雄:关羽,SN也选择了他喜欢的英雄:典韦。在

2017-05-09 15:10:14 339

原创 ACM: Simple Line Editor

Simple Line EditorDescriptionEarly computer used line editor, which allowed text to be created and changed only within one line at a time. However, in line editor programs, typing, editing, an

2017-05-09 14:26:50 230

原创 ACM L: XueXX and Binary

L: XueXX and BinaryDescriptionXueXX is a clever boy. And he always likes numbers in binary(二进制). What an interesting hobby!Now XueXX has some number in decimal(十进制), he wants to know

2017-05-01 22:04:01 291

原创 2132: 中南大学2017年ACM暑期集训前期训练题集(入门题)

V: 剪刀石头布Description现在一共有N个人(分别记为1, 2, …, N)在玩剪刀石头布,如果知道他们每个人都出了什么,你能找出来谁是winner吗?当且仅当一个人可以赢其他所有人时,才称这个人是winner。我们将剪刀记作2,石头记作0,布记作5,那么胜负关系就应当是2能赢5,5能赢0,0能赢2。Input输入数据的第一行包含一个整

2017-05-01 21:48:46 317

空空如也

空空如也

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

TA关注的人

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