自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(224)
  • 资源 (1)
  • 收藏
  • 关注

原创 A "synchronized" statement for C++ like in Java

参考链接:https://www.codeproject.com/Articles/12362/A-quot-synchronized-quot-statement-for-C-like-in-J 代码: #include

2017-10-10 11:37:45 466

原创 Linux 网络连接出错处理

1.wrap.h #ifndef __WRAP_H_ #define __WRAP_H_ void perr_exit(const char *s); int Accept(int fd, struct sockaddr *sa, socklen_t *salenptr); void Bind(int fd, const struct sockaddr *sa, socklen_t salen)

2017-06-28 16:51:12 667

原创 高并发服务器

1.线程池 #include #include #include #include #include #include #include #include using namespace std; #define sleep(n) Sleep(n*1000) #define DEFAULT_TIME 10 /*10秒检测一次线程与任务的比例*/ #define

2017-06-28 15:40:30 402

原创 leetcode 146. LRU Cache

题意:实现LRU(最近最久未用),包括get和set操作。 //使用一个双向链表存储数据(地址和内容),数据的顺序表示了它们被访问的时间顺序,越靠后访问时间越早 //使用Map存储地址(key)对应的链表中数据的地址,加快数据的查找速度 //get操作:只需向Map中查找是否有对应项即可,存在则将双向链表中的数据删除,并在链表前端重新插入 //set操作:先在Map中查找是否有对应项,如

2017-06-27 16:20:54 311

原创 Hadoop reduce阶段遍历Iterable的问题及解决方案

之前有童鞋问到了这样一个问题:为什么我在 reduce 阶段遍历了一次 Iterable 之后,再次遍历的时候,数据都没了呢?可能有童鞋想当然的回答:Iterable 只能单向遍历一次,就这样简单的原因。。。事实果真如此吗? 还是用代码说话: package com.test; import java.util.ArrayList; import java.util.Iterato

2016-11-10 17:39:41 1318

原创 Hadoop 自定义数据类型及输入格式

Hadoop提供了大量的数据输入类型,如Text和IntWritable.   假如我们需要自定义一个数据类型,首先要实现Writable接口,主要包含两个函数readFields和write.如果需要把新的数据类型作为Map函数的key输出的话,在shuffle阶段会有一个排序的过程,需要对key进行比较,那么这里就推荐实现WritableComparable接口,它比Writable接口多一

2016-11-10 17:16:35 522

转载 Eclipse中运行MapReduce程序时控制台打印进度信息

一般会在控制台上打印以下信息: log4j:WARN No appenders could be found for logger (org.apache.hadoop.util.Shell). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/

2016-11-10 16:22:22 1311 1

原创 leetcode 32.Longest Valid Parentheses

题意:给出一个括号的序列,问能够正确匹配的最长的长度。 假设给定的串是“(())()(()”,当碰到“(”时,给定值为0,碰到“)”,判断前面是否有能够进行匹配的“(”,若有,则给值2,否则给0。 这里可以使用栈来进行匹配“()”,但是遇到“(())”这样,对于第一个“(”,当后面的“()”匹配成功出栈的时候,第一个“(”在栈顶,那么就需要记录一下,在它右侧成功匹配了多少括号,当它也成

2016-09-24 19:15:52 300

原创 leetcode 11.Container With Most Water

题意:给出1-n每个下标线的高度,问使用哪两条线和x轴做容器能放最多的水。 一种方法遍历高度,先从大到小排序高度,然后取出前两个放在x轴上,坐标为l和r,然后依次遍历剩下的线,因为高度一直减小,所以要求后面遍历的线使得r-l变大即可。 struct node { int x,height; }nt; bool cmp(node a,node b) { return a

2016-09-24 18:51:59 309

原创 最长回文字符串

动态规划: //使用flag[i][j]记录s[i--j]是否是一个回文串 //然后逐渐增加i--j的长度 //若s[i]==s[j]&&flag[i+1][j-1]则为回文串 bool flag[1010][1010]; string longestPalindrome(string s) { int len = s.length(); memset(flag,false,s

2016-09-22 22:48:16 298

原创 next数组

示例图如下: 详解及代码: //好久没搞了,全都还回去了,以后还是要面试的 //所以又回顾了下,已经不知道是第多少次了 //我们知道的是,当匹配串和原串匹配失败后 //可以回到匹配串的第一个字符进行匹配 //然而next数组是怎么做的呢? //next数组就是当与原串进行匹配失败时 //匹配串要回到前面的位置的一个集合 void getNext(char s[]) {

2016-09-17 23:46:53 397

原创 最长公共子串和最长公共子序列(LCS)

int dp[2][100010]; /* 字符串读入方式: cin>>&str1[1]>>&str2[1]; */ int lcs(char str1[],char str2[]) { int len1=strlen(&str1[1]); int len2=strlen(&str2[1]); memset(dp,0,sizeof(dp)); //采用滚动数组,节

2016-09-10 22:31:28 353

原创 const限定符

const关键字用来定义一种常量,它的值不能被改变。对象在创建之后,其值不能改变,所以必须要在定义时就要初始化。 1.基础用法 const int i = get_number(); const int j = 42; const int k; //用法错误,必须要初始化 2.多文件共享const变量 编译器在编译过程中,将所有用到const常量的地方全部替换成对应的值,与de

2015-12-26 17:23:14 331

原创 hdu 2054-A == B ?

题目及代码:        以字符串的形式给出A和B,判断A和B的数值是否相等。        没什么事,也就来看看以前没做出来的题目。这是大一的时候留下的题目了,当时怎么做都不对,后来才知道,直接想的太简单了,后来就放弃了。        现在可能这道题目,就知道是一道比较恶心的模拟题目了。       思路就是用两个栈分别来存两个数,当然需要有一下要注意的地方:       1.‘+

2015-03-22 20:12:02 787

原创 hdu 5191-Building Blocks

题目及代码: 题目的意思是有n堆积木,每堆积木上有一定数目的积木,现在我想移动一些积木(每次移动一个),可以用一些积木重新添加一堆积木,但不能在两堆之间添加,使得出现连续的W堆积木,每堆的数目为H。 由于的连续的W堆,那么这样思路就好想了。我们首先求出第一组1-W堆中需要的最小数目(求法是求出这W堆中多于H的堆减去H的总和l和少于H的堆减去H的总和的绝对值r,取l和r中的最大值,想一想为什么?

2015-03-22 18:35:33 897

原创

堆是一个完全二叉树,可以由一维数组来实现。堆中数据是局部有序的。 堆分为两种:最大值堆和最小值堆。 堆的两个基本操作: 1)堆的最高优先级元素的删除:1.直接删除根 2.用最后一个元素来代替根 3.将堆从根开始向下调整 2)元素插入:1.在数组的最后插入一个元素 2.从末尾开始向上调整 模板(以最小堆为例): //堆的向下调整 void Down(int father) {

2015-03-20 11:19:03 458

原创 hdu 5187-zhx's contest

题目及代码:大意就是给定一个数n,问使用数字1到n能组合出多少组同时满足下列两种情况的序列:                     1.序列中的数字从第一项到第i项(1≤i≤n),满足单调递增或者递减;                      2.序列中的数字从第i项到第n项满足单调递增或者递减;     官方题解给的是2^n-2(n≥2),n=1时为1。推到方法不明......   

2015-03-16 16:43:55 721

原创 hdu 5167-Fibonacci

题目及代码:这道题目的意思是 给定一个数n,问这个数n是否能由斐波那契数列中的数的乘积组合而成。              首先想到一定会要先打表把所有的斐波那契数求出来,然后直接dfs就ok了。做题的时候很犹豫这样搜索到底行不行,总感觉会超时,结果却过了。 #include #include #include #include using namespace std; typ

2015-03-11 19:37:29 495

原创 hdu 5171-GTY's birthday gift(矩阵快速幂)

题目及代码:题目大意就是给定一个含有n个元素的序列,进行k次操作---每次操作从序列里面选择两个数,求和并将结果放在这个序列中,使得k次操作后这个序列中的元素和最大。     当然为了满足最大这个要求,那么我们每次当然是从序列中选择最大的两个元素相加,结果放在这个序列中,这个结果比为序列元素的最大元素。这样我们只需要找到原序列中最大的两个元素,累加就可以了。简单化简一下就知道这是一个经典的菲波那

2015-03-11 16:30:43 499

原创 hdu 5175-Misaki's Kiss again

题目及代码:题目大意就是 给定一个数n,找出所有的m(m>=1&&m                         本来觉得这个n一定是要进行素因子分解的,之后利用因子枚举n所有的约数,然后思路就断了。索性看了看官方的题解,的确是要枚举n所有的因子,不过不需要素因子分解,直接暴力就可以了。然后我们假设gcd(n,m)=k,这里k是n的一个因子,那么我们就可以得出n^m=k,这里两边同时亦或n,

2015-03-11 14:57:39 669

原创 hdu 5179-beautiful number

题目:给定一个区间的两个区间端点l和r,问在l和r之间有多少满足下列情况的数字---这个数字应该满足前一位是后一位的倍数。 分析:这是一个经典的数位DP的题目,我们可以把区间求和转化成两个区间的减法,即S[1,r]-S[1,l-1]就是我们求得的答案。          那么问题就转化成了求1-n之间满足情况的数的个数,那么我们就要使用dp[i][j]求得数字长度为i,首数字为j的满足情况的数

2015-03-10 18:44:58 792

原创 hdu 5183-Negative and Positive (NP)

题目:大概意思就是给定一个序列a[0],a[1]....a[n-1]和一个整数k,问是否有这样的两个下标是的NP-Sum(i,j)=k,这里NP-Sum(i,j)=a[i]-a[i+1]+a[i+2]-...+(-1)^(j-1)*a[j]。 思路:我们可以维护这个序列的后缀和(前缀也是可以的),然后枚举sum[i]查看在set表中是否存在sum[j]=sum[i]-k。 这里要分成i

2015-03-09 21:08:28 674

原创 hdu 5073 Galaxy

Galaxy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 323    Accepted Submission(s): 71 Special Judge Problem Description Good ne

2014-10-22 20:13:41 2028

原创 hdu 4059 The Boss on Mars

The Boss on Mars Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1934    Accepted Submission(s): 580 Problem Description On Mars, t

2014-10-16 17:45:38 1243

原创 zoj 3829 Known Notation

Known Notation Time Limit: 2 Seconds      Memory Limit: 65536 KB Do you know reverse Polish notation (RPN)? It is a known notation in the area of mathematics and computer science. It is also k

2014-10-13 21:12:15 1197

原创 zoj 3822 Domination

Domination Time Limit: 8 Seconds      Memory Limit: 131072 KB      Special Judge Edward is the headmaster of Marjar University. He is enthusiastic about chess and often plays chess with his fr

2014-10-13 21:02:28 1176

原创 树链剖分学习

最近学习树链剖分,在网上搜了很多文章,这里推荐一篇博客:点击打开链接。         这篇博客讲的很仔细,在了解了基本原理之后,可以学习一下kuangbin大大的模板: 定义部分: struct Edge { int to,next; }edge[2*maxn];//树的边 int head[maxn],tot;//邻接表 int top[maxn];//节点所在重链的最

2014-10-09 21:10:48 1228 2

原创 hdu 4810 Wall Painting

Wall Painting Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1265    Accepted Submission(s): 360 Problem Description Ms.Fang love

2014-10-09 18:14:22 1125

原创 acdream 1427 Nice Sequence

Nice Sequence Time Limit: 12000/6000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitStatisticNext Problem Problem Description       Let us consider the sequence a1, a2,.

2014-10-07 11:43:44 1242

原创 acdream 1431 Sum vs Product

Sum vs Product Time Limit: 4000/2000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitStatisticNext Problem Problem Description       Peter has just learned mathematics. H

2014-10-06 18:26:27 1142

原创 hdu 5060 War

War Time Limit: 8000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 98    Accepted Submission(s): 28 Special Judge Problem Description Long long ago

2014-10-06 11:30:53 2296 2

原创 hdu 5059 Help him

Help him Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 480    Accepted Submission(s): 119 Problem Description As you know, when y

2014-10-06 11:22:54 1105

原创 hdu 5058 So easy

So easy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 160    Accepted Submission(s): 104 Problem Description Small W gets two fil

2014-10-06 11:17:44 826

原创 acdream 1234 Two Cylinders

Two Cylinders Special JudgeTime Limit: 10000/5000MS (Java/Others)Memory Limit: 128000/64000KB (Java/Others) SubmitStatisticNext Problem Problem Description       In this problem your t

2014-10-05 18:27:56 1130

原创 acdream 1414 Geometry Problem

Geometry Problem Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others)     Special Judge SubmitStatus Problem Description       Peter is studying in the third

2014-10-04 18:41:57 1033

原创 acdream 1412 2-3 Trees

2-3 Trees Time Limit: 12000/6000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) SubmitStatus Problem Description       2-3 tree is an elegant data structure invented by John Ho

2014-10-03 11:44:59 1075

原创 hdu 5017 Ellipsoid(模拟退火)

Ellipsoid Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 1140    Accepted Submission(s): 412 Special Judge Problem Description Give

2014-10-01 15:52:30 1319

原创 hdu 5057 Argestes and Sequence

Argestes and Sequence Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 511    Accepted Submission(s): 127 Problem Description Argest

2014-09-30 20:03:00 1079

原创 hdu 5050 Divided Land

题目:本质是求两个数的最大公约数,java大数真好用 ^_^。 import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { BigInteger TWO = BigInteger

2014-09-28 16:06:42 975

原创 hdu 5045 Contest(状态压缩DP)

题解:我们使用一个二位数组dp[i][j]记录进行到第i个任务时,人组合为j时的最大和(这里的j我们用二进制的每位对应一个人)。 具体见代码: #include #include #include #include using namespace std; typedef long long ll; double s[11][1010]; double dp[1010][105

2014-09-28 14:40:34 876

web网页大作业

上传文件为自己开发的web网页,是用作大作业使用的

2014-06-27

空空如也

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

TA关注的人

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