Kiwi


这个视频在YouTube上的实际浏览量有两千万了,这可不是没有原因的哦。

,

3 Comments

Something changed?

人和事总是不停地在变。

前段时间都蛮堕落的,每天中午到实验室,然后晚上10点回去,此外的时间都没有用在提高上,其实在实验室的时候,效率也很低。不明白为什么,也许就是有点“腻”了吧。

前一篇日志也写到,这两天已经感觉恢复了。也许和昨天听到教练lcy说的赛点的新安排有关系,最希望去的赛点还是NJTU。而且和T1的差距,也让我明白当机会来临的时候,最有可能抓到的,还是最努力的那些人。平常也许看不出什么,对偶尔好一点的表现就感到满意,表现差了,就拿各种理由安慰自己,而差距就在不经意中慢慢拉开。

好的资料是有的,好的环境也是有的,能不能让这段日子变成美好的回忆而不是像高中那样不堪回首,完全在于我的决心啦。

看google analytics,有一个在广东省的IP好几天一直连续得关注着我的博客,有点感动,呵呵。如果你看到这篇日志了,别吝啬,留个言吧。

No Comments

TC SRM416

虽然一直都被虐,但真的越来越喜欢TC了,嘿嘿。
前端时间曾经感觉没做题的热情,现在也恢复嘞,加油AC!!

我参加的是DIV2区的比赛,250的题目就不说啦。

500分有些人用全排列做,其实没这个必要,找出规律简单模拟就可以了。

N先化为二进制,然后从低位往高位找第一段连续的1,比如这里有t个1(从低位到高位1…t),那么把第t个1往高位移动一位,原地址用0替代,1到(t-1)个1,移动到最低的t-1位,原位用0替代,就好了。

做掉1000分前先YM和学习了下windy大牛的代码。具体先求出1′s-counting sequence,之后枚举binary weight为K的男孩和女孩数量,然后进行状态DP。我使用一个递归的过程来进行状态DP的,递归函数代码如下:

  1. int digui(int x,int y)    //x,y分别为用二进制表示的男孩和女孩的选中情况
  2.     {
  3.         int i,j;
  4.         if(ret[x][y]!=-1) return ret[x][y];
  5.         ret[x][y]=0;
  6.         for(i=0;i<n;i++)
  7.             if(x&(1<<i)) break;
  8.         for(j=0;j<m;j++)
  9.             if(y&(1<<j))
  10.                 if(ma[i][j]==1)
  11.                     ret[x][y]+=digui(x^(1<<i),y^(1<<j));
  12.         return ret[x][y];
  13.     }

P.S. 发现SRM变成了日期的另一种形式啦,呵呵。

No Comments

08-9-1

发现自己还是太冲动,昨天晚上才确定自己应该需要一个双肩的笔记本包。然后今天晚上就在淘宝上逛了1个钟头,把包包给拍下来了。跟三四个老板费了半个钟头的口舌,但是一分钱都没得便宜……真是无语。这个包包(挂的是ISSC 07款Club版,实际上谁都知道是仿的),从店里贴的照片看还是蛮不错的,不知道实物是什么样,sigh~~也算是完成一件拖了很久的事情。
其实最近还想添跟内存(一开虚拟机,内存就吃完了),想买一双板鞋(不懂保养,一直穿那仅有的一双,被穿得很旧了,555)……但是偶一定要克制啊,这些东西先等我吃一个月的素,再考虑吧。

No Comments

二分匹配

都说简单,但是还是觉得很难理解,主要是感觉hall定理的定义比较难理解。
找了好久,终于找到一篇讲解得浅显易懂的文章。
imlazy.ycool.com/post.1603708.html
这篇文章中的两幅图把hall定理说明的比较直白,很快就看懂了。
匈牙利算法也是比较简单的
现在发现主要的难点在于如何把一道题目转化为二分匹配问题
我想还是靠做大量的题目吧,下面是一些题目:
HDOJ_1281

2008-08-04 16:16:35 Accepted 1281 0MS 0K 985 B C++

HDOJ_1498

2008-08-05 11:05:22 Accepted 1498 62MS 0K 1507 B C++

HDOJ_1528
HDOJ_1507
POJ_2724
POJ_3216

,

No Comments