自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 资源 (2)
  • 收藏
  • 关注

原创 flink学习之DataStream流处理Iterations

参考:1.https://ci.apache.org/projects/flink/flink-docs-release-1.13/zh/docs/dev/datastream/overview/2.

2021-06-17 14:09:50 570 1

原创 秋招面试经验(百度+华为+京东+美图+51+头条+招银科技+美团+腾讯+阿里+网易面试经验)&部分建议 (研发岗:java研发,大数据研发,研发,云计算研发)

        18年9月底结束秋招, 本来说是要写秋招经验的。 结果被我拖到了现在,  今天是我在某BAT之一实习的倒数第二天,马上就要回去做毕设了,正在总结,正好得空。         本人某工科985硕,8月底参加秋招,9月底结束秋招, 之所以那么迟秋招只是因为当时在旅游,不想其他事分心,同时也是因为没准备好,  那么早结束秋招只因为实验室工作催得紧,秋招也实在疲惫。        秋招一共...

2018-02-26 15:55:16 4342

原创 hadoop3.0.0 源码阅读之一:IPC Client部分

之前一直在看Hadoop源代码,接下来打算好好的总结一下,先占一个坑,先把之前注释的代码发出来。如有不对,请大家指正。在Hadoop中,不同节点间使用RPC机制进行通信,但是它并没有使用RMI,而是自己实现了一套RPC(没用用java本身自带的序列化), 这个RPC大体来说分为两个部分,一个是Client端,一个是Server端。 底层数据的传输是用google的protobuf。RP

2017-10-12 10:03:26 1150

原创 Vim+ctags+cscope+Nerdtree+Taglist入门

介于linux下并没有什么像Source Insight这样优秀的内核源码阅读工具,只有一些模仿的都不伦不类,所以我用打造vim为一个合格的源码阅读器,看着贼爽。可能一下子看起来那么多东西可能怕怕的,但是可以一个一个来。Vim+ctags可以先用着,能够实现自动跳转。然后再一点一点加入其他的来完善。下面就是我的vim的效果图(实际上不难,别被吓到),左边是Taglist 右边是Nerdtr

2017-10-11 21:08:02 1758

原创 红黑树详解

红黑树 一.红黑树定义红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位表示节点的颜色,颜色是红(Red)或黑(Black)。红黑树的特性

2017-05-09 14:07:37 1199

原创 Paxos协议超级详细解释+简单实例

Basic-Paxos算法(可以先看后面的实际例子再看前面的具体介绍部分)Paxos算法的目的Paxos算法的目的是为了解决分布式环境下一致性的问题。    多个节点并发操纵数据,如何保证在读写过程中数据的一致性,并且解决方案要能适应分布式环境下的不可靠性(系统如何就一个值达到统一)Paxos的两个组件Proposer提议发起者,处理客户端请求,将客户端的请求发送到集群中,

2016-12-20 20:23:19 28985 14

原创 分布式CAP原理

Consistent data:     Operations commit or fail in their entirety(atomic)    操作的提交或者失败都是整体的(原子性)    Transactions never observe or result in inconsistent data(consistent)        事务不会导致不一致的数据  

2016-12-17 21:36:22 654

转载 HashMap 详解

HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。下面就来分析HashMap的存取。一、定义      HashMap实现了Map接口,继

2016-11-25 17:17:00 327

原创 Mysql优化分析

Mysql层次结构: 1、Connectors指的是不同语言中与SQL的交互 2、Management Serveices & Utilities: 系统管理和控制工具 3、Connection Pool: 连接池 管理缓冲用户连接,线程处理等需要缓存的需求。 4、SQL Interface: SQL接口。接受用户的SQL命令,并且返回用户

2016-11-09 20:19:43 396

转载 进程与线程的超级简单形象解释

转载自:http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html这篇文章写的很生动,因此转载。1.计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。2.假定工厂的电力有限,一次只能供给一个车间使用。也就是说,一个车间开工的时候,其他车间都必须停工

2016-11-07 21:30:28 332

原创 Zookeeper 客户端源码吐血总结

**目录 一、几个重要的类 2 二、JAVA的基础知识 2 三、大致了解 2 四 从入门到放弃的讲解 3 Code1:ZK 3 Code2:创建 Zookeeper实例,实例化ClientCnxn,实例化ClientCnxnSocketNIO 3 Code3:实例化ClientCnxnSocketNIO (which extends ClientCnxnSocket)

2016-11-04 21:34:11 12475 2

原创 Zookeeper选举算法( FastLeader选主)

FastLeader选主算法:       看网上关于 zookeeper选主节点fast算法的描述,虽然有几篇写的非常不错,但是总感觉描述的差一些,因此打算写一个我认为的较为详细的版本让大家提点意见。当然如果有Paxos基础那自然看起来非常很简单。        具体的FAST算法流程如下所示:下面详细解释一下这个流程:首先给出几个名词定义:(1)Server

2016-10-28 19:14:53 22247 1

原创 hadoop学习之:Map、Reduce详解

Hadoop学习重点主要为HDFS、MapReduce 部分:接下来重点描述一下MAP与Reduce 的过程。看了好多资料,如果有错误的地方请大家指出。MAP部分:下图是官方给予的关于MapReduce的步骤,实际上图已经很好的说明了MapReduce的过程。TaskTracker 接受到MAP任务,或者SPLIT,  一个SPLIT对应一个或者多个BLOCK。

2016-10-18 10:23:15 739

原创 Windows 通过 putty 连接 虚拟机下linux 问题

1、在linux 下配置好IP地址,使得 Windows能 ping 通LINUX。2、直接百度下载  putty 即可,小程序, 程序运行界面如下:3、输入LINUX的IP地址,即可连接到linux.问题:如果出现  connection refused说明linux上SSH安装出现问题。解决办法步骤1、查看linux  openssh-server是

2016-09-29 17:33:06 822

原创 hdu 2072 截取字符操作

#include#include#include#include#includeusing namespace std;int main(){ string str; set q; char sss[1005]; while(gets(sss)){ str=sss; q.clear(); if(str=="#") break; int i; for(i=0;

2015-04-22 23:52:38 614

原创 sscanf的常见用法

例子:   1. 常见用法。   char buf[512] = ;   sscanf("123456 ", "%s", buf);   printf("%s\n", buf);   结果为:123456   2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。   sscanf("123456 ", "%4s", buf);   printf("%s

2015-04-22 23:35:36 662

原创 KMP算法 hdu 1711 hdu 2203

mark一下,重新温习了 KMPKMP复杂度O(n+m)这里有一个解释的超级的好的博客,大家可以去看一下:http://blog.csdn.net/v_july_v/article/details/7041827换言之,对于给定的模式串:ABCDABD,它的最大长度表及next 数组分别如下:    根据最大长度表求出了next 数组后,从而有

2015-04-22 11:43:01 618

原创 zoj 3707 Calculate Prime S

fibonacci数列的性质:1.gcd(fib(n),fib(m))=fib(gcd(n,m))证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>m时gcd(fib(n),fib(m))=gcd(fib(n-m),fib(m)),递归可求gcd(fib(n),fib(m))=gcd(fib(k),fib(l)),最后k=l,不然继续递归。K

2015-04-21 21:42:26 716

原创 hdu 3498

DLX 重复覆盖模板题# include# include#include#includeusing namespace std;# define N 60# define V N*Nint L[V],R[V];//记录左右方向的双向链表int U[V],D[V];//记录上下方向的双向链表int C[V];//指向其列指针头的地址int H[N];//行指针头int S

2015-04-20 00:08:26 882

原创 JAVA 大数总结

先留下一段代码,以后再写HDU 1042 N!import java.io.BufferedInputStream;import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String args[]){ Scan

2015-04-14 18:37:49 703

原创 浙江省第6届程序设计竞赛结题报告汇总 zoj3202-3212

zoj 3202 Second-price Auction水题,不解释了,直接贴代码#include#include#include#includeusing namespace std;struct node{ int x; int y;};struct node number[105];int cmp(struct node a,struct node b){

2015-04-05 23:59:45 944

原创 平面点集的最小包围圆 hdu 3932

最小覆盖圆算法地址:http://soft.cs.tsinghua.edu.cn/blog/?q=node/1066平面点集的最小包围圆1、           问题背景 考察固定在工作平台上的一直机械手,要捡起散落在不同位置的多个零件,并送到别的地方。那么,这只机械手的底座应该选在哪里呢?根据直觉,应该选在机械手需够着的那些位置的“中心”。准确地讲,也就是包围这些点的那个

2015-01-22 19:33:12 2420

转载 CA认证简单介绍与工作流程

CA工作原理     数字安全证书利用一对互相匹配的密钥进行加密、解密。每个用户自己设定一把特定的仅为本人所知的私有密钥(私钥),用它进行解密和签名;同时设定一把公共密钥(公钥)并由本人公开,为一组用户所共享,用于加密和验证签名。当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样信息就可以安全无误地到达目的地了。通过数字的手段保证加密过程是一

2014-05-07 20:25:23 10386

原创 伸展树(Splay tree)浅谈

树看的越来越多,越来越神奇。看伸展树这种神级数据结构之前,建议大家首先彻底明白二叉搜索树,这是万树的基础。然后可以去看下treap,最好再去看下红黑树。如果有线段树的基础那更好了,我们会发现线段树难以实现一些直接删除,直接插入的数据。这个时候就体现出神级数据解耦 伸展树的魅力了,他的区间操作的非常优雅的。有了这些基础之后,那就可以splay了。zig,zag,zig和z

2014-04-10 11:22:48 1278

原创 hdu 1535 spfa

建个正向的图。建个反向的图。2遍spfa搞定。#include#include#include#include#includeusing namespace std;int p,q;const int inf=0x3f3f3f3f;struct node{ int v,nxt; int w;}edge[1000005];struct s{

2014-04-08 21:12:36 724

原创 zoj 3327 Friend Number 模拟题

一年的省赛题目。先容我骂一下,这题目有病吧,我调试了一个下午+晚上,好不容易才顺利A了,真是坑。比赛中能做出来的那绝对是厉害啊!!。我的思路,方法可能有笨:1.首先判断下有几个0,有一个0的话,     一  。判断0后面有没有比9小的数,有的话那个数加1就可以直接输出了。     二  。如果0是最后一位,前面有比9小的数,那个数+1,后面全输出0即可   

2014-04-08 20:13:28 1073

原创 poj 2352 线段树

注意到题目中给的y是递增的,那个y没什么用,直接线段树维护一段1,x的区间。#include#include#include#include#includeusing namespace std;const int N=32005;int record[32005];struct node{ int l,r; int n;}s[3*N+10];void

2014-04-08 14:09:31 779

原创 C++ cin cout

未完待续。。。。。

2014-04-07 21:20:11 533

转载 C++string详解

之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。     好了,进入正题……… 首先,为了在我们的程

2014-04-07 21:02:17 514

原创 pat 1025 反转链表

注意到地址是一些数字,所以直接用int存了,这样就可以不用map了。机制的学叔。我就是个逗逼。#include int node[100000][3];int list[100000];int main(){ int n, k, start; while(scanf("%d%d%d", &start, &n, &k) != EOF) {

2014-04-07 20:54:09 989

原创 hdu 2648 map水过

#include#include#include#include#include#include#includeusing namespace std;int main(){ int n,i; while(scanf("%d",&n)!=EOF){ string temp; mapm1; m1.clear();

2014-04-07 15:57:02 813

原创 hdu 1806线段树 区间合并

#include#include#include#includeusing namespace std;int num[100005];const int N=100005;struct edge{ int l,r; int num,count; int rnum,rcount; //左值,左连续 int lnum,lcount; //右值,

2014-04-06 19:05:50 835

原创 hdu 4302 STL multiset

#include#include#include#include#includeusing namespace std;int main(){ int t,ww=1; scanf("%d",&t); for(ww=1;ww<=t;ww++){ multisetq; int i,n,m; scanf("%d%d",

2014-04-05 21:14:13 680

原创 hdu3449 有依赖的背包问题

不解释了,我估计难讲清楚,看代码吧。#include#include#include#include#includeusing namespace std;int f[100005],d[100005];int main(){ int n,ww; while(scanf("%d%d",&n,&ww)!=EOF){ int i,j,k,v[101

2014-04-05 14:16:58 1148

原创 hdu 1027 STL next_permutation

求下一个排列模板#include#include#include#includeusing namespace std;int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF){ int i; int a[1005]; for(i=1;i<=n;i++) a[i

2014-04-04 19:51:55 701

原创 poj 2342 树形DP

树形DP入门题目。树形DP说白了就是在搜索的时候动态规划。只要你懂的深搜+动态规划,就能理解这个基础题了。先直接搜索到最底层,然后一层一层动态规划,可以说有点像数塔。dp[i][1],dp[i][0]代表取这个节点和不取这个节点,所以。dp[i][1]+=dp[v][0]    v是的子节点dp[i][0]+=max(dp[v][1],dp[v][0]) 初始的时候将最

2014-04-02 23:46:56 847

转载 C++ map基本操作

C++ map的基本操作和使用   来源:(http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html) - C++ map的基本操作和使用_Live_新浪博客    Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1. map最基本的

2014-04-02 23:22:06 510

原创 zoj 3705 Applications

模拟题。#include#include#include#include#include#includeusing namespace std;const double eps=1e-8;struct student{ char name[50]; double score;}ss[1005];int maomao[1000],old[1000];struct n

2014-04-02 23:20:36 770

原创 最长公共子序列

所有的公共最长上升序列有三种解法:(1) 我刚才说的枚举法(2)递归(3)动态规划#include#includeint dp[1000][1000];int max(int a,int b){ return a=a>b?a:b;}void prit(int b[][100],char *x,int i,int j){ if(i==0||j==0) ret

2014-04-02 00:15:41 930

原创 zoj2968 Difference Game

分析:一   首先答案可以是正数。      那就简单了,先把所有的数进行升序排列,因为ga数组最小的数一定比gb数组最大的数大。所以排列后一定会在相连的位置得到答案。所以就从左到右便利分割点。左边作为gb数组,右边作为ga数组,然后进行原数组的模拟,然后判断下cost有没有超过c即可。如果发现不可能为正数,那就必须是负数了。二  负数的情况    因为每交换一对数会花费2

2014-04-01 19:39:16 914 3

eclipse-hadoop插件

eclipse-hadoop插件

2016-12-22

杭电ACM PPT

杭电ACM入门全套详细PPT

2016-11-07

空空如也

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

TA关注的人

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