博文

量子物理(1)(2007-04-25 12:21:00)

摘要:一  我们的故事要从1887年的德国开始。位于莱茵河边的卡尔斯鲁厄是一座风景秀丽的城市,在它的城中心,矗立着著名的18世纪的宫殿。郁郁葱葱的森林和温暖的气候也使得这座小城成为了欧洲的一个旅游名胜。然而这些怡人的景色似乎没有分散海因里希·鲁道夫·赫兹(Heinrich
Rudolf Hertz)的注意力:现在他正在卡尔斯鲁厄大学的一间实验室里专心致志地摆弄他的仪器。那时候,赫兹刚刚30岁,也许不会想到他将在科学史上成为和他的老师赫耳姆霍兹(Hermann von Helmholtz)一样鼎鼎有名的人物,不会想到他将和卡尔·本茨(Carl Benz)一样成为这个小城的骄傲。现在他的心思,只是完完全全地倾注在他的那套装置上。

  赫兹的装置在今天看来是很简单的:它的主要部分是一个电火花发生器,有两个相隔很近的小铜球作为电容。赫兹全神贯注地注视着这两个相对而视的铜球,然后合上了电路开关。顿时,电的魔力开始在这个简单的系统里展现出来:无形的电流穿过装置里的感应线圈,并开始对铜球电容进行充电。赫兹冷冷地注视着他的装置,在心里面想象着电容两段电压不断上升的情形。在电学的领域攻读了那么久,赫兹对自己的知识是有充分信心的,他知道,随着电压的上升,很快两个小球之间的空气就会被击穿,然后整个系统就会形成一个高频的振荡回路(LC回路),但是,他现在想要观察的不是这个。

  果然,过了一会儿,随着细微的“啪”的一声,一束美丽的蓝色电花爆开在两个铜球之间,整个系统形成了一个完整的回路,细小的电流束在空气中不停地扭动,绽放出幽幽的荧光。

  赫兹反而更加紧张了,他盯着那串电火花,还有电火花旁边的空气,心里面想象了一幅又一幅的图景。他不是要看这个装置如何产生火花短路,他这个实验的目的,是为了求证那虚无飘渺的“电磁波”的存在。那是一种什么样的东西啊,它看不见,摸不着,到那时为止谁也没有见过,验证过它的存在。可是,赫兹是坚信它的存在的,因为它是麦克斯韦(Maxwell)理论的一个预言。而麦克斯韦理论……哦,它在数学上简直完美得像一个奇迹!仿佛是上帝的手写下的一首诗歌。这样的理论,很难想象它是错误的。赫兹吸了一口气,又笑了:不管理论怎样无懈可击,它毕竟还是要通过实验来验证的呀。他站在那里看了一会儿,在心里面又推想了几遍,终于确定自己的实验无误:如......

阅读全文(2523) | 评论:1

ACM题,英文的(2007-04-24 21:27:00)

摘要:Square Ice
Time Limit:1000MS  Memory Limit:10000K
Total Submit:615 Accepted:228 Description
Square Ice is a two-dimensional arrangement of water molecules H2O, with oxygen at the vertices of a square lattice and one hydrogen atom between each pair of adjacent oxygen atoms. The hydrogen atoms must stick out on the left and right sides but are not allowed to stick out the top or bottom. One 5 x 5 example is shown below. H-O H-O-H O-H O-H
  |       |   | 
  H   H   H   H 
      |         
H-O-H O H-O H-O-H
      |   |     
  H   H   H   H 
  |           | 
H-O H-O H-O-H O-H
      |   ......

阅读全文(2820) | 评论:0

世界编程大塞一等奖作品(2007-04-23 18:09:00)

摘要:e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1
e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20
e134 0 3d 0 1 74 1a 7f 3 aa eb f3 2d ff 0 50 e8 f 0 5a f7 d8 8b d8 26 8a 1 aa
e14f 4a 75 f9 eb de cb 57 bb 21 13 8b c1 40 f7 27 f7 f5 8b fb ba 11 1 4f 4f 4a
e168 39 5 7f f9 52 8b c5 f7 25 f7 37 2b c8 95 f7 65 2 f7 37 95 2b e8 fe e fe
e181 10 79 6 c6 6 fe 10 7 46 d0 14 d1 d1 d1 e5 79 ec 5a b8 11 1 ff 7 4b 4b 48
e19b 3b d0 75 f7 5f c3 83 f7 83 a6 5d 59 82 cd b2 8 42 46 9 57 a9 c5 ca aa 1b
e1b4 4f 52 b4 92 3f ab 6e 9e a8 1d c6 3 fc e 6a e7 ae bb 5f 7b 10 b8 b4 f7 8
e1cd e2 bf 36 4e 39 9d 79 29 3f a f9 36 52 16 fb 5 e8 e5 a6 c2 e9 b0 43 d3 a3
e1e6 cf d3 fd fd cb d1 4c 5e e0 63 58 86 bb 3e 9 c1 20 bc cc 91 a3 47 81 70 b3
e1ff d6 1a 9e c2 c9 12 e7 4e ad f4 5f e3 30 e9 9 39 d7 e8 f9 f4 d2 44 e8 d7 22
e218 be e2 ce 88 25 cf 30 4a a8 29 ae 3f 47 c6 2d 85 e9 73 54 13 b e6 e0 34 65
e231 e2 50 8a 89......

阅读全文(5604) | 评论:0

PSP程序段前缀(转)(2007-04-23 12:44:00)

摘要:程序段前缀PSP格式: 偏移 字节数 说 明 0000 02  中断20H 0002 02  以节计算的内存大小(利用这个可看出是否感染引导型病毒) 0004 01  保留 0005 05  至DOS的长调用 000A 02  INT 22H 入口 IP 000C 02  INT 22H 入口 CS 000E 02  INT 23H 入口 IP 0010 02  INT 23H 入口 CS 0012 02  INT 24H 入口 IP 0014 02  INT 24H 入口 CS 0016 02  父进程的PSP段值(可测知是否被跟踪) 0018 14  存放20个SOFT号 002C 02  环境块段地址(从中可获知执行的程序名) 002E 04  存放用户栈地址指针 0032 1E  保留 0050 03  DOS调用 ( INT 21H / RETF ) 0053 02  保留 0055 07  扩展的FCB头 005C 10  格式化的FCB1 006C 10  格式化的FCB2 007C 04  保留 0080 80  命令行参数长度(不包含总为最后的0D)及参数
 也是程序运行期间缺省的DTA 一个操作示例: D:\Masm615>dir jch           ;显示计算阶乘的程序

  Volume in drive D has no label
Volume Serial Number is 18F0-186B
Directory of D:\Masm615

JCH  &......

阅读全文(5676) | 评论:3

中国软件断想(转载)(2007-04-19 19:35:00)

摘要:把中国软件业当前的尴尬归咎于国外软件的竞争和国内盗版的猖獗,这话没戳到痛处,甭老找客观借口当遮羞布,中国软件跟中国足球一样,软就软在自己身上,缺的不是钱,而是钙。当中国软件企业从最初手工作坊原始积累发展到目前家大业大、产值过亿的规模,已经具备挑战欧美冲击世界的人力物力时,却一味低调处理,作茧自缚,患得患失,固步自封,把自己定位在二流球队水平上坐失良机。国内大小企业5000家从业人员15万,弄来弄去还弄不过印度,为什么?

 一、靠中文闭关锁国,靠盗版呕跑洋人:胜之不武

  要说中国的PC是人民大众在农贸市场咬牙硬“攒”出来的,那么蜷缩在中文外壳下的中国软件业,却是老外们“赏”的。走进专卖店一看就明白了:除了中文还是中文(中国程序员都不懂英语?),中文之星,RichWin,五笔字型,用友,科利华,UCDOS,WPS,一片南宋的苟且偷安的繁荣,这些国货精品有个共同特点:就咱中国人自己用行,拿到国外分文不值。

  中国特色成了救命稻草,成了抵抗微软的最后一块阵地。积极的方面是总算保住了这块市场,没让洋人得了手把钱赚走,但仅仅以此作为自己全部的民族责任和历史使命未免贻笑大方。咱中国软件就不能赚洋人点儿钱?为什么15万/人年,愣没一个象样的东西能在国际市场上站住脚?咱会干啥?大嘴英语,管家婆,和诚小秘,整人专家5.0……莫非中国人天生不是做软件这块料?不对啊,硅谷软件公司据说一半都是华人,王嘉廉,杨致远,不都是咱哥们儿?看来不是生理问题。

  对盗版行为,怎么说好呢?一方面损失利润确实肝儿疼,但另算一笔帐,要是没有这些不要命的梁山好汉把洋人挤兑得半身不遂望“中”兴叹,要是微软能在中国捞到可观的利润,咱还有什么活头儿?美中不足的是这帮兄弟六亲不认只认钱,管你洋的土的,逮着谁盗谁,谁也受不了。

 二、杨致远在中国:混口饱饭都难

  一提这茬儿心里就堵得慌,岁数一边大,搞的都是网络,不同之处在于:人家是洋博士,身价7亿美金,咱是土博士,每月500人民币还得导师签字。但话说回来,他老人家要是在中国混,没准连我一半也赶不上,甭YAHOO,弄不好他得WUHOO。

  上哪儿拉赞助

  Jerry Yang找谁要赞助?国家自然基金委?乡镇企业爆发户?银行抵押贷款?谁......

阅读全文(2317) | 评论:3

随机算法(2007-04-18 21:21:00)

摘要:随机算法:
呵呵,声明这篇里我们不谈科学的严谨,下面这道题听别人说用DF,DP等,我不知道怎 么DP,DF。因此弄了个随机数,随机分配硬币,当然也要用点小技巧,开始随机次数太 大搞了几次 Time Limit Exceeded,最后恼火了开了 100,我靠 ,这次 Wrong Answer,最后一 次了我搞了个 1000 ,终于 Accepted !
这主要是在比赛的时候,如果实在没办法做,可以尝试用随机算法,运气好一次就可以
Accepted ,当然也不排除永远不能 Accepted,主要看它的测试数据强不强了。
呵呵,这样太没技术含量了,哪位朋友如果有好的解决办法,贴出来分享下啊 !
分硬币 
一个背包里面最多有100枚硬币,要将这些硬币分给两个人,使得两人得到的钱差距最小 。每枚硬币的面值范围是1分到500分,不允许将一枚硬币分开。  
Input
第一行有一个非负整数m(m<=100),表示硬币数。第二行有m个正整数,表示每枚硬币 的面值,中间用空格分开。  
Output
每组仅输出一个非负整数,表示两人所分到钱的最小差值。  
Sample Input
3
2 3 5
4
1 2 4 6  
Sample Output
0
1
 
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h> #define TIMES 1000
int mycmp(const int*a,const int*b){
 if(*a > *b)
  return 1;
 if(*a < *b)
  return -1;
 return 0;
}
int    main(){
 int i,j,a[110],asav......

阅读全文(3511) | 评论:2

单词接龙(2007-04-16 12:19:00)

摘要:单词接龙 
Problem description
单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“ 龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast和astonish,如果接成一条龙则变为 beastonish,另外相邻的两部分不能存在包含关系,例如at 和 atide 间不能相连。  
Input
输入的第一行为一个单独的整数n (n<=20)表示单词数,以下n 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的字母。 你可以假定以此字母开头的“龙”一定存在。  
Output
只需输出以此字母开头的最长的“龙”的长度。  
Sample Input
5
at
touch
cheat
choose
tact
a
 
Sample Output
23
 
Problem Source
NOIP2000  
// 开始题意理解错了,提交几次都不成功,后来仔细想了想,呵终于AC了
// 下面是代码
// 主要用到了栈,其次就是字符串的灵活处理。
#include <stdio.h>
#include <stdlib.h>
#include <string.h> #define MAX_WORD_LENGTH 20
#define MAX_WORD 20
#define WORD_USE_MAX 2
#define TRUE 1
#define FALSE 0
#define FAILED 1
#define SUCCESS !FAILED typedef struct stackk{
 int  findIndex;
 int  wordIndex;
 int  addLength;
}STACK; STACK ......

阅读全文(3949) | 评论:2

让我郁闷一个下午的题(2007-04-14 17:50:00)

摘要:Fractal  
Problem description
A fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on all scales. The object need not exhibit exactly the same structure at all scales, but the same "type" of structures must appear on all scales.
A box fractal is defined as below :
 
A box fractal of degree 1 is simply
X
 
A box fractal of degree 2 is
X  X
  X
X  X
 
If using B(n - 1) to represent the box fractal of degree n - 1, then a box fractal of degree n is defined recursively as following
 
B(n - 1)        B(n - 1)
        B(n - 1)
B(n - 1)        B(n - 1) Your task is to draw a box fractal of degree n.
 
Input
The input consists of several test cases. Each line of the input contains a positive integer n which is no greater than 7. The last lin......

阅读全文(2659) | 评论:1

最长合法序列(2007-04-14 12:42:00)

摘要:最长合法序列  Problem description
有k个整数A[1],A[2]...A[k],你需要从前往后选出若干个数,使得每一个后面的数都要大于或等于前面的 数.例如,对于系列1,4,2,5,2,3,选出1,2,2,3是合法的,但是选出4,2,3是不合法的.
请你编写程序对于一个已知系列,求出最长的合法系列的数的个数.  
Input
第一行为n,表示n个测试序列; 第二行到第n+1行,每行开始第一个数为k, k后面紧跟k个数A[1],A[2] ….A[k]。  
Output
输出n行,每行输出一个整数,表示相应测试序列中最长的合法序列的数的个数。  
Sample Input
2
12 13 45 23 53 23 88 123 3 125 10 87 89
6 1 4 2 5 2 3
 
Sample Output
6
4
 
Judge Tips
其中0  
Problem Source
CSU 1st Contest
 
//我的代码 #include <stdio.h>
#include <stdlib.h> struct Node{
 int i;
 int n;
}; int main(){
 int    nTest,i,j,k,n,m,max;
 struct Node *p;  scanf("%d",&nTest);
 for(i = 0; i < nTest; i++){
  scanf("%d",&n);
  p = (struct Node*)malloc(sizeof(struct Node)*n);
  for(j = 0; j < n; j++){
   scanf("%d",&......

阅读全文(2881) | 评论:0

FBI(2007-04-11 14:03:00)

摘要:Problem description
我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 FBI树是一种二叉树 ,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为2N的“01”串S可以构造出一棵FBI树T,递归的构造方法如下: 1) T的根结点为R,其类型与串S的类型相同;
2) 若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。 现在给定一个长度为2N的“01”串,请用上述构造方法构造出一棵FBI树,并输出它的后序遍历序列。
 
Input
输入第一行是一个整数N(0 <= N <= 10),第二行是一个长度为2N的“01”串。  
Output
输出包括一行,这一行只包含一个字符串,即FBI树的后序遍历序列。  
Sample Input
3
10001011
 
Sample Output
IBFBBBFIBFIIIFF
 
Judge Tips
1.二叉树:二叉树是结点的有限集合,这个集合或为空集,或由一个根结点和两棵不相交的二叉树组成。这两棵不相交的二叉树分别称为这个根结点的左子树和右子树。 2.后序遍历:后序遍历是深度优先遍历二叉树的一种方法,它的递归定义是:先后序遍历左子树,再后序遍历右子树,最后访问根。  
Problem Source
NOIP2004
 
/* 编译环境 VC ++ */ #include <stdio.h>
#include <string.h>
#include <malloc.h> typedef struct Tree  /* 以二叉树结构存储结果 */
{ char  data;
  int  flag;
  struct Tree *lchild;
  struct......

阅读全文(3054) | 评论:0