Avatar_small

猴子分桃(很有趣的规律题)

题目大意:老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。 老猴子决定把这些桃子分给小猴子。 第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。 第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。 后来的小猴子都如...

Avatar_small

发个可以O(n)时间求逆的代码

int[] inv = new int[MAXN]; inv[1] = 1; for (int i = 2; i<MAXN; i++) inv[i] = inv[MOD%i]*(MOD-MOD/i)%MOD; 注意这里的MOD必须是素数。 摘自TopCoder上某人的代码。

Avatar_small

Let's refactor it-OpenSinaAPI

这两天一直在看Clean Code以及 重构,一直想找一些例子练练手。恰巧前两天在玩新浪微博应用的时候看到了陈着写的这个SDK。down下来代码后发现这里面还有很多可以重构的地方,于是花了一个周末实践了一下。 在简单了解了下OAuth的原理及使用后,先确定了重构的范围: 1、基础类oAuthBase.cs不动,因为这个类是由官方提供的。 2、有必要时外部调用接口...

Avatar_small

linux 设备驱动模型笔记

Linux device driver model overview linux 设备模型的目的是为内核构建统一的模型,从而使系统有一般性的描述。 设备模型的几个主要任务: 电源管理和系统关机:设备模型使得操作系统能够以正确的顺序遍历关闭系统硬件 和用户空间进行通讯:sysfs虚拟文件系统的实现和设备模型密切相关,并向用户空间...

Avatar_small

程序员最应该读的图书(中译版)

转自:http://my.oschina.net/cfanlds/blog/14486 来自StackOverflow上的投票,stackoverflow 是著名的计算机专业相关的问答社区。调查原文地址 http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-progra...

Avatar_small

HDU 1713(相遇周期)求分数的最小公倍数!

题目分析:题目输入c1/t1 c2/t2 ,也就是速度的分数形式,转换成:c1*t2/(t1*t2), c2*t1/( t1*t2 ); 这时候我们只需要求出分子的最小公倍数k,然后k/( t1*t2 )就是题目求的周期 代码+部分注释: #include<iostream> #include<cstdio> #include<algor...

Avatar_small

HDU 2138(求素数的个数,容易超时!提醒自己)

题目分析:这里不能打表,然后要用到求素数的 优化!也就是我 前面一篇文章提到的。代码直接注释一下就可以了 还是看代码吧 #include<iostream> #include<cstdio> #include<cmath> using namespace std; bool prime(int x){ if(x%2==0&&...

Avatar_small

ZOJ 3498(Javabeans)

题目分析:把每个盒子看成集合。有n个集合,分别有1…n个元素。具体每种集合有多少个是没意义的,因为我们可以把具有相同元素的集合同时操作,所以我们可以用集合的种类代替集合的个数。假设,每次选取k个集合。从这k个集合里拿东西,则这k个集合拿过之后还是k个不同的集合(有可能有一个成空集),所以至少还有(k-1)个不同的集合,而除这k个外还有(n-k)个不同的集合。所以拿完之后不...

Avatar_small

2层交换设备是如何分割冲突域的_beta1

主要的机制:2层交换机内部维护一个过滤表,类似于3层设备维护一个路由表。 原理: 交换机的每个接口是个冲突域。我们可以用2层交换机将局域网分割为不同的网段(例如A、B网段)。A网段有台主机向B网段某台主机发送数据。则先ARP全网广播,交换机A接口收到帧,发现MAC地址为广播地址,则将帧广播 到相邻的全网段上。B网段上某台主机收到消息后还回一条帧消息,将自己的MAC地址发送给A网段的主机。在这...

Avatar_small

HDU 1492(求一个数的倍数)

题目大意: 首先 2,3,5,7是互质的!可以把 N 写成(2^a)*(3^b)*(5^c)*(7^d)(a,b,c,d >= 0)! 每次从a ,b,c,d中选出一组数就是一个因数 举例说明一下:12=2^2*3 因为1也是他的倍数!2能够构成的倍数有(1,1*2,2*2) 3构成的倍数有(1,1*3) 也就是把(a+1)*(b+1)...

Avatar_small

HDU 1496(求多次方程的个数)

题目意思很好理解,就是求有多少种方程的解的形式,输出来就可以了。 如果用4重循环的话,可能会超时,没有试过。。直接用hash一一对应就可以了。 2重循环把s = a*x1*x1+b*x2*x2 看做一个数组的下标,直接hash[1000000+s]++; 再2重循环把s = c*x3*x3+d*x4*x4 看做下标,开始查找,如果有hash[1000000-s]...

Avatar_small

HDU 1497(Simple Library Management System)

题目大意:图书管管理系统,有三个操作,一个借书,还书,查询。 优化方案:就是一个数组存放书的信息,下标为书的代号,内容存,0或者借走这本书的同学学号,这样可以方便查询! #include<stdio.h> #include<iostream> #include<cstring> #include<algorithm> ...

Avatar_small

Bus Hound显示信息不完整原因及显示长度设置

Bus Hound 5.0 默认的显示buff长度32字节,当主机获取usb设备的描述符长度大于32字节时,Bus Hound就不显示。 这样在调试的时候就会令人迷惑。其实只要修改一下设置即可。 在setting界面下,修改Limits标签项的“max Phase”的值为更大的值即可。如下图修改为64: 当buffer设置的比较小导致一部分信息没有显示的时候,其实可以通过分析USB...

Avatar_small

Effective Emacs中文版

本文转自《effective emacs中文版》 对标题的意见——给力Emacs(effective在Google Translator的结果是有效的) 带附注的Effective Emacs中文版 十个提升你Emacs生产力的高招 Emacs是世界上最好的编辑器(真的有很多人这么认为)。不要以为emacs只是在编写...

Avatar_small

换火狐4了

既然决定换 Arch 了(虽然至今仍未换过去),终将放弃火狐3.6,于是终于地,我用上了火狐4。我的火狐4是从这里下载的国际版。一直很不喜欢中国版的火狐。 之所以没在第一时间使用火狐4,除了插件兼容性的担心外,我还很不喜欢火狐4的UI。标签栏和状态栏学Chrome、菜单学Opera就算了,打开附加组件栏后这算什么啊?下边明明有那么多的空间,状态栏非要浮在它上面! ...