自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (3)
  • 收藏
  • 关注

原创 BIO、NIO、AIO网络编程

概述IOIO是输入和输出的缩写. Java的IO包主要关注的是从目标媒介读取数据以及输出数据到目标媒介,目标媒介包括: 文件 管道(线程内部通信) 网络连接 内存缓存 标准输入、输出和错误输出输出操作 输入操作 流流从概念上来说是一个连续的数据流。在Java IO中流既可以是字节流(以字节为单位进行读写),也可以是字符流(以字符为单位进行读写,如Read...

2018-04-24 11:24:58 234

原创 TCP/IP(1)

TCP/IP通常被认为是一个四层协议系统,自下而上分别是:1.链路层: 操作系统中的网络接口卡(硬件)+驱动程序(软件),它负责处理和电缆等物理接口相关的细节,链路层协议的消息头部中只含有源站和目标的MAC地址(设备出厂时就固定的硬件地址),它也只能根据MAC地址来转发消息,而不能做更新的消息的拦截和过滤。2.网络层: 处理分组在网络中的获取,在这一层中将会根据网络层协议特有的消息头中(即IP数据包

2017-10-06 19:23:51 266

原创 认识spring容器

近几年java开发人员最经常接触的框架莫过于spring了。发展至今spring已经将所有功能都模块化,除了几个核心模块其他的都可以按照自己的需要自行增删。而不变的是,最开始并且至今最核心的功能都是其基于控制反转(IOC)、依赖注入(DI)的作为容器,对象管理的功能,无论是用户分布式开发的spring-cloud还是帮助快速开发的spring-boot都是离不开它的。官方文档对于核心框架的图解是

2017-09-13 02:29:45 295

原创 《Learning Javascript Design Patterns》小结

summary for 《Learning Javascript Design Patterns》

2016-07-04 00:37:34 715

原创 linux下搭建游戏服务器运行环境

最近一直只在搭建公司游戏服务器的运行环境。  ps背景:  使用java开发,之前一直都是在window环境下开发的,现在要将项目部署到linux环境下 ,所以历程缓慢啊。。。  说说过程中都遇到啥吧!  1.编译:用Eclipse做开发,调试方便,但是开发时用到的jar包、引用的java源码项目都是到处乱放的,最后部署的时候不会再使用Eclipse了。所以就用到了ant这个方便的工具

2015-07-17 23:40:47 6764

原创 2013暑假集训B组训练赛第二场

Problem ACodeForces 79ABus Game 这题先预处理求出三种拿钱方式(0、1、2张100),然后由这三种方式两两组合成9种方式;然后按照优先选择的规则定义一个小于号,排一下序就ok了。之后就是逐一的按照排好的顺序取钱。#include #include using namespace std; struct

2013-07-27 11:16:54 819

原创 2013暑假集训B组训练赛第一场

A.Permutation思路:这题比较水,计数算出1-n中重复的数的个数就是最少的改变次数#include #include const int maxn = 5000+10;bool has[maxn];int n, ans, tmp;int main(){ while(scanf("%d", &n) != EOF) { ans = 0;

2013-07-20 09:26:29 999

原创 UVA11354 Bond

很明显满足这个条件的路径就是最小生成树上链接两个点的那条唯一的路径但是题目有50000个询问,如果单纯的在MST上DFS求值则每次查询的复杂度都是O(n),最后可能高达50000*50000如果组成一棵有根树,每个点记录了父节点及与父节点距离,则任意两个点肯定会有一个共同祖先,所求的值就是两个点到共同祖先路径上最大边中的较大者,我们只要记录每个点的深度,先将深度调到一样大,然后

2013-02-21 22:02:09 1185

原创 UVA1494Qin Shi Huang's National Road System(LA5713)(HDU4081)

次小生成树的应用总思路是枚举每条边作为那条免费的路;当你确定一条免费的路之后,相当于在这两个点之间加了一条长度为0的边之后求MST;根据刘汝佳所说,MST就是把所有环中的最大边删除,我们首先要求出MST如果枚举的边属于MST,则他原来不是环上的最大边,现在也不是,该这条边为0后MST的结构不变,只是MST的总长度少了这条边的长度;   如果枚举的边不属于MST,则他原来肯定是某

2013-02-20 23:32:09 749

原创 FZU1009 Jogging Trails

这道题对于Dijkstra的巧妙应用很神奇!题意:它让我们经过每条边至少一次,然后回到原点,求可以达到要求的最短的总路径:(这样重复经过的边就可以当成是我们增加上去的)我们可以这样理解:在原图的基础上增加一些边,使得这个图是欧拉回路,即每个点的度都是偶数由于只有15个点我们可以用状态压缩,相应位置1表示这个点度数是偶数;对于一个状态,加一条边则两个点奇偶性变了,相应

2013-02-15 23:14:11 1086

原创 UVA11478 Halum

2分法,对于最后能否达到x应满足每一对的:edge(u, v) + sum(u) - sum(v) >= x-->sum(v) -->d[v] -->模拟建图,判断是否有负环注意:题目的目标是所有边的权值都大于0而不是非负#include #include #include #include #include using namespace std;

2013-02-07 15:54:58 593

原创 UVA1416 Warfare And Logistics(LA4080)

首先用Dijkstra求出每对点距离;以及每条边是否属于以某个点为单源的树上然后枚举删除每条边:之后对于每个单源,如果这条边在上面则重新对这个点dijkstra,然后修改相应的边;否则每个点到这个单源的最短距离肯定不变(在原C基础上修改)wrong了整整一天,原来是求与源点相邻的点时忘了会有重边的情况,坑死了……#include #incl

2013-02-06 22:48:32 757

原创 UVA11078 Open Credit System

题目要求s[i] - s[j]   ;( i而对于每一个s[j], 对应的最大值就是max(s[i]) - s[j] ;( i 所以我们从头开始遍历max(s[i]) - s[j],并且时时更新max[s[i]];这样题目便只要O(n)便足够了#include #include const int maxn = 100000+10;int tcase, n, mbefor

2012-11-04 18:34:18 584

原创 UVA 11549 Calculator Conundrum

这题很明显会存在一个循环节,我们所要做的就是找出这个循环节里最大的那个数;利用佛洛依德判定圈,我们让两个循环child1和child2刚开始都为k,然后child1每次变换一次,child2每次变换2次;这样当child1再次等于child2时说明已经至少经过一个循环节了,因为child2已经从后面赶上child1了#include #include long long Max

2012-11-04 18:27:16 690

原创 UVA10881 Piotr's Ants

这道题主要有两个很重要的性质1:拿两只蚂蚁来分析,他们若遇到则会掉头走,这种情况下可知他们的相对顺序是不变的;若他们没有相撞相对顺序更是不变的;     综合起来所有蚂蚁的相对顺序是不会变的,即若A在B左边,之后A还是在B左边2:若我们只想求之后n只蚂蚁的n个位置,则两只蚂蚁相遇后可以当他们是互相穿透而过继续前进的,因为他们确实是相互代替对方的方向了      综合这两步就可以

2012-10-29 23:24:43 863

原创 HDU3473Minimum Sum

//这题是利用划分树的题目;//每层多加了一个变量lsum【dep】【i】表示该层放入左边的元素之和;//之后在求中位数即第(b - a + 1) / 2大的数时,顺便利用lsum【dep】【i】求出中位数左边数之和,之后求出中位数右边数字之和;//之后就显而易见了#include#includeconst int MAXN = 100100;int n, q, tcas

2012-10-27 11:43:15 375

原创 HDU4291A Short problem

随意选了一题,就作为博客生涯的开端吧^^#includetypedef __int64 LL;/*g(n) % MOD1 = g(n % MOD2) % MOD1;//MOD2为循环节,以下如上g(n) % MOD2 = g(n % MOD3) % MOD2; g(g(g(n))) % MOD1= g(g(g(n)) % MOD2) % MOD1= g(g(g(n)

2012-10-26 00:09:33 430

MSCN压缩版04

MSCN,对于VC编程人员来说相当于一部非常重要的参考书,而对于大多数人来说精简版已经足够了

2012-01-29

MSCN压缩版3

MSCN,对于VC编程人员来说相当于一部非常重要的参考书,而对于大多数人来说精简版已经足够了

2012-01-29

MSCN0压缩版2

MSDN,对于vc开发人员来说是一部非常重要的参考书,而精简版对大多数人来说足够了,我找了很久的资源哦

2012-01-29

空空如也

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

TA关注的人

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