- 博客(167)
- 收藏
- 关注
转载 我常用的一些linux命令
之前做过两年的运维,用过很多命令,深切体会到某些linux命令熟练掌握后对效率提升有多大。举个简单的例子,在做了研发后经常会有跑一些数据,对于结果数据的处理,我们的产品同学一般都习惯于用excel做统计,把数据复制到excel里,然后数据分列,排序………… 最后得出某些简单的结论,我只需要cat, sort, uniq, awk, grep 这几个命令挥手间完成相同的操作。 这里我总...
2019-08-29 20:58:00
171
转载 Java生产者消费者的三种实现
Java生产者消费者是最基础的线程同步问题,java岗面试中还是很容易遇到的,之前没写过多线程的代码,面试中被问到很尬啊,面完回来恶补下。在网上查到大概有5种生产者消费者的写法,分别如下。用synchronized对存储加锁,然后用object原生的wait() 和 notify()做同步。用concurrent.locks.Lock,然后用condition的await() 和s...
2019-08-28 21:31:00
166
转载 Java WeakHashMap
作为一个java开发者肯定都知道且使用HashMap,但估计大部分人都不太知道WeakHashMap。从类定义上来看,它和普通的HashMap一样,继承了AbstractMap类和实现了Map接口,也就是说它有着与HashMap差不多的功能。那么既然jdk已经提供了HashMap,为什么还要再提供一个WeakHashMap呢? 黑格尔曾经说过,存在必合理,接下来我们来看下为什么有Weak...
2019-08-28 07:17:00
172
转载 用java自制简易线程池(不依赖concurrent包)
很久之前人们为了继续享用并行化带来的好处而不想使用进程,于是创造出了比进程更轻量级的线程。以linux为例,创建一个进程需要申请新的自己的内存空间,从父进程拷贝一些数据,所以开销是比较大的,线程(或称轻量级进程)可以和父进程共享内存空间,让创建线程的开销远小于创建进程,于是就有了现在多线程的繁荣。但是即便创建线程的开销很小,但频繁创建删除也是很浪费性能的,于是人们又想到了线程池,线程池...
2019-08-25 19:29:00
186
转载 Alfred上可提高工作效率的Workflow推荐
温馨提示:本文中Alfred是Mac平台的工具,不适用于其他平台。Alfred是Mac平台上被很多人吹爆的一款效率提升软件,我刚毕业工作的时候就看到公司内网有人推荐,但没有尝试。 后来我跳槽后自己买了Macbook pro,在努力把笔记本打造成高效开发工具时,又重新发现了这个app,又毫不犹豫的购买了Powerpack,结合一些workflow,很多繁琐的工作变得非常简单,比如之前百度...
2019-08-19 22:08:00
1170
转载 局部性原理——各类优化的基石
学过计算机底层原理、了解过很多架构设计或者是做过优化的同学,应该很熟悉局部性原理。即便是非计算机行业的人,在做各种调优、提效时也不得不考虑到局部性,只不过他们不常用局部性一词。如果抽象程度再高一些,甚至可以说地球、生命、万事万物都是局部性的产物,因为这些都是宇宙中熵分布布局、局部的熵低导致的,如果宇宙中处处熵一致,有的只有一篇混沌。 所以什么是 局部性 ?这是一个常用的计算机术语...
2019-08-05 16:40:00
167
转载 持续学习——程序猿的军备竞赛
“持续学习”是几乎所有大神都会给菜鸟们的建议之一,这个概念也不是最近被提出来的,早在两千多年前古希腊哲学家梭伦就提出“活到老学到老”,这可算最早的“持续学习”。近些年来持续学习在IT领域里又不不断被提及,程序猿们成为持续学习最大的一群实践者,我从没看到过那个其他行业的普通员工要像程序猿一样学习那么多东西(也可能是我少见多怪)。究其原因,我觉得有这样几点。技术涉及面广 有些人...
2019-08-02 12:22:00
95
转载 http://regex.alf.nu/ 非标准答案
Plain strings(207) fooAnchors(206) ick$Ranges(202) [a-f]{4}Backrefs(201) ...
2014-01-19 13:25:00
82
转载 13总结
13年应该是我到现在经历事情最多的一年了,无论是学习,生活或是感情方面,这些带给我的也是一点点的成长。回想我12年学渣的一年,大一挂的科拖到13年才过,于是成功摆脱学渣的身份。12年经671忽悠接触ACM,然后就上了贼船了,不过正是因为ACM我才在13年发生这么多事。 13年年初,在家过年,家族中接连发生的两件白事,深感生命之脆弱。除此之外,还算...
2014-01-04 11:15:00
138
转载 Ubuntu下python安装mysqldb(驱动)
最近在学习Django框架,需要使用到数据库,我使用的是mysql,跟java一样,需要安装驱动,这是驱动的下载网址http://sourceforge.net/projects/mysql-python/ 要注意的是此网址已被墙,需要翻墙过去。下载到压缩包后解压,然后执行安装命令先跳转的该目录下,然后执行sudo python setup.py install然...
2013-12-23 12:41:00
103
转载 北大ACM试题分类+部分解题报告链接
转载请注明出处:優YoUhttp://blog.csdn.net/lyy289065406/article/details/6642573部分解题报告添加新内容,除了原有的“大致题意”和“解题思路”外,新增“Source修正”,因为原Source较模糊,这是为了帮助某些狂WA的同学找到测试数据库,但是我不希望大家利用测试数据打表刷题...
2013-12-23 11:10:00
157
转载 poj 3253 Fence Repair(优先队列+huffman树)
一个很长的英文背景,其他不说了,就是告诉你锯一个长度为多少的木板就要花多少的零钱,把一块足够长(不是无限长)的木板锯成n段,每段长度都告诉你了,让你求最小花费。 明显的huffman树,优先队列是个很好的东西。#include <stdio.h>#include <queue>#include <algorithm>...
2013-12-18 12:06:00
105
转载 CodeForces 372 A. Counting Kangaroos is Fun
题意,有n只袋鼠,没每只袋鼠有个袋子,大小为si,一个袋鼠可以进入另外一个袋鼠的袋子里面,当且仅当另一个袋鼠的袋子是他的二倍或二倍一上,然后中国袋鼠就是不可见的,不能出现多个袋鼠嵌套的情况。让你求最少可见袋鼠的数量。 解题方法是先排序再贪心,贪心策略是从中间开始贪心。#include <stdio.h>#include <...
2013-12-18 08:15:00
109
转载 ubuntu 13.10 eclipse 菜单栏不可用的问题
最近手贱,从官网上下载了最新的版eclipse,把一原来的3.8版本替换了,然后就发现eclipse菜单栏废了,吓我一跳,以为Ubuntu又初问题,又重新弄了一次eclipse(我直接用的压缩包),上网搜发现Ubuntu Unity 有个Bug,会导致新版eclipse菜单栏无法使用,这个Bug官方至今没有修复,但并不意味着eclipse就这么废了。 国外...
2013-12-17 20:42:00
105
转载 Codeforces Round #219(Div. 2)373 B. Making Sequences is Fun(二分+找规律)
题目意思大概是给你w,m,k三个数,让你从m开始找 m m+1 m+2 m+3...........m+m', 使得他们的权值之和不超过w,计算权值的方法如下S(n)·k 。 S(n)表示n有多少位数,让你计算出最多有多少个这样的数。 乍一眼看去,10^16如此大的数肯定不能暴力,然后稍微思考一下就可以找到规律了,规律如下。 1-10 ...
2013-12-17 09:17:00
94
转载 Git/Github使用方法小记
今天把人间网的桌面客户端renjian-deck正式开源了,之前对javascript的了解其实非常的不够的,所以这一次的代码写的也是乱七八糟重用性及其低下,虽然我无数次的想把代码重新整理一下,不过还是糊里糊涂一时冲动的在他们还是乱七八糟的时候开源了。因为之前是基于github上的一个开源项目,所以硬着头皮也放到github上,虽然没有使用的经验,不过磨机磨机...
2013-12-16 21:48:00
126
转载 Ubuntu 下jdk的安装
因为我ubuntu下需要运行一个java程序,其实是想做一下tc,因为浏览器要运行java插件,那个客户端一直下载不了,我记得我装过的,这个问题后面说。然后我就打算重新安装,通过查找资料,终于解决了手动安装jre或jdk 的问题,jre我装的是最新版的jre1.7.0_45,jdk是1.7.0_25。 下面就是我的安装过程。 一.到Ora...
2013-12-16 10:08:00
95
转载 VIM简明教程
vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。——————————正文开始——————————你...
2013-12-13 09:41:00
152
转载 codeforces 371 C-Hamburgers
一个乱七八糟的故事背景,可以练练英语阅读。 大概的意思是Polycarpus喜欢汉堡,现在他有你ns片香肠片,nb面包,nc块起司,有r卢布,每种东西都有价格,如果不够他可以去商店买(商店里面各种东西都是无限多的),制作汉堡需要多少各种东西都已经用字符串给出了,求他最多可以制作出多少汉堡。 简单二分,主意的是二分的上界,可能会超过10^12,...
2013-12-12 08:19:00
112
转载 codeforces 371A K-Periodic Array
很简单,就是找第i位、i+k位、i+2*k位...........i+m*k位有多少个数字,计算出每个数出现的次数,找到出现最多的数,那么K-Periodic的第K位数肯定是这个了。这样的话需要替换的就是除出现最多的数之外的数了。#include <stdio.h>#include <algorithm>using namespa...
2013-12-08 20:52:00
103
转载 计算机网络中IP地址和MAC地址
计算机 网络中的网络地址有I P 地址和物理地址之分,对于主机间的通信时,它们的作用也不一样 。l I P 地址为 了保证 I n t e r n e t 网上主机通信时能够相互识别 ,不引发冲突,必须给每一台计算机分配一个独一无二的标识符 ,而I P 地址就正是授权机构给每一个接 入I n t e r n e t 的主机分配的一个计算机标识符 。根 ...
2013-12-07 19:59:00
385
转载 codeforces 213div(2) 365 A.Good Number 365 B.The Fibonacci Segment
#include <stdio.h>#include <string.h>bool vis[11];int n, k;bool judge(int x){ memset(vis, false, sizeof(vis)); if (x == 0) vis[0] = true; while (x) ...
2013-11-20 14:49:00
110
转载 poj2909 欧拉素数筛选
刚刚学了一种新的素数筛选法,效率比原先的要高一些,据说当n趋近于无穷大时这个的时间复杂度趋近O(n)。本人水平有限,无法证明。 这是道水题,贴代码出来重点是欧拉筛选法。我把原来普通的筛选法贴出来。//2013-11-07-22.30//poj 2909#include <stdio.h>#include <string.h>c...
2013-11-07 22:37:00
119
转载 南京区域赛总结
赛前就知道自己很难拿牌,从网络赛就可以看的出来,水平还远达不到拿奖的高度,连现场赛名额都是申请下来了。赛前两周,接到申请到名额的通知,就和晨晨一起推掉之前张老师让参加的一个山东省的竞赛。感觉的出来,这是一个很难得的机会,很多人都想参加,但最后综合各个方面,选了我和宁宁还有晨晨参加,就这样,Pioneer就组建起来了(这个队名是我起的,中文意思开拓者,先驱的意思,见文知意,...
2013-11-07 17:16:00
105
转载 poj 2551 Ones
输入一个数n,求它最小的一个倍数(其中只含有数字1)的长度。java BigInteger 秒杀 再次感觉到java好啰嗦import java.math.*;import java.util.*;public class Main { public static void main(String[] args) { BigInteger n; S...
2013-10-30 17:23:00
78
转载 poj 2524 Ubiquitous Religions(简单并查集)
对与知道并查集的人来说这题太水了,裸的并查集,如果你要给别人讲述并查集可以使用这个题当做例题,代码中我使用了路径压缩,还是有一定优化作用的。#include <stdio.h>#include <string.h>const int maxn = 500005;int n, m;int pa[maxn];void init(){ ...
2013-10-30 16:41:00
77
转载 poj 2503 Babelfish(字典树或map或哈希或排序二分)
输入若干组对应关系,然后输入应该单词,输出对应的单词,如果没有对应的输出eh此题的做法非常多,很多人用了字典树,还有有用hash的,也有用了排序加二分的(感觉这种方法时间效率最差了),这里我参考了MSDN中stl,使用了map,map是基于红黑树的,查询和插入的时间复杂度都是log(n),如果你构造了一个好的哈希函数的或也可以把时间复制度降到很低。字典树应该是最快的方法了,不...
2013-10-30 15:59:00
134
转载 poj 3080 Blue Jeans
题目就是找n个字符串的最长公共字串,如果有多个就输出字典序最小的一个。我的思路就是枚举所有的字串,然后用KMP挨个字符串匹配。#include <stdio.h>#include <string.h>char str[20][70];char tmp[70];char ans[70];int f[70];int n;void ...
2013-10-23 17:17:00
77
转载 hdoj 4762 Cut the Cake
题意很简单就不说了。解题的关键就是这个公式answer=n/(m^(n-1));要用到大数的乘法。然后java水过。import java.util.*;import java.math.*;public class Main { public static BigInteger gcd (BigInteger a, BigIn...
2013-10-22 19:52:00
93
转载 linux tar.gz zip 解压缩 压缩命令
tar-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程...
2013-10-22 10:09:00
89
转载 poj 3714 寻找最近点对
参考自《编程之美》169页,大概原理就是把区间分成两部分,然后递归找每一部分中最近的点对,还有一种情况就是这个点对分属于这两部分,然后选两部分中的部分点枚举即可,取其最小值。//2013-10-21-17.18#include <stdio.h>#include <algorithm>#include <math.h>#...
2013-10-21 18:13:00
72
转载 poj 1753 Flip Game
题意就是有个4*4的棋盘,上面有黑白两面的棋子,然后你可以选一个点,翻转这个点及他上下左右的棋子(如果有的话),求最小步数可以翻成全白或全黑,如果无法成功输出impossible。 如果是最少步数的话应该用到广搜,因为一个棋子只有正反两面,所以可以用二进制的形式存储棋盘的状态,参考了某大牛的代码,没有明显的用到DFS,但和DFS的效果是一样的,而且这样也使得代码变短...
2013-10-16 21:45:00
70
转载 POJ题目分类
初期:一.基本算法: (1)枚举. (poj1753解题报告,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996...
2013-10-16 15:02:00
68
转载 codeforces 355A Vasya and Digital Root
题意就是找出一个长度为k的整数,使得它的root为d,k的可能取值为1-1000。第一眼看到这个题,无从下手,想到那么长的数,暴力肯定超时。其实不然,题目要求只要输出任何一个满足条件的即可,因为任何数的root都是0-9,所以这样的数还是很多的,算一下枚举次数的期望,大概就是5,不知道算的对不对。//cf 355A//2013-10-15-10.48#inclu...
2013-10-15 10:56:00
89
转载 ubuntu清理系统垃圾与备份
虽然linux下不会有windows下的那么多垃圾和磁盘碎片!但还是会留下一些用不着的临时文件或是多次升级后的N个旧的内核!1,非常有用的清理命令:sudo apt-get autocleansudo apt-get cleansudo apt-get autoremove这三个命令主要清理升级缓存以及无用包的。2,清理opera firefox的缓存...
2013-10-05 07:45:00
156
转载 poj 1742 Coins (多重背包)
题意很简单, 有n种硬币,每种硬币面额多大,有多少个,求可以构成m以内的面额有多少种。开始用的是普通的多重背包的求法,裸裸的超时了,看了别人的代码,发现可以优化很多。用usea这个来存储用来多少个a硬币,避免的很多无用的计算。先贴以前超时的代码#include <stdio.h>#include <string.h>int dp[...
2013-10-03 17:11:00
77
转载 poj 1455 Crazy tea party
这道题第一眼看去很难,其实不然,短短几行代码就搞定了。 说一下大概思路,如果是排成一排的n个人,如 1 2 3 4 5 6 7 8 我们要变成 8 7 6 5 4 3 2 1 需要交换 28次,找规律的话就是 n*(n-1)/2,但这道题是一个圈,要让他们顺序变反的话不一定1要在8的位置上去,4 3 2 1 8 7 6 5 这样也是反的,我们只要把n个人分成两部...
2013-10-03 16:34:00
92
转载 hdoj 4768 Flyer
题目意思很容易理解,学校有n个社团,每个社团只给编号从a到b的发传单,而且只给隔了c的人发,问最后谁收到的传单是单数,输出他的编号和收到的传单数量。昨天做这题的时候看见很多人过了,感觉不会很难,但是打死都想不出来,看了别人的思路,一下子就想通了。这里我简要说一下,用二分,我们可以很容易求出一段区间里的总的传单数,因为保证最多有一个是单数,我们就看单数在哪边。下面是jav...
2013-09-29 09:06:00
78
转载 codeforces 347A - Difference Row
给你一个序列,让你求(x1 - x2) + (x2 - x3) + ... + (xn - 1 - xn).值最大的一个序列,我们化简一下公式就会发现(x1 - x2) + (x2 - x3) + ... + (xn - 1 - xn). = x1 - xn, 也就是说只有第一个和最后一个是确定的,其他的随便了! 也不是了, 还要让你按字典序最小的排列,也就是说其他的是按飞...
2013-09-21 09:11:00
94
转载 codeforces 344B - Simple Molecules
题意就是给出3个原子的化学价,然后组成一个分子,要保证这个分子是稳定的,如果你还记得高中化学知识的话这个很容易理解,然后让你求出1-2 2-3 1-3 号原子之间有几条键, 这里我分别用ta tb tc 表示, 用数学的方法表示出来的话就是a = tc + tb; b = ta+tc; c = ta + tb;可能有多种情况,只要输出一种即可。 我们...
2013-09-19 16:07:00
108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人