摘要:
今天在写MapReduce程序时遇到了Type mismatch的问题,真的非常蛋疼,折腾了好久,后来找到了问题所在。 即setOutputKeyClass() 会同时限定Mapper和Reducer的输出 key 类型,同理,setOutputValueClass()会同时限定Mapper和Reducer的输出value类型。如果Mapper和Reducer的输出key或value类型不同,可以通过setMapOutputKeyClass 和 setMapOutputValueClass来设定Mapper的输出key/value对。 举个例子,我写的Mapper类如下: stati... 阅读全文
摘要:
安装了好多次都是这个问题,最后判断可能是权限的问题,因为我使用的是域账户登录的,解决方案如下:新建一个文本文件,输入msiexec /i D:\SQLServer2005_SSMSEE.msi//假设下载的文件名为SQLServer2005_SSMSEE.msi ,放在D盘根目录下//保存改扩展名为cmd格式右键鼠标—-然后以管理员身份运行这个程序就可以原文出处:http://tieba.baidu.com/f?kz=970860103 阅读全文
摘要:
很久没更新博客了,在楼教主的博客上看到一篇不错的文章。楼教主真的是神人啊。。。就我自己的理解,谈谈我对读研和软件学院的看法,不妥之处一笑了之即可。如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你在理论上更上一层楼。软件学院从教学计划上就没有把你往这方面带。当然能不能更上一层楼最终还是完全取决于你自己。需要特别说明的是,工作经验并不一定等于开发经验,我见过很多工作2-3年的人,但是没有一点开发经验。你说:“他们都有很强的开发能力,只是不太喜欢读书,也只是希望混个学历对今后在岗位上晋升有好处”,我可以向你保证,. 阅读全文
摘要:
周赛第三次题目。基本的dp,比较简单。注意第一行右边的格子只能从中间走过去:dp[0][2] = d2 + d3; 第二行左边格子只能从第一行中间格子走到:dp[1][0] = d1 + dp[0][1]; 第二行中间格子从第一行的中间,右边和第二行的左边格子走到:dp[1][1] = min2(dp[1][0],dp[0][1],dp[0][2]); 其余情况看箭头确定状态转移。View Code // source code of submission 736533, Zhongshan University Online Judge System#include <iostream 阅读全文
摘要:
周赛第二次的题目。传说中的最近公共祖先问题(LCA),用Tarjan算法可以过,但注意结果超int. 从题意可以看出这些colony之间构成了一棵树的关系,用Tarjan算法找出每对查询的顶点u,v的公共祖先ancestor,则u,v之间的距离就是dist[u]+dist[v]-2*dist[ancestor],关系显而易见,会者不难。View Code #include <iostream>#include <stdio.h>#include <vector>using namespace std;const int MAX = 100001;struct 阅读全文
摘要:
第一次周赛的题目。感觉难的太难了。用了一个小时不到切掉3题。剩下时间就看题目了,题目晦涩难懂,结果都没动手写剩下的了。 这道题意大概是Non-Decreasing Digits的定义为:这个数的每一位当前数字的左边数字都不大于当前数字。给定一个数的数字个数n,问有多少个n位的Non-Decreasing Digits(非降序数). 用dp[i][j]表示i位数字最后一位为j时的非降序数的个数。 首先n = 1时直接输出10(这点上开始还以为是0,结果wa了); 当n = 2时,dp[2][j]=(j+1)*(j+2)/2; 当n > 2时,dp[i][j]=dp[i][j-1]+dp[i 阅读全文
摘要:
本文转自这位大牛的博客http://blog.vckbase.com/panic/archive/2005/03/20/3778.html#NoteA*寻路初探 GameDev.net作者: Patrick Lester译者:Panic2005年3月18日译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算法的原理。毫无疑问,作者用形 阅读全文
摘要:
线段树的基本操作,具体看代码注释。View Code #include <iostream>#include <string>using namespace std;const int MAX = 50005; struct Tree{ int left; int right; int num;}tr[MAX*3];int arr[MAX],n,t,a,b,ans;string cmd;void build(int l,int r,int now) // 构造线段树{ tr[now].left = l; tr[now].right = r; if(l == r) {tr 阅读全文
摘要:
没想到竟然能一次AC,而且只花了20分钟不到。第一道线段树的题了,纪念一下。 考察线段树的基本操作:建树,区间最值查询和更新操作.View Code #include <iostream>using namespace std;const int MAX = 200005;struct Tree{ int left; int right; int score;}tr[MAX*3];int n,m,s[MAX],a,b;char cmd;int max(int x,int y){ if(x > y) return x; else return y;}void build(int 阅读全文
摘要:
根据关系构图:相似的两本书之间有一条双向边。然后利用dfs找出每个连通块,除了这个连通块中耗时最小的一本书要用原来的时间读完,其他的书只要一半时间就可以读完,直到全部连通块处理完便可找到答案。 搜索永远是那么得迷人。。。。View Code #include <iostream>#include <cstring>#include <vector>using namespace std;const int MAX = 105;vector<int> vec[MAX];int n,m,tim[MAX],_min,temp[MAX],len,root 阅读全文