poj1321 DFS水

2011年6月03日 22:09

 

棋盘问题
Time Limit: 1000MS   Memory Limit: 10000K
Total Submissions: 11335   Accepted: 5563

Description

在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别。要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C。

Input

输入含有多组测试数据。 
每组数据的第一行是两个正整数,n k,用一个空格隔开,表示了将在一个n*n的矩阵内描述棋盘,以及摆放棋子的数目。 n <= 8 , k <= n 
当为-1 -1时表示输入结束。 
随后的n行描述了棋盘的形状:每行有n个字符,其中 # 表示棋盘区域, . 表示空白区域(数据保证不出现多余的空白行或者空白列)。 

Output

对于每一组数据,给出一行输出,输出摆放的方案数目C (数据保证C<2^31)。

Sample Input

2 1
#.
.#
4 4
...#
..#.
.#..
#...
-1 -1

Sample Output

2
1

 

#include<cstdio>
#include<cstring>
int n,k;
int i;
int j;
char board[12][12];
int pos[12];
int cnt;
void DFS(int row,int num)
{
    if(num==0)
    {
        cnt++;
        return;
    }
    if(row>=n) return;
    for(int l=0; l<n; l++)
    {
        if(pos[l]!=1&&board[row][l]=='#')
        {
            pos[l]=1;
            DFS(row+1,num-1);
            pos[l]=0;
        }
    }
    DFS(row+1,num);
}
int main()
{
    scanf("%d%d",&n,&k);
    while(n!=-1&&k!=-1)
    {
        for(i=0; i<n; i++)
            scanf("%s",board[i]);
        cnt=0;
        memset(pos,0,sizeof(pos));
        DFS(0,k);
        printf("%d\n",cnt);
        scanf("%d%d",&n,&k);
    }
    return 0;
}

 

特点

1.SOA是架构风格,是方法。

2.SOA的首要目标是IT与业务对齐。其次是IT架构灵活性和IT资产重用。

3.工程上SOA是服务建模和基于SOA设计原则进行架构决策和设计。

服务,设计原则

1.无状态

2.单一实例

3.明确定义的接口

4.自包含和模块化

5.粗粒度

6.服务之间松耦合

7.重用能力

8.互操作性、兼容和策略声明

清华人的生活和学习

2010年12月30日 23:37

(一)永远不要说你已经尽力了

我在高中时体育特别差,跑1000米都很要命,从来都是不及格。到了清华之后,第一节体育课,老师告诉我们每年要测3000米长跑,跑不过不许毕业,取消推研资格。怎么办?于是每天晚上10:30,我们的自习教室关门,操场上的人就多起来了。跑半个小时再回寝室继续学习,练了一个学期,我瘦了40斤,最后考试的时候我仅用了12分56秒就跑下了3000米,我们班最胖的人也在15分钟以内跑完了。清华校训“自强不息”给我的影响非常大。所以永远不要说自己已经尽力了。什么叫成功?人们死活不相信你能做到的事情,你做到了,这就叫成功。

(二)怎样挤时间

大家如果到了清华可以看到,所有的学生骑车都是飞车,走路几乎都是小跑。你很快从校门走进教室就可以比别人多看一会书,多做一道题。时间久了,日积月累,你就会在时间上占有绝对的优势。充分利用课间10分钟,我们一天可以挤出将近两个小时,可以比别人多做一套题。所有人脑子里想的都是利用别人休息的时间来充实自己,使自己在今后的竞争中占据优势地位。同学们不要把清华的学生想得太牛了,清华学生中智商超群的人至多占学生总数的1/4。他们比你们多的东西只是对待自己未来的态度。清华学生身上有一种非常令人敬畏的精神力量。他们可以为了自己的目标放弃任何诱惑。就算在大年三十,清华的自习教室也会人满为患。用一位美国教授的话说:“Students of Tsinghua,no Saturday,no Sunday,no holiday!”就是这种精神铸造了清华的神话。不这样就很难考上清华。

(三)给自己找压力

一科不及格就取消推研资格,三科不及格就退学了,所以我们都要疯狂地学习。大二的时候,我们有一个夏季小学期共两周。第一周周一上午,我们在一间教室上了两个小时课,学了计算机的VHDL语言。下课老师要求我们在周五之前编出一个主频30M的CPU来。所有的人都疯了,因为上午根本就不知道他在说什么。后来我们知道,在其他大学的电子系这门课要学一个学期的。但是老师说得很清楚了,做不出来就不及格。于是大家就疯狂地跑到图书馆借书,回去废寝忘食地看,第一天看不懂,第二天稍有点明白,第三天白天编了几个简单的程序,晚上开始正式编程,编到凌晨3点,周四编了一天加一个通宵,周五早上8点通过了验收。在此之前,我们没有想到我们还可以在这么短的时间里做这么多事,但是在巨大的压力之下我们完成了。

(四)情感问题

高中阶段的感情是非常美好的,那种感觉很甜蜜。但我觉得高中时候谈恋爱太麻烦了———你得偷偷摸摸的,不能被老师和家长知道,但是又一定会被发现,然后一次又一次地被找去谈话,最后只顾着烦了,什么甜蜜的感觉都没有了。就算是上了大学,清华的情侣们到了大四也是基本都分手了,所以我们好多大学的同学觉得与其费心劳神地找个女朋友还不如安心学习,于是清华就有了“本科僧”“研究僧”的说法。正是这些过着苦行僧生活的学生使得清华的学风在世界上都有口皆碑。我们这个年龄多学一点安身立命的本事比寻求那些短暂的甜蜜要有意义得多。我给大家的建议是,我们不妨做四年“本科僧”,千万不要到了最后发现自己浪费了太多的时间和精力而自责和苦恼。

(五)不要抱怨老师不好

清华的老师做研究都是大牛,但是几乎没有老师好好给本科生上课。没有人教你怎么办,你不会倒是不正常的了。有一次上微机原理课,老师说,今天回去用Protel把课上的电路模拟一下。同学们都说,我们是这辈子第一次听说这个软件。老师说:“这是电子工程人员必备的软件。”转身就走了。没办法,我们回去在图书馆熬了3天终于把这个软件学会了。一次数学课,老师让我们回去用MATLAB画一个三维的图形。同学们都说没学过———这好像是数学系的一门必修课,老师只说了一句:“没学过?回去学呀!”我们又是在图书馆耗了好几天,基本弄明白了。所以,当你觉得有哪一科学得不太好的,一定不要埋怨客观条件,自己的努力才是成功的基石。

(六)好的身体是一切的本钱

同学们如果真的要为自己的理想拼命的话,必须好好锻炼身体。清华的口号是“为祖国健康工作50年”。所以清华的体育课之所以要求那么高、那么严格,就是逼着大家好好锻炼身体。现在,我们班今年有20个人报名参加北京国际马拉松(全国报名的大学生只有5000人,清华就有3000人)———一是为了体验一下,二是对自己的耐力很有信心。推荐大家多练习长跑,最好每天跑个1000米。相信吧,等你们到了一流大学需要熬夜做研究的时候,你们将会发现自己大学打下的身体健康根基是多么重要。

Reading Avatar's DNA

2010年12月26日 10:27

TAU researcher turns film sequences into "genetic code" to catch video pirates

You know when you're watching a pirated film downloaded from the Internet — there's no mistaking the fuzzy footage, or the guy in the front row getting up for popcorn. Despite the poor quality, pirated video is a serious problem around the world. Criminal copyright infringement occurs on a massive scale over the Internet, costing the film industry — and the U.S. economy — billions of dollars annually.

Now Dr. Alex Bronstein of Tel Aviv University's Department of Electrical Engineering has a new way to stop video pirates. With his twin brother Michael and Israeli researcher Prof. Ron Kimmel, he has developed the ultimate solution: treating video footage like DNA.

Sequencing the video genome

"It's not only members of the animal and plant kingdom that can have DNA," says Dr. Bronstein, who was inspired by DNA sequencing tools used in bioinformatics laboratories. "If a DNA test can identify and catch criminals, we thought that a similar code might be applicable to video. If the code were copied and changed, we'd catch it."

Of course, video does not have a real genetic code like members of the animal kingdom, so Dr. Bronstein and his team created a DNA analogue, like a unique fingerprint, that can be applied to video files. The result is a unique DNA fingerprint for each individual movie anywhere on the planet.

When scenes are altered, colors changed, or film is bootlegged on a camera at the movie theatre, the film can be tracked and traced on the Internet, explains Dr. Bronstein. And, like the films, video thieves can be tracked and caught.

The technology employs an invisible sequence and series of grids applied over the film, turning the footage into a series of numbers. The tool can then scan the content of Web sites where pirated films are believed to be offered, pinpointing subsequent mutations of the original.

The technique is called "video DNA matching." It detects aberrations in pirated video in the same way that biologists detect mutations in the genetic code to determine, for example, an individual's family connections. The technique works by identifying features of the film that remain basically unchanged by typical color and resolution manipulations, and geometric transformations. It's effective even with border changes, commercials added or scenes edited out.

Finding a common onscreen ancestry

The researchers have set their sights on popular video-sharing web sites like YouTube. YouTube, they say, automates the detection of copyright infringement to some degree, but their technique doesn't work when the video has been altered.

The problem with catching bootlegged and pirated video is that it requires thousands of man-hours to watch the content being downloaded. Production companies know their only hope in recouping stolen content is by automating the process. "Video DNA" can provide a more accurate and useful form of this automation.

 

 

哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间,就没有晒太阳的时间。

作为闻名于世的学府,哈佛大学培养了许多名人,他们中有33位诺贝尔奖获得者、7位美国总统以及各行各业的职业精英。究竟是什么使哈佛成为精英的摇篮?哈佛学子接受了什么样的精神和理念?这些问题吸引着成千上万的人去探知其中的答案。

 

哈佛图书馆墙上的20条训言似乎已经给出了答案。短短数语,引发深思,给人启迪。

哈佛图书馆的二十条训言:
1.此刻打盹,你将做梦;而此刻学习,你将圆梦。
2.我荒废的今日,正是昨日殒身之人祈求的明日。
3.觉得为时已晚的时候,恰恰是最早的时候。
4.勿将今日之事拖到明日。
5.学习时的苦痛是暂时的,未学到的痛苦是终生的。
6.学习这件事,不是缺乏时间,而是缺乏努力。
7.幸福或许不排名次,但成功必排名次。
8.学习并不是人生的全部。但既然连人生的一部分―――学习也无法征服,还能做什么呢?
9.请享受无法回避的痛苦。
10.只有比别人更早、更勤奋地努力,才能尝到成功的滋味。
11.谁也不能随随便便成功,它来自彻底的自我管理和毅力。
12.时间在流逝。
13.现在流的口水,将成为明天的眼泪。
14.狗一样地学,绅士一样地玩。
15.今天不走,明天要跑。
16.投资未来的人,是忠于现实的人。
17.受教育程度代表收入。
18.一天过完,不会再来。
19.即使现在,对手也不停地翻动书页。
20.没有艰辛,便无所获。

此刻打盹,你将做梦;而此刻学习,你将圆梦
哈佛老师经常给学生这样的告诫:如果你想在进入社会后,在任何时候任何场合下都能得心应手并且得到应有的评价,那么你在哈佛的学习期间,就没有晒太阳的时间。在哈佛广为流传的一句格言是“忙完秋收忙秋种,学习,学习,再学习。”
人的时间和精力都是有限的,所以,要利用时间抓紧学习,而不是将所有的业余时间都用来打瞌睡。
有的人会这样说:“我只是在业余时间打盹而已,业余时间干吗把自己弄得那么紧张?”爱因斯坦就曾提出:“人的差异在于业余时间。”我的一位在哈佛任教的朋友也告诉我说,只要知道一个青年怎样度过他的业余时间,就能预言出这个青年的前程怎样。
20世纪初,在数学界有这样一道难题,那就是2的76次方减去1的结果是不是人们所猜想的质数。很多科学家都在努力地攻克这一数学难关,但结果并不如愿。1903年,在纽约的数学学会上,一位叫做科尔的科学家通过令人信服的运算论证,成功地证明了这道难题。
人们在惊诧和赞许之余,向科尔问道:“您论证这个课题一共花了多少时间?”科尔回答:“3年内的全部星期天。”
同样,加拿大医学教育家奥斯勒也是利用业余时间作出成就的典范。奥斯勒对人类最大的贡献,就是成功地研究了第三种血细胞。他为了从繁忙的工作中挤出时间读书,规定自己在睡觉之前必须读15分钟的书。不管忙碌到多晚,都坚持这一习惯不改变。这个习惯他整整坚持了半个世纪,共读了1000多本书,取得了令人瞩目的成绩。

我荒废的今日,正是昨天殒身之人祈求的明日
闻名于世的约翰霍普金斯学院的创始人、牛津大学医学院的讲座教授、被英国国王册封为爵士的威廉。奥斯勒在年轻时,也曾为自己的前途感到迷茫。一次,他在读书时看到了一句话,给了他很大的启发。这句话是“最重要的就是不要去看远方模糊的事,而是做手边清楚的事。”
对此,哈佛提醒学生说“我荒废的今日,正是昨天殒身之人祈求的明日”。明天再美好,也不如抓住眼下的今天多做点实事。
获得哈佛大学荣誉学位的发明家、科学家本杰明。富兰克林有一次接到一个年轻人的求教电话,并与他约好了见面的时间和地点。当年轻人如约而至时,本杰明的房门大敞着,而眼前的房子里却乱七八糟、一片狼藉,年轻人很是意外。
没等他开口,本杰明就招呼道:“你看我这房间,太不整洁了,请你在门外等候一分钟,我收拾一下,你再进来吧。”然后本杰明就轻轻地关上了房门。
不到一分钟的时间,本杰明就又打开了房门,热情地把年轻人让进客厅。这时,年轻人的眼前展现出另一番景象―――房间内的一切已变得井然有序,而且有两杯倒好的红酒,在淡淡的香气里漾着微波。
年轻人在诧异中,还没有把满腹的有关人生和事业的疑难问题向本杰明讲出来,本杰明就非常客气地说道:“干杯!你可以走了。”
手持酒杯的年轻人一下子愣住了,带着一丝尴尬和遗憾说:“我还没向您请教呢……”
“这些……难道还不够吗?”本杰明一边微笑一边扫视着自己的房间说,“你进来又有一分钟了。”
“一分钟……”年轻人若有所思地说,“我懂了,您让我明白用一分钟的时间可以做许多事情,可以改变许多事情的深刻道理。”
珍惜眼前的每一分每一秒,也就珍惜了所拥有的今天。哈佛的这句话实际上揭示了一种人生哲学,那就是人生要以珍惜的态度把握时间,从今天开始,从现在做起。

觉得为时已晚的时候,恰恰是最早的时候
安曼曾经是纽约港务局的工程师,工作多年后按规定退休。开始的时候,他很是失落。但他很快就高兴起来,因为他有了一个伟大的想法。他想创办一家自己的工程公司,要把办公楼开到全球各个角落。
安曼开始一步一个脚印地实施着自己的计划,设计的建筑遍布世界各地。在退休后的三十多年里,他实践着自己在工作中没有机会尝试的大胆和新奇的设计,不停地创造着一个又一个令世人瞩目的经典:埃塞俄比亚首都亚的斯亚贝巴机场,华盛顿杜勒斯机场,伊朗高速公路系统,宾夕法尼亚州匹兹堡市中心建筑群……这些作品被当作大学建筑系和工程系教科书上常用的范例,也是安曼伟大梦想的见证。86岁的时候,他完成最后一个作品―――当时世界上最长的悬体公路桥―――纽约韦拉扎诺海峡桥。
生活中,很多事情都是这样,如果你愿意开始,认清目标,打定主意去做一件事,永远不会嫌晚。

今天不走,明天要跑
在哈佛,教授们会时常提醒学生们要做好时间管理,并列举如下事例:
当今世界上最大的化学公司―――杜邦公司的总裁格劳福特。格林瓦特,每天挤出一小时来研究蜂鸟,并用专门的设备给蜂鸟拍照。权威人士把他写的关于蜂鸟的书称为自然历史丛书中的杰出作品。
休格。布莱克在进入美国议会前,并未受过高等教育。他从百忙中每天挤出一小时到国会图书馆去博览群书,包括政治、历史、哲学、诗歌等方面的书,数年如一日,就是在议会工作最忙的日子里也从未间断过。后来他成了美国最高法院的法官。
一位名叫尼古拉的希腊籍电梯维修工对现代科学很感兴趣,他每天下班后到晚饭前,总要花一小时时间来攻读核物理学方面的书籍。随着知识的积累,一个念头跃入他的脑海。1948年,他提出了建立一种新型粒子加速器的计划。这种加速器比当时其他类型的加速器造价便宜而且更强有力。他把计划递交给美国原子能委员会做试验,又再经改进,这台加速器为美国节省了7000万美元。尼古拉得到了1万美元的奖励,还被聘请到加州大学放射实验室工作。
在人生的道路上,你停步不前,但有人却在拼命赶路。也许当你站立的时候,他还在你的后面向前追赶,但当你再一回望时,已看不到他的身影了,因为,他已经跑到你的前面了,现在需要你来追赶他了。所以,你不能停步,你要不断向前,不断超越。
狗一样地学,绅士一样地玩
我们说要珍惜时间,努力为实现理想而打拼,但有一点要注意,那就是不要一味地拼命,也要有适度的休息和放松。对此,哈佛有个很贴切的说法,叫做“狗一样地学,绅士一样地玩”。话虽略显粗俗,但揭示的道理却很深刻。
在哈佛,虽然学习强度很大,学生们承受着很大的学习压力,但他们也不提倡学生把所有的时间都用来学习。他们认为,学要尽力,玩也不能忽视。哈佛的学生也说,哈佛的课余生活要胜过正规学习。而哈佛也意识到适度的课外活动不但不会背离教育使命,而且还会给教育使命以支持。因此,他们提出要像“绅士一样地玩”。
在哈佛,学生们除了紧张地学习,还会参加学校组织的多种艺术活动,比如音乐会、戏剧演出、舞蹈表演及各种艺术展览等,此外,哈佛每年还会举办艺术节,以活跃学生的业余生活。这些充满着浓厚艺术氛围的活动不仅让学生接受了艺术教育和熏陶,而且提高了学生的艺术修养和审美能力。
哈佛的理念就是要求你在紧张的学习和工作后,能够暂时地完全忘记它们,像投入工作那样投入玩耍,尽情地放松。的确,在你尽心休闲的时候,所得到的体力和精力的恢复会为你下一阶段的奋斗增添无穷的动力。所以,在前进的路上,你不仅要勤奋努力,更要学会放松。

现在流的口水,将成为明天的眼泪
成功与安逸是不可兼得的,选择了其一,就必定放弃了另一结局。正像哈佛所提醒的那样:现在流的口水,将成为明天的眼泪。今天不努力,明天必定遭罪。
我的邻居查尔斯曾经在哈佛度过4年的大学时光,他现在就职于纽约的一家软件公司,做他最擅长的行政管理工作,九九读书人。不久前,他的公司被一家法国公司兼并了。在兼并合同签订的当天,公司的新总裁宣布:“我们不会随意裁员,但如果你的法语太差,导致无法和其他员工交流,那么,不管是多高职位的人,我们都不得不请你离开。这个周末我们将进行一次法语考试,只有考试及格的人才能继续在这里工作。”
散会后,几乎所有的人都拥向了图书馆,他们这时才意识到要赶快补习法语了。只有查尔斯像平常一样直接回家了,同事们都认为他已经准备放弃这份工作了,毕竟,哈佛的学习背景和公司管理层的工作经验会帮助他轻而易举地找到另一份不错的工作。
然而,令所有人都想不到的是,考试结果出来后,这个在大家眼中没有希望的人却考了最高分。原来,查尔斯在毕业后来到这家公司后,他在工作中发现与法国人打交道的机会特别多,不会法语会使自己的工作受到很大的限制,所以,他很早就开始自学法语了。他利用可利用的一切时间,每天坚持学习,最终学有所获。
在哈佛,你从来看不到学生在偷懒,在消磨时间。当若干年后回想起曾经的梦想时,希望带给你的是无尽的欣慰笑容,而不是因蹉跎而流下的悔恨泪水。

投资未来的人,是忠于现实的人
作为世界知名的学府,哈佛十分强调要有长远眼光,为未来投资。要投资未来,就要定好未来的投资方向,也就是要及早地设定人生目标。没有目标,就谈不到发展,更谈不上成功。
哈佛大学曾进行过这样一项跟踪调查,对象是一群在智力、学历和环境等方面条件差不多的年轻人。调查结果发现:27%的人没有目标;60%的人目标模糊;10%的人有着清晰但比较短期的目标;其余3%的人有着清晰而长远的目标.
以后的岁月,他们行进在各自的人生旅途中。25年后,哈佛再次对这群学生进行了跟踪调查。结果是这样的:
3%的人,在25年间朝着一个方向不懈努力,几乎都成为社会各界的成功人士,其中不乏行业领袖和社会精英;10%的人,他们的短期目标不断地实现,成为各个领域中的专业人士,大都生活在社会的中上层;60%的人,他们安稳地生活与工作,但都没有什么特别成绩,几乎都生活在社会的中下层;剩下27%的人,他们的生活没有目标,过得很不如意,并且常常在抱怨他人,抱怨社会,当然,也抱怨自己。
其实,他们之间的差别仅仅在于:25年前,他们中的一些人就已经知道自己最想要做的是什么,而另一些人则不清楚或不很清楚。这个调查生动地说明了明确生活目标对于人生成功的重要意义。

按照出线先后顺序依次是:

 
北京大学
清华大学
天津大学
中山大学
北京交通大学
电子科技大学
 
浙江大学
上海交通大学
福州大学
哈尔滨工程大学
杭州电子科技大学
 
四川大学
华中科技大
浙江师范大学
 
武汉大学
复旦大学
 
山东大学
哈尔滨工业大学
华东师范大学

无题~~~

2010年12月15日 08:17

当你在做梦的时候,我在实现自己的梦想,

当你在睡觉的时候,我在自己的道路上拼搏。

生前何必久睡,死后自会长眠。

人类的欲望与资源的稀缺是一对矛盾体。人类欲望的节制是宗教学,而对于稀缺资本的有效配置则是经济学。一则唯心,另一则唯物。所以我还是赞成用唯心的观点来支撑人类心理的安宁,那不是唯物所能准确察觉的角落。

需求与供给的平衡,就是一个负反馈,反复作用形成了错综复杂的蛛网,而蛛网的发展趋势,则由需求和供给的弹性决定。

为了获得速度,适当有损的解码是可以的。为了学东西的速度,适当的熬夜是允许的。

长期总成本曲线是短期总成本曲线的包络面。经济学中的惠更斯原理呀。

帕雷托定律无处不在,20% 的人占有80%的效用。

 

山大ACM晋级世界总决赛

2010年11月27日 18:07

就是在2010年11月21日下午2:30分整,acm福州赛区比赛结束了。这时也证实了跟我生活了3年的同学已经晋级了acm世界总决赛,去埃及比赛的愿望终于实现了。

 

回想起当年刚刚认识毛杰、王瑞和郭威的时候,只是感觉他们除了韧性并没有什么过人之处。

仍然记得三年前的一个傍晚,毛杰问我acm是什么的时候,他表示想好好学习什么是计算机编程。当时我们也曾谈过自己的理想,他说,他想出国,想去MIT,也曾记得当时我跟他在一起看一篇名叫《弱校acm奋斗史》的文章,当时看后发现当时文中人描述的集训的生活是如此的艰苦:

到了大二,我们更加努力的集训,在北京之前,我们第一次尝试了全天集训的滋味。30天90袋跑面20袋咸菜,每天4个小时的睡眠。当时我觉得我们一定会崩溃的,当我每次快要崩溃的时候,总会记起当时我们的话:“我们才大一,我们喜欢ACM,我们还有的拼,我们能拼。”于是,就奇迹一样的继续做题。
现在想起来,那真的是个奇迹,LIANG HH居然可以一个月只在床上躺了6个晚上,平均每天睡2个小时。
就这样,我们在北京的时候,绝对意外的拿了第5名的成绩,当时的感觉绝对不是语言可以形容的,当时只是在想:我们终于证明自己了。
但是,这也是要代价的,LIANGHH回来就垮了,其他的人也不是很好受。但是,队长还是决定了去印度拼一下。决定的结果是:继续集训。那些日子我不愿意再回忆,也不愿意再来一次,但是,如果我必须要再来一次的话,我相信,我不会犹豫,因为:我喜欢ACM。

不知是被这种生活所激励还是被acm的竞赛精神所鼓舞,一头钻入实验室三年后终于再见天日。老毛不但在acm收获老友情、亲情、当然还有成绩跟爱情。相信这一刻的老毛会有很多感慨,也可以想的得出远在福州他的小小的激动,然后淡然接受这个成绩。

两年前认识老郭威,对于他,刚刚开始就只有 这么个印象:拖鞋+烟+火+dota+老婆,后来慢慢熟悉的过程中发现,他的思想的高度如此之高,只能膜拜,顶礼膜拜,在无数个彻夜长谈(章月大人请谅解,我占用老不少属于您的郭大侠的时间= =#)中我的庸俗的思想慢慢升华,从这里,我学会了对我影响极大的几句话“无所谓”、“随意”、“看着办”、“不解释”……我们无话不谈,谈到重点时,会心一笑。呵呵,天才是存在的,但思想上的天才是没有的。用梦驰的话说就是:“绝版!”

王瑞小盆友,应该算是认识的早,熟悉的晚的同学,给我的第一印象应该是跟我的初中的信息技术老师差不多,人长得不算标准,但是人品是没得说,低调,稳重,实在。

我想,大多数人是没有跟他们进行过非常深入的交往的,三年的时间,每天至少12小时以上在实验室中进行学习和练习,只为acm世界总决赛,呵呵,没有多么过人的智商,只有韧性和坚持而已。另外必须有清醒的头脑。

每日惶惶而过,并不能换来真正的实力,芸芸浮生,争名逐利,流年过往,浮华退去时,真正的硬实力又有什么呢?

附上许信顺老师的一句话:“如果做科研的人每天睡觉时间超过6个小时,研究时间不足12小时,无法专注的话,这个人将会碌碌无为。”

后附:《弱校acm奋斗史》给他们,也留给自己……

不知道什么时候,开始知道ACM;也不知道什么时候,开始喜欢上ACM。但是,我知道,我喜欢上了,而且不会后悔。我是大一的时候进的学校ACM队,那个时候,一切都是冰冷的,华东理工大学,在别人的眼里,只是每次给别人垫底的学校,次次如此。
但是,我们不甘心,我们从不甘心,当我们主力队员中的一个,一个月拼命集训,瘦了很多的时候,突然,我有一种哭的冲动。我问他,为什么?他告诉我:我喜欢ACM。也许是个傻傻的理由,但是就是这句话让我一直留在了这里,并且为了这个梦奋斗着。
也许是天资的原因,第一次,我们失败了,彻底的失败了,在上海输的好惨,也使得我们第二年的经费雪上加霜。曾经的梦想,曾经的努力,似乎在一刹那间被否定了。也就在那个时候,有人说了一句:我们只有大一,我们的路还长,于是,我就坚持了下来。
现在看看大一时候的我们,真的是什么都不会的一些人。

到了大二,我们更加努力的集训,在北京之前,我们第一次尝试了全天集训的滋味。30天90袋跑面20袋咸菜,每天4个小时的睡眠。当时我觉得我们一定会崩溃的,当我每次快要崩溃的时候,总会记起当时我们的话:“我们才大一,我们喜欢ACM,我们还有的拼,我们能拼。”于是,就奇迹一样的继续做题。
现在想起来,那真的是个奇迹,LIANG HH居然可以一个月只在床上躺了6个晚上,平均每天睡2个小时。
就这样,我们在北京的时候,绝对意外的拿了第5名的成绩,当时的感觉绝对不是语言可以形容的,当时只是在想:我们终于证明自己了。
但是,这也是要代价的,LIANGHH回来就垮了,其他的人也不是很好受。但是,队长还是决定了去印度拼一下。决定的结果是:继续集训。那些日子我不愿意再回忆,也不愿意再来一次,但是,如果我必须要再来一次的话,我相信,我不会犹豫,因为:我喜欢ACM。

在印度的出现绝对不是一个奇迹,也不是运气,里面包含了苦涩,无奈,还有很多很多,当然最多的还是欣喜。
至于总决赛么,呵呵,就是去玩玩,也没有别的意思了。

我真的希望
大家加油!!!

不是因为别的原因,因为我们都曾经迷惑,无助,我们没有别人那么强的教练,没有别人那么好的基础,但是,我们都绝对不能放弃。绝对不能,因为,当我们坐在赛场上的时候,不管你是不是愿意,在你上空飘动的始终是你的校旗,别误会,我不是说什么要“为了学校争光”,那种话是用来哄小孩子的。我只想问大家,如果是你,坐在电脑前~~,你的背后有多少人在看着你?你的身上寄托的是什么?
是希望,是所有喜欢ACM的同学对你的希望,希望有这么一天,ACM也可以象其他的东西一样被其他的人所肯定,而不是什么需要被人怜悯的东西!!!!!!!!!
是信任,是所有曾经帮助过你和被你帮助过你的人对你的信任,想想为了经费而受尽了苦的人们,想想其他曾经一起集训的队员们的信任。他们信任你,你们会是最好的。只要你们尽力了,你们就是英雄。不过,没有人同情失败的英雄吧。所以,我们必须成功。

还有,是耻辱,是一种被轻视和忽视的耻辱,不知道你们有没有这样的经历,当初我们想找一个比我们水平高的学校共同学习一下,谁知道竟然换来的是一句:“就你们?”也许你们没有遇到过想我们一样尴尬的场面,不过,我相信,这种感觉在你们心里也很深刻吧。从很多地方都能体会到。

如果,现在我们寄托了这些东西的话,谁还会告诉我:我们不该奋斗呢?

如果可以,我宁愿安静的呆在一个不为人知的小角落,平平淡淡的过了这大学四年的生活,至少不会这么累。
如果可以,我宁愿在开始的时候,就找一个可以依靠的地方,傻傻的什么都不想,幸福的过了这四年。
如果可以,我宁愿只做一个ACM的看客,静静的品味他们成功的喜悦,分担失败的痛苦。

如果可以,我宁愿早早的放弃着艰苦的训练,因为我实在不愿意再做这样一个噩梦。
如果、可以…………

但是,只是如果……
而且,决不可以!!

当我们弱校的人喜欢上ACM的时候,就应该有这种觉悟!
如果,要后退,那么,就你就不要参加ACM,因为,你不适合。ACM比的并不仅仅是写程序的水平,而更多是三个人的综合素质。没有胆小的人可以赢得ACM的青睐,没有退缩的人可以赢得比赛的胜利。我们这些人,水平本来就有限,也没有什么很出色专业教练。那么如果我们连一拼的勇气都没有了。我们还剩下什么?

如果可以,让我再次站在大一时候的海报前,我还是会小声的说:“去试试吧,也许很好玩呢~~”

谢谢大家看了这么多,是不是烦了?呵呵,最后,我只希望大家能+U,同时弱校的队员,

我希望我们能互相帮助。

大家~~~~~~~~加油~~~~~~~~~

来自 Definite 转载请保留

 

 

一些诡异的与或非计算

2010年11月01日 15:26

1.求两个数的平均数

  1. int averagePerfect(int a, int b)  
  2. {  
  3.     return (a&b) + ((a^b) >> 1);  
  4. }  

证明如下:

设a各个位为a[31]a[30]a[29]......a[0],同理b设为b[31]b[30]b[29]......b[0]。则c=(a+b)>>1。

c[n]=(a[n]+b[n]的高位)+(a[n+1]+b[n+1]的低位)=(a[n+1]^b[n+1]>>1)+(a[n]&b[n])。

故c=(a&b)+((a^b)>>1)。

2.交换a,b两个数字

  1. int exchangePerfect(int& a, int& b)  
  2. {  
  3.     a=a^b;
  4.     b=a^b;
  5.     a=a^b;
  6.  }  

证明如下:

设a各个位为a[31]a[30]a[29]......a[0],同理b设为b[31]b[30]b[29]......b[0]。

a=a^b:a[n]=a[n]^b[n]

b=a^b:b[n]=a[n]^b[n] ^b[n]=a[n]

a=a^b:a[n]=a[n]^b[n] ^a[n]^b[n] ^b[n]=a[n]^b[n]^a[n]=b[n]^a[n]^a[n]=b[n]

如此便完成了交换。

我们尝试证明更加一般的东西

a+b=

设a各个位为a[31]a[30]a[29]......a[0],同理b设为b[31]b[30]b[29]......b[0]。

buaa通向女友之路~水~模板

2010年10月12日 02:01

 

吉大模板A的水,不知道ab同学怎么能tle的。。。。dijkstra
#include <cstdlib>
#include <limits>
#include <ctime>
#include <memory>
#include <cmath>
#include <functional>
#include <numeric>
 
#include <cstdio>
#include <iostream>
#include <fstream>
//#include <strstream>
 
#include <algorithm>
#include <iterator>
#include <map>
#include <set>
//#include <ext/hash_map>
//#include <ext/hash_set>
//#include <hash_map>
//#include <hash_set>
#include <queue>
#include <stack>
#include <list>
#include <vector>
#include <bitset>
#include <string>
#include <cstring>
 
using namespace std;
 
/*==================================================*\
| Dijkstra O(E * log E)
| INIT: 调用init(nv, ne)读入边并初始化;
| CALL: dijkstra(n, src); dist[i]为src到i的最短距离
\*==================================================*/
#define typec int // type of cost
#define V 10001
#define E 100001
const typec inf = 0x3f3f3f3f; // max of cost
typec cost[E], dist[V];
int e, pnt[E], nxt[E], head[V], prev[V], vis[V];
 
struct qnode {
    int v;
    typec c;
 
    qnode(int vv = 0, typec cc = 0) : v(vv), c(cc) {
    }
 
    bool operator<(const qnode & r) const {
        return c > r.c;
    }
};
 
void dijkstra(int n, const int src) {
    qnode mv;
    int i, j, k, pre;
    priority_queue<qnode> que;
    vis[src] = 1;
    dist[src] = 0;
    que.push(qnode(src, 0));
    for (pre = src, i = 1; i < n; i++) {
        for (j = head[pre]; j != -1; j = nxt[j]) {
            k = pnt[j];
            if (vis[k] == 0 &&
                    dist[pre] + cost[j] < dist[k]) {
                dist[k] = dist[pre] + cost[j];
                que.push(qnode(pnt[j], dist[k]));
                prev[k] = pre;
            }
        }
        while (!que.empty() && vis[que.top().v] == 1)
            que.pop();
        if (que.empty()) break;
        mv = que.top();
        que.pop();
        vis[pre = mv.v] = 1;
    }
}
 
inline void addedge(int u, int v, typec c) {
    pnt[e] = v;
    cost[e] = c;
    nxt[e] = head[u];
    head[u] = e++;
}
 
void init(int nv, int ne) {
    int i, u, v;
    typec c;
    e = 0;
    memset(head, -1, sizeof (head));
    memset(vis, 0, sizeof (vis));
    memset(prev, -1, sizeof (prev));
    for (i = 0; i < nv; i++) dist[i] = inf;
    for (i = 0; i < ne; ++i) {
        scanf("%d%d%d", &u, &v, &c); // %d: type of cost
        //printf("%d%d%d\n", u, v, c);
        u--;
        v--;
        addedge(u, v, c); // vertex: 0 ~ n-1, 单向边
        //addedge(v, u, c);
    }
}
 
int main() {
    int m, n;
    int s,t;
    while(cin >> n >> m) {
        init(n, m);
        //printf("%d", e);
        cin>>s>>t;
        dijkstra(n, s-1);
        cout << dist[t-1] << endl;
    }
    return 0;
}