WTF » Passer-byB's blog


My old blog, blog.passer-byb.com, is on its last leg of life. I want to use this category to remember my naiveness, happiness, ridiculousness, and delightfulness as a young college kit.


题目:http://poj.org/problem?id=3349题意:输入n个含6个整数的数组,判断这些数组是否有相同的。相同的条件为:正向或者反向相应顺序相同,如1 2 3 4 5 6 与 4 3 2 1 6 5就是相同的。解法:哈希表。今天上午重新看了眼哈希表各种性质的证明,感觉有所启发,就决定找到哈希的题写写看。哈希的h函数为6个数之和。首先判断输入各组的输入之和是否有相同的,如果有相同的,则具体分情况判断。哈希表解决冲突的方法为拉链。本来想模拟个链表,但发现,这样反而超时,于是决定直接给每个槽100个单元,因为每个key相同的元素个数的期望为不到10个,因而决定碰运气,希望不出现最坏情况。结果AC了。代码: #include<stdio.h>#include<stdlib.h>struct Node{ int flag; int len; int next[100][6];};Node t[15000];int compare(int a[],int b[]){ int i,j; for(i=0;i<6;i++) { for(j=0;j<6;j++) { if(a[(i+j)%6]!=b[j%6]) break; } if(j==6) return 1; for(j=0;j<6;j++) { if(a[(i+j)%6]!=b[5-j]) break; } if(j==6) return 1; } return 0;}int main(){ int ll,flag,sum,n,i,j,k,temp[6]; scanf(“%d”,&n); flag=0; for(i=0;i<14999;i++) { […]


今天早晨起来,优化了下数据库结构,把将来要用到的新字段加入到了数据库中,并且增加了临时的sql语句,等闲下来的时候把新功能加进去。回复留言的时候会看到一个写着有人回复时邮件提醒我字样的复选框,这个功能目前只是个摆设,或者说完成了一半。以后要对留言及文章提交中的所有特殊字符进行转义,这项也列入丰富文章编辑功能开发里。TAGS功能数据字段已经完成,逻辑功能空缺。留言回复功能设计成任何人可回复任何人,邮件提醒,并新开留言框。博主回复红字显示于现有留言内容之下,邮件提醒。


这是我这学期看得为数不多的一部电影,不过它真的刺激到了我。这电影是某一天在隔壁宿舍熄灯之后跟人看了个开头之后发现的,当时只看了开头一部分,由于Zuckberg童鞋的神奇语速,我根本没跟上电影在说什么。因为讲的是Facebook创始人,由于他是一个通过web取得成功的人,我决定仔细看一遍这电影,也证明下自己的听力可以跟上那种语速(虽然事实证明我确实没跟上)。整部电影给我留下最深刻印象的一句话是:”You’re not an asshole,Mark.You are just trying so hard to be.”这位天才到底是不是asshole我不知道,但他确实很坏。但就是这样一个坏人,用他的坏人思维才创造了Facebook这样一个奇迹,开启了一种生活方式。坏人最大的优点就是他不用伪装隐藏自己内心深处的灰暗,因为是坏人,所以就算肆无忌点的表现着甚至是夸张的阴暗思想也很平常。能正视自己内心灰暗的人,利用自己的灰暗发现他人的灰暗,从而利用了这点每个人心里都有的灰暗开启了一个王朝。我并不是支持坏人,我要说的是,坏人做的坏事,总会做出改变。这些坏事,要么为人愤恨,甚至遗臭万年,要么成了改变人类的重要里程碑。影片里的Zuckberg,用各种乖张的方式宣泄着自己的内心。他在Blog上奚落前女友,在听证会上说学校应为他的错误表扬他,穿着睡衣冲进高级写字楼收取投资,用变态的黑客游戏选拔人才,甚至,他不放过自己的父母家庭。他跟所有坏人的最大不同是:他是Harvard的坏人。所以,这个坏人做的坏事对互联网做出了重要的改变。Zuckberg是个坏人,Zuckberg是个天才,Zuckberg是我偶像,但我没有那种正视内心灰暗的勇气。


题目:http://poj.org/problem?id=1328题意:这题是说,在一条直线两侧分别是海跟陆地,也就是说这条线是海岸线。在海里有若干个用x,y坐标标示位置的岛屿,岸上安排雷达站,每个雷达站有覆盖范围。要求求出最少需要多少个雷达站覆盖所有岛屿。解法:贪心。这题就是在一条直线上画最少的覆盖直线一侧所有点的一系列圆。首先对每个点求出能覆盖到这个点的在直线上左右两极限位置的坐标。然后按照左极限位置对这些点排序。然后从左到右找到每个雷达最多能覆盖的岛屿数。最后就得到了所需的雷达数。当有岛屿离海岸的距离大于雷达覆盖半径,则输出不可能。代码: #include<stdio.h>#include<math.h>#include<stdlib.h>typedef struct node{ double l; double r;}ISLAND;int cmp(const void *a,const void *b){ return (*(ISLAND *)a).l>(*(ISLAND *)b).l?1:-1;}main(){ int i,j,k,x,y,n,d,num,time=1; double temp; ISLAND a[1100]; scanf(“%d%d”,&n,&d); while(n!=0||d!=0) { num=0; for(i=0;i<n;i++) { scanf(“%d%d”,&x,&y); if(y>d) {num=-1;} temp=sqrt((double)d*d-(double)y*y); a[i].l=(double)x-temp; a[i].r=(double)x+temp; } if(d<=0||num==-1){printf(“Case %d: -1n”,time);time++;scanf(“%d%d”,&n,&d);continue;} qsort(a,n,sizeof(a[0]),cmp); for(i=0;i<n;i=j,num++) { for(j=i+1;j<n;j++) { if(a[j].l>a[i].r) break; { if(a[i].r>a[j].r) {a[i].r=a[j].r;} } } } printf(“Case %d: %dn”,time,num); […]


总得写点什么,不能总让这个Programing空着。我的WEB程序是自学的,学习不系统,也不专业,轻拍。从这个学期开始,发现身边好多同学在看有关WEB的书,这里就简单写一下应该怎样学WEB。我对WEB程序的理解很简单,就是生成HTML代码,无论静态网站还是动态网站。因此学习WEB首先要掌握基本的HTML。HTML会一些就好,首先个人认为HTML各种元素以及他们的属性一次性记不住,其次有些书介绍元素和属性在今天的WEB程序里已经很少用到,随着样式跟内容的分离,HTML已经失去了控制表现形式的义务,内容表现更多是交给CSS处理。刚提到了CSS,我是在学习过服务端脚本以及客户端脚本之后才接触的,不过我发现这个东西比较适合安排在学习HTML之后,有了CSS,HTML就基本算学会了WEB的表现部分,可以实现页面的布局以及表现。比较早接触CSS的另一个原因是,CSS学起来比较简单,本身就是个负责控制HTML表现的表,没啥具体语法要求。这样不至于过早对学习失去兴趣。之后我建议开始接触服务端语言,PHP或者JSP等。选择一门自己适合的服务端语言。我个人比较喜欢C风格的语言,因此选择了PHP。PHP在WEB中的作用就是生成HTML代码。一个PHP程序通过处理数据逻辑,并将数据添到HTML,从而中生成我们看到的代码。这就是服务端语言的作用。接着可以开始看javascript。Javascript有在客户端控制HTML的能力,因此适合处理一些不需要服务器参与的简单数据逻辑寻算。另外好多无刷新更新页面内容的功能也是通过Javascript控制的。因此Javascript肩负着使页面有更好的页面体验的使命。Javascript也是Ajax技术的核心,比如人人网上可以无刷新浏览照片,无刷新删除新鲜事,无刷新提交留言等。基本学习WEB就是这么个顺序。这些算是基础知识。更深层次的学习,比如mvc架构,如何提高页面的可用性有效性这些可以在开发中慢慢体会。


如上图,H为角A的角平分线和底边BC的垂直平分线的交点,因而有HE等于HF,AH=AH因此三角形AEH与AFH全等,因此AE=AF。又BH=CH,HE=HF,因而三角形EHB与FHC全等,因而BE=CF,因此AB=AC,证毕。这个证明很荒谬,但却体现数学证明中的一个很诡异的问题,发现它的错误吧。


今天翘了个微原,顺便搞定了三个模块,页面标题、文章列表的分页显示以及修改文章功能。另外今天获得悲剧一枚,G报名TMD又晚了,报了1月7日的机考。怨念。


这篇东西不归到Programing里,因为这里完全不涉及到程序。一、准备要架设你自己的网站,首先要了解一些概念,如什么是IP,什么是域名,什么是服务器。对这些简单的概念有了解即可。windows用户可以用windows的IIS亲自架设服务器感受下一个网站到底是什么样子的,Linux用户推荐用Apache,这是一个开源软件,也是目前主流的个人网站常用服务器。就我个人而言我很喜欢LAMP,Linux+Apache+MySql+Php。二、域名和服务器首先需要获得一台可以运行WEB程序提供WEB程序的服务器,就个人而言,购买虚拟空间是个不错的选择,因为便宜。主流虚拟空间一般为ASP空间和PHP空间,国内提供的ASP空间较多,而国外的PHP空间也是不错的选择,当然选择PHP空间需要对Linux有一定理解。最开始,可以尝试免费试用一个正规虚拟空间,当然你需要找到一个免费试用的虚拟空间提供商。一般这类免费的空间会提供一个免费域名,当然不可能是顶级域名-_-。当真的觉得有必要投入一笔资金来正式搞一搞自己的网站的时候,就可以买个顶级域名加付费的空间了。这两项每年大概300RMB。买到域名和虚拟空间后要将这个域名绑定到你的虚拟主机之上,这些一般可以在域名提供商的网站上按提示顺利完成。三、上传网站多数虚拟空间都提供FTP方式上传你的网站。选择合适的FTP软件按照虚拟主机提供的帐号和密码以及地址连接到FTP上就可以上传文件了。如果你对web programing没啥了解,选择成品程序上传,按照提示,一般可以正常架设起自己的网站。这种产品比如,discuz的论坛,wordpress的个人博客系统。上传之后,用浏览器访问你的域名,简单设置之后你的网站就算开张了。四、SEO这部分主要就是让你的网站能被搜索引擎搜索到。关于SEO还是很有趣的一部分,大型网站几乎都有自己专业的SEO团队。举例来说,在GOOGLE里输入SB搜到第一个结果就是个SEO实验页,也比较成功。当然,如果你企图用SEO进入BAIDU的首页,我劝您还是省下力气多去完善自己的网站吧。设想你有个www.****.com的域名,并且在GOOGLE搜索中搜索****第一个结果就是你的网站该是多拉风一件事。 总之,建设个人网站其实可以完全没有PROGRAM知识,但若想有自己独一无二的网站,并实现自己涉及的功能,自己写程序是必须的。


奇困的一下午。昨儿看了一个电影好不容易来了点动力,今天要做几件昨天临睡前的计划。结果午饭后,坐在电脑前,困了,爬上床,一点睡下去就到现在了。为什么会这么困,什么会这么困,么会真么困,会这么困,这么困,么困,困。

CodePhoto.WTF © 2026