Jul 31
这算什么算法
icon1 Matrix67 |icon2 Program Impossible | icon4 2005-7-31 19:53 | icon37 Comments »

Problem
    小卡卡继续着他的Pascal圣地之行。他来到了Pascal农场主John的家里,向他探询关于Pascal圣地宝藏的事。
    John答应小卡卡愿意把他所知道的一切告诉小卡卡,但是John有一个要求,那就是希望小卡卡帮助他找出他走丢的一头奶牛。
    John的奶牛都是由1-2^k编号的,但是John在放牛的时候无意中弄丢了一头奶牛。他希望小卡卡告诉他,他走丢的奶牛的编号是多少。

Input
    该题含有多组测试数据。
    每组测试数据第一行一个整数k表示奶牛的数目为2^k(1<=k<=20)。
    第二行到第2^k行每行一个整数表示还在农场的一头奶牛的编号(并不是按顺序给出的)。

Output
    输出走丢的奶牛的编号

Sample Input
2
4
1
3

Sample Output
2

    问题就是这样了。怎么办?cow:array[1..1048576]of boolean;?一个一个查找比较?
    最终,解决办法还是被我找到了,一个出乎意料的算法:把读入的数全加起来,然后用公式算从一加到2^k的和,用它来减读入的数的和显然就是差的那个数了。
    呵呵,很不寻常吧。这应该归为什么算法呢?

Jul 25
郁闷之后介绍KNOPPIX
icon1 Matrix67 |icon2 Tough Computer | icon4 2005-7-25 13:22 | icon31 Comment »

    今天彻底郁闷了……交了200元钱来上市里面的信息奥赛集中培训,结果居然讲C语言。累啊,玩PASCAL的听C,全天上课要连续六天。要是明天还这样的话,那我干脆不来上课了,交的这200元钱就算是受骗上当的学费了——这200元钱居然没包中午饭钱!
    郁闷完了,说正经事了。昨天晚上玩虚拟机玩到凌晨三点钟,LINUX果然牛B。我BT下载了KNOPPIX的iso,放在一个DOS分区的80MB硬盘的虚拟机里,传言果然真实,一分钟后我已经进入了KDE的主界面(绝对没有任何安装步骤,仅仅检测了硬件,初始化了一下),800×600的分辨率,硬件全部正常(声卡、网卡未测试,今天晚上搞),软件应有尽有,太棒了!
    我具体说一下我的虚拟KNOPPIX系统的运行情况。由于我内存只有128MB,因此只分给这个虚拟机48MB,系统初始化时向80MB硬盘要了72MB 的交换区。运行结果表明虽然速度非常慢(非常慢)而且很卡,但其应有功能完全可以实现。看来流畅运行KDE至少得有128MB的内存。
    我的下一步便是打算冒一下险,当真刻盘放在真实的计算机上试试,但还是怕它破坏C盘(叫hda1更好?不习惯啦);或者买个512MB的内存,把虚拟机的内存扩大(这也冒险,因为内存一换估计XP又该重激活了,D版没法子,重装又麻烦)。等我完全测试完后再写一下对LINUX的体会。
    最后一句,那些犹豫在Windows和LINUX之间的朋友,和想试试LINUX但不敢去弄的朋友,别犹豫了!KDE光是界面看着都要舒服的多!另外我保证KNOPPIX不改任何分区!

Jul 22

    判断一个数的整除性对于某些除数来说是一件非常容易的事,比如2、3、4、5、6、8、9、10、11、12、15……
    但是对于7来说一直是一个难题,而判定是否被7整除在数字运算中又比较常用。我刚看到一种判定能否被7整除的方法,在这里写一下。
    比如,我们要看86415能否被7整除。首先我们把它从个位开始往左边走两个数字一组划分开来,这样,86415就划分成8 64 15;然后,从左开始“一加一减找余数”:

    6       6
    8  64  15
        1

    看上面,6+8正好被7整除,64-1被7整除,15+6被7整除。
    然后把找到的余数从右往左读出来,616,现在,如果616能被7整除,那么86415就能被7整除。
    如果你还看不出616能被7整除的话,可以继续这样做下去:

    1
    6  16
        2

    现在很明显了吧,21能被7整除。因此,86415就能被7整除。
    下面我再举一个例子:6913580247。

     1       5       2
    69  13  58  02  47
         6       2

    22561

    5       2
    2  25  61
        4

    245能被7整除,因此6913580247能被7整除。

    更加奇妙的是,这个方法对于判定被11整除、被13整除同样有效。
    至于为什么,我没仔细研究,估计和那个有关。看到7、11、13这三个数,你难道还想不起那个吗?
    最后补充:比较流行的割位法对于三位数、四位数比较简便;但位数一多,显然这种方法比较简便。6913580247我们用这种方法只做了两次,用割位法要做9次!

    做人要厚道,转帖请注明出处。

Jul 22

    今天在cut-the-knot上看到一个东西很有意思。
    证明:所有钝角都是直角。



    在线段AC上向外做射线AB、CD,使∠BAC为直角、∠ACD为钝角。下面我要证∠ACD=∠BAC。
    首先适当取B和D在射线上的位置使AB=CD,显然BD、 AC不平行。分别作出BD和AC的垂直平分线,交于点P。
    那么△PBD和△PAC就是等腰三角形了。
    于是,BP=DP,AP=CP,又AB=CD,所以△BAP≌△DCP。
    因此∠BAP=∠DCP。又∠PAC=∠PCA,所以∠ACD=∠BAC=90°,证毕。
    其实用同样的方法也可以证明“所有锐角都是直角”,这样,所有的角都是直角了。
    看完后,有人或许会说,肯定证明过程的哪一步有问题。这不是废话吗?没问题的话,所有角都是直角了,那还得了?
    我想起那个“所有三角形都是等腰三角形”的证明了,更经典,哪天也写出来。

Jul 21

    短短一个多星期能在百度知道里混个四级出来已经是不得了了,mop里是小猫,论坛里是新手,现在终于能在一个网络交流系统中站住脚了。
    回答别人问题的同时,我也时常被一些东西困扰着。前几天有个和我一样想一道题想几年的牛人高分悬赏世界密码破译难题,整死我了。我在网上搜索到了这10道密码破译题,前两道非常简单,我没花多少时间;第四道花了些时间写程序,理论上是译了,但我不懂明文的意思,因为明文它根本就不是英文。现在我在搞第三道,不得了,太难了,一点思路也没有,X的分布和作用之怪让我觉得它根本不是同音密码。有意思的是,网上只看到有前两道的解答。现在我只把前5关帖出来,后面5关帖出来也没用,那不是人能解决的。RSA呀,同志!第5841314520个质数是143979973771,第143979973771个质数是4029421280663。你试着把580155970302167969490173分解成质因数吧。

Stage 1: Simple Monoalphabetic Substitution Cipher
BT JPX RMLX PCUV AMLX ICVJP IBTWXVR CI M LMT'R PMTN, MTN
YVCJX CDXV MWMBTRJ JPX AMTNGXRJBAH UQCT JPX QGMRJXV CI JPX
YMGG CI JPX HBTW'R QMGMAX; MTN JPX HBTW RMY JPX QMVJ CI JPX
PMTN JPMJ YVCJX. JPXT JPX HBTW'R ACUTJXTMTAX YMR APMTWXN,
MTN PBR JPCUWPJR JVCUFGXN PBL, RC JPMJ JPX SCBTJR CI PBR
GCBTR YXVX GCCRXN, MTN PBR HTXXR RLCJX CTX MWMBTRJ
MTCJPXV. JPX HBTW AVBXN MGCUN JC FVBTW BT JPX MRJVCGCWXVR,
JPX APMGNXMTR, MTN JPX RCCJPRMEXVR. MTN JPX HBTW RQMHX,
MTN RMBN JC JPX YBRX LXT CI FMFEGCT, YPCRCXDXV RPMGG VXMN
JPBR YVBJBTW, MTN RPCY LX JPX BTJXVQVXJMJBCT JPXVXCI,
RPMGG FX AGCJPXN YBJP RAMVGXJ, MTN PMDX M APMBT CI WCGN
MFCUJ PBR TXAH, MTN RPMGG FX JPX JPBVN VUGXV BT JPX
HBTWNCL. JPXT AMLX BT MGG JPX HBTW'R YBRX LXT; FUJ JPXE
ACUGN TCJ VXMN JPX YVBJBTW, TCV LMHX HTCYT JC JPX HBTW JPX
BTJXVQVXJMJBCT JPXVXCI. JPXT YMR HBTW FXGRPMOOMV WVXMJGE
JVCUFGXN, MTN PBR ACUTJXTMTAX YMR APMTWXN BT PBL, MTN PBR
GCVNR YXVX MRJCTBRPXN. TCY JPX KUXXT, FE VXMRCT CI JPX
YCVNR CI JPX HBTW MTN PBR GCVNR, AMLX BTJC JPX FMTKUXJ
PCURX; MTN JPX KUXXT RQMHX MTN RMBN, C HBTW, GBDX ICVXDXV;
GXJ TCJ JPE JPCUWPJR JVCUFGX JPXX, TCV GXJ JPE ACUTJXTMTAX
FX APMTWXN; JPXVX BR M LMT BT JPE HBTWNCL, BT YPCL BR JPX
RQBVBJ CI JPX PCGE WCNR; MTN BT JPX NMER CI JPE IMJPXV
GBWPJ MTN UTNXVRJMTNBTW MTN YBRNCL, GBHX JPX YBRNCL CI JPX
WCNR, YMR ICUTN BT PBL; YPCL JPX HBTW TXFUAPMNTXOOMV JPE
IMJPXV, JPX HBTW, B RME, JPE IMJPXV, LMNX LMRJXV CI JPX
LMWBABMTR, MRJVCGCWXVR, APMGNXMTR, MTN RCCJPRMEXVR;
ICVMRLUAP MR MT XZAXGGXTJ RQBVBJ, MTN HTCYGXNWX, MTN
UTNXVRJMTNBTW, BTJXVQVXJBTW CI NVXMLR, MTN RPCYBTW CI PMVN
RXTJXTAXR, MTN NBRRCGDBTW CI NCUFJR, YXVX ICUTN BT JPX
RMLX NMTBXG, YPCL JPX HBTW TMLXN FXGJXRPMOOMV; TCY GXJ
NMTBXG FX AMGGXN, MTN PX YBGG RPCY JPX BTJXVQVXJMJBCT. JPX
IBVRJ ACNXYCVN BR CJPXGGC.

Stage 2: Caesar Shift Cipher
MHILY  LZA  ZBHL  XBPZXBL  MVYABUHL  HWWPBZ  JSHBKPBZ  JHLJBZ
KPJABT  HYJHUBT  LZA  ULBAYVU

Stage 3: Monoalphabetic Cipher with Homophones
IXDVMUFXLFEEFXSOQXYQVXSQTUIXWF*FMXYQVFJ*FXEFQUQXJFPTUFX
MX*ISSFLQTUQXMXRPQEUMXUMTUIXYFSSFI*MXKFJF*FMXLQXTIEUVFX
EQTEFXSOQXLQ*XVFWMTQTUQXTITXKIJ*FMUQXTQJMVX*QEYQVFQTHMX
LFVQUVIXM*XEI*XLQ*XWITLIXEQTHGXJQTUQXSITEFLQVGUQX*GXKIE
UVGXEQWQTHGXDGUFXTITXDIEUQXGXKFKQVXSIWQXAVPUFXWGXYQVXEQ
JPFVXKFVUPUQXQXSGTIESQTHGX*FXWFQFXSIWYGJTFXDQSFIXEFXGJP
UFXSITXRPQEUGXIVGHFITXYFSSFI*CXC*XSCWWFTIXSOQXCXYQTCXYI
ESFCX*FXCKVQFXVFUQTPUFXQXKI*UCXTIEUVCXYIYYCXTQ*XWCUUFTI
XLQFXVQWFXDCSQWWIXC*FXC*XDI**QXKI*IXEQWYVQXCSRPFEUCTLIX
LC*X*CUIXWCTSFTIXUPUUQX*QXEUQ**QXJFCXLQX*C*UVIXYI*IXKQL
QCX*CXTIUUQXQX*XTIEUVIXUCTUIXACEEIXSOQXTITXEPVJQCXDPIVX
LQ*XWCVFTXEPI*IXSFTRPQXKI*UQXVCSSQEIXQXUCTUIXSCEEIX*IX*
PWQXQVZXLFXEIUUIXLZX*ZX*PTZXYIFXSOQXTUVZUFXQVZKZWXTQX*Z
*UIXYZEEIRPZTLIXTZYYZVKQXPTZXWITUZJTZXAVPTZXYQVX*ZXLFEU
ZTHZXQXYZVKQWFXZ*UZXUZTUIXRPZTUIXKQLPUZXTITXZKQZXZ*SPTZ
XTIFXSFXZ**QJVNWWIXQXUIEUIXUIVTIXFTXYFNTUIXSOQXLQX*NXTI
KNXUQVVNXPTXUPVAIXTNSRPQXQXYQVSIEEQXLQ*X*QJTIXF*XYVFWIX
SNTUIXUVQXKI*UQXF*XDQXJFVBVXSITXUPUUQX*BSRPQXBX*BXRPBVU
BX*QKBVX*BXYIYYBXFTXEPEIXQX*BXYVIVBXFVQXFTXJFPXSIWB*UVP
FXYFBSRPQFTDFTXSOQX*XWBVXDPXEIYVBXTIFXVFSOFPEIXX*BXYBVI
*BXFTXSILFSQXQXQRPBUIV

Stage 4: Vigenere cipher
KQOWEFVJPUJUUNUKGLMEKJINMWUXFQMKJBGWRLFN
FGHUDWUUMBSVLPSNCMUEKQCTESWREEKOYSSIWCTU
AXYOTAPXPLWPNTCGOJBGFQHTDWXIZAYGFFNSXCSE
YNCTSSPNTUJNYTGGWZGRWUUNEJUUQEAPYMEKQHUI
DUXFPGUYTSMTFFSHNUOCZGMRUWEYTRGKMEEDCTVR
ECFBDJQCUSWVBPNLGOYLSKMTEFVJJTWWMFMWPNME
MTMHRSPXFSSKFFSTNUOCZGMDOEOYEEKCPJRGPMUR
SKHFRSEIUEVGOYCWXIZAYGOSAANYDOEOYJLWUNHA
MEBFELXYVLWNOJNSIOFRWUCCESWKVIDGMUCGOCRU
WGNMAAFFVNSIUDEKQHCEUCPFCMPVSUDGAVEMNYMA
MVLFMAOYFNTQCUAFVFJNXKLNEIWCWODCCULWRIFT
WGMUSWOVMATNYBUHTCOCWFYTNMGYTQMKBBNLGFBT
WOJFTWGNTEJKNEEDCLDHWTVBUVGFBIJGYYIDGMVR
DGMPLSWGJLAGOEEKJOFEKNYNOLRIVRWVUHEIWUUR
WGMUTJCDBNKGMBIDGMEEYGUOTDGGQEUJYOTVGGBR
UJYS

Stage 5: Beale variation
109 182 6 11 88 214 74 77 153 177 109 195 76 37 188
166 188 73 109 158 15 208 42 5 217 78 209 147 9 81
80 169 109 22 96 169 3 29 214 215 9 198 77 112 8 30
117 124 86 96 73 177 50 161

Stage 6: Playfair cipher
......
Stage 7: ADFGVX variation
......
Stage 8
......
Stage 9: DES
......
Stage 10: RSA/DES combination
......

Jul 21
电影推荐:Crash
icon1 Matrix67 |icon2 Movie Time | icon4 2005-7-21 12:36 | icon32 Comments »

    今天看了个电影,名字叫Crash,你猜IMDB多少?8.5!!当初看到这个数字时我就在想这电影我一定要看,2小时后,发觉这8.5果然不假!
    电影一开始有一个一分钟的镜头,描写一个大撞车,很多人都下来吵架;然后影片开始叙述撞车一天前的故事,分别描写几个毫无关联的陌生人(其实就是后来撞车撞在一起的那些人)和各自的事情,故事的发展使得这些人之间慢慢的有了或多或少的联系,但又不完全认识(车被偷了的检查官绝不会想到盗车贼的哥哥也是一个警察);很多事情都于车有关,事情慢慢地向着最后的撞车这个已经知道的结果发展,把这群陌生人联系在一起;但这些人却都不知道彼此之间的故事和联系,至多只认识和他有联系的一两个人。最后几秒钟的时间电影描述了另一个撞车事件,仿佛这次撞车背后又有一连串这样的故事;然后,镜头上移,成百上千的车在街上流动……
    这个电影具体的想表现什么我不知道,我只能说一下我的看法:你几乎能找到和任一个人之间的联系;你可能两天内在大街上不小心撞上了同一个人,而你们都不知道;你和一个陌生人对视了几秒钟,想想看,如果你走上前去问候一下,会回发生什么?或许是另一个精彩的故事吧。
    我表达能力差,这个电影感觉太奇妙了,难以表达,至少不是我能够说清楚的。
    http://www.imdb.com/title/tt0375679/

Jul 21
第一帖
icon1 Matrix67 |icon2 Tough Computer | icon4 2005-7-21 0:28 | icon38 Comments »

    我靠,还“第一帖”呢,论坛上留下来的坏毛病。
    现在感觉MSN比QQ好用得多,别人MSN的Space是免费的,你QQ空间顶多算个把儿。不过说到底,搞这个破日志还有点费工夫,今天得熬个通宵把我 MSN Space的版面全部搞定。我居然还搞MSN Space?我又不是小女生,这破玩意一般是那种小女孩子玩的啦!我看那个533的Blog,天哪,不得了啊,抒情啦!还是自己的真实情感啦!我看了都想掉眼泪,一边还想这么郁闷悲观的人只有去吃氰化钾了。不过,MSN Space有他自己的好处,就是有些主题还蛮酷的,没别的Blog那么女性化。
    今天的心情大好!大好啊!不得了啊!难得这么一次啊!我今天终于把3721的那一锅东西全卸下来了!什么上网助手、网络实名、那个破中文邮,现在全没啦!找到新版本的3721的隐身窝点是一个偶然。查病毒和木马我通常只去system32下面看,今天一不小心,窜到system32的drivers里去了,不得了啊,CnsMinKP.sys呀(好象叫这名字),Cns开头的不是好兆头啊。Shift+Delete,果然删不掉,恐怕是被当作驱动程序加载了吧。我马上召唤DOS,一个del cns*,接下来不用说了吧,回XP搜索Cns*,删;注册表搜索Cns,删;注册表搜索3721,删;免疫程序(估计对新3721已经不管用了)加上 3721,完!不过匪夷所思的是,我试了N^N次改hosts文件,咋个没一次起作用啊?
    刚看到一则消息说3721等流氓程序被勒令整改……哈哈,毕竟是流氓程序啊,人人喊打!