SQYBI.com

Change is a part of life, and takes part in finding us who we are.

2011年08月09日
by sqybi
1 Comment

Codeforces Beta Round #80 Div. 2 总结

这次比赛是晚上7点开始的,所以状态大概比上次好一些。不过还是有题错得蛋疼,算是熟悉Python过程中的一个教训吧。 A题可以算是水之又水,模拟也可以做,写几个if或者case语句也可以做,甚至直接打表也可以。不过还真有人做错,随手hack掉了。 B题大概就是推一个公式然后计算就可以。写的时候有个小地方写错了,resubmit了一次,貌似扣了一些分。 C题是说判断一个图是不是如下形状:有一个至少三个结点的环,环上每个结点下面都可以挂一棵树。我直接DFS了一下,不过判断连通的时候出了一个很恶心的问题:我的判断连通方法是,DFS之后看是不是访问了所有结点。结果Python的++i是0+0+i的意思,于是我写的一句++n直接没有作用而且还不报错……然后pretest又没有这种情况出现,于是这道题system test的时候挂掉了。写C++写习惯了,++、--操作符总是顺手用。这个习惯得改了…… D题看起来是概率题,实际上仔细想一想就知道,整体的概率大小和X无关,只和每个.和它后面第一个X的距离是奇数还是偶数有关。尽量保证结果是.X.X……的形式,然后在不影响总概率的情况下安排字典序(如:..X.X可以改为...XX),实际上这就成了一道构造题。代码写起来可能稍微乱一点,别的没难度。 E题貌似这次是Div 1的D题,比较难。有n*sqrt(n)的算法,但是最后也没写完,不知道能不能奏效。 最后挂了C题,E题没做。因为大部分人E都没做所以成绩还好,压线变紫。下次就要做Div 1了,Ganbatte!

2011年08月04日
by sqybi
2 Comments

Codeforces Beta Round #79 Div. 2 总结

最近突然来的兴致,于是又开始刷题了。现在在做的比赛有SRM和这个Codeforces的比赛。SRM还是用C++(因为不给开Python),这个就用来练Python了。 比赛刚刚结束,结果略坑爹。虽然速度搞出五道题然后hack了两个人暂时占领ranklist第二的位置,不过System Test直接挂了三道题。 A题是一道非常水的枚举,结果被我写挂了。原因是我偷懒没开二维数组存邻接矩阵(python开二维矩阵要写好长一段啊,用过的应该都知道吧……),然后直接存了边表。更坑爹的是边表里边的查找我随手写了个in,要知道Python的in可是线性复杂度啊,不过当时没看出来。这算是C++留下的后遗症呢还是Python不够熟练呢,总之光注意循环的复杂度没问题就没管这道题了。结果悲剧地TLE了。要是把边表存成一个set其实就OK了,不过可惜比赛时没注意到这一点。 B题也是水题,纯模拟,跳过。 C题是字符串处理,对于Python来说没有任何难度。只要注意最开始别直接转成int就行了,不然会爆掉(Python不会爆不过会TLE。。。大概)。 D题大概是线段树(树状数组?)+DP,可惜我已经好久没写代码了所以没敢下手,只写了一个离散化+DP。果断TLE掉。代码能力啊代码能力,这些算法怎么写都得补啊。。。以后应该还是有用的吧。。。其实这题算时间复杂度也出现了问题,(n/2) * (n/2)我竟然当成了n的复杂度,真不知道脑子在想什么。锁了题之后才发现这一点,不过已经晚了。测了极限数据过不了(顺便用这组极限数据hack了一个人),当时还心存侥幸,其实想想也知道这种比赛的数据肯定足够强。。。 update: D题其实只要把车站进入和离开的时间点排序就可以了,我想复杂了。。。坑爹啊。 E题是简单数学题(跟D题比真的简单不少),不过写的时候手贱了多打了点东西。。。于是就挂了。自作自受啊自作自受。不过就算是在当初状态最好的时候,能不能保证不出这个失误呢?还真不好说。 最后排名惨不忍睹了(就出了两道题还不是高分题),估计下次还要做Div 2了吧。SRM那边开的小号第一场倒运气不错,直接黄了,比大号的第一场分数都高——明明排名比大号的第一次比赛低不少。SRM的分数通货膨胀了么。 唉唉,这个总结就这样吧,恢复状态任重而道远啊。。。

2009年07月24日
by sqybi
23 Comments

SRM 445

赛前定下的目标就是, 保住黄色. 然后拖着疲惫的身躯打完整场比赛, 坚持到了 rating 更新再睡觉 (幸运的是 System Test 很快, 没让我等太久), 也见证了自己的 rating 第一次突破 1700. 可以说很令我满意了, 不过却一点也高兴不起来. 让我耿耿于怀的就是那个 250 (275?). 当时拍出了一个自己也不知道对不对的程序, 按照平常的习惯, 我是万万不敢 submit 的, 除非是比赛最后时刻. 但是当时翻了一下 Room Summary, 发现那道题还只有 zhuojie 一个人提交, 不知道怎么就点了 submit. 感觉那一刻的自己像极了灵山仙人洞里的景天, "只是想痛痛快快地打一场罢了". 当然了, 结果也很像. 不过如果每次都这样, 结果不像的那一天迟早会来临, … Continue reading

2009年05月25日
by sqybi
11 Comments

交大ACM队机试结束

题目很恶心,7水+2难.结果就是N多人都是7道题,7道题主流啊...qujun这种做了7道题结果因为全场最水的G题看错题而排名靠后的就悲剧了... A题,给出C个字母,要求输出由这些字母所有满足下列条件的字符串:所有字母升序排列,每个字母只用一次,长度为L(L<=15),单词里至少有一个元音两个辅音. 这道题因为刚开始状态不太好卡了一会儿,不过最后还是比较顺利的搞出来了. B题,给一个01矩阵,问有几个连通块(只有上下左右连通才算). 简单的BFS. C题,给一个5*5的数字矩阵,从任意一点开始每一次向上下左右的任意一个方向走一步,可以走重复的格子,经过6个格子之后会得到一个六位数.问总共可能得到多少个不同的六位数. 纯搜索. D题,题目描述比较恶心,反正就是给你一堆矩形叠在一起的影子,问最少多少个矩形能够叠出这样的影子.所有矩形都是放在地面上的. 用链表维护一下就行,题目稍微长一些,但是很简单.第一次写写错了,写的算法和想的算法不是一个...走神了啊.不过还好,后来改对了. E题,有N头牛,每头牛都有一个强壮指数和重量.现在把它们按照某个顺序叠起来,每头牛计算一个上面所有牛的重量之和(不包括自己)减去它的强壮指数,问如何所有牛的这个值的最大值尽量小,输出这个最小的最大值. 刚开始还以为是二分答案,后来想到了贪心是把重量和强壮指数加起来,大的放在底下,但是没法证明,第一次submit还错了.后来发现第一头牛的这个值应该是负的自己的强壮指数,改了再交就过了.但是没完整地证明出来(只证明了三头牛是正确的). F题,给定函数f(a),计算方法是:把a的最后一位挪到第一位前面,然后平方,再把结果的第一位挪到最后一位后面.问第N个满足条件f(a)=a^2的a是多少. 写个暴力找下规律,就可以发现是1,2,3,21,221,2221,22221...于是直接输出就可以了. G题,全场最水的一道题.就是给定N个点,两个点之间有个某某概率为1/sqrt((x1-x2)^2+(y1-y2)^2+(z1-z2)^2+1),问最后一个点和前面所有点分别算这个概率,最大的一个概率是多少. 只需要把最后一个点和前面所有点的概率分别算出来然后找个最大的就行了...很可惜,因为是个人赛,所以没办法刚开始就看完所有题...基本上每个人都是最后才做出这道题的.还有很多看错题,求了所有点对之间的...那些人很悲剧... 然后是两道不可做题. H题,要求求出一个序列{a_n},满足sigma(i=1~n)a_i=x,sigma(i=1~n)a_i^p=y,而且sigma(i=1~n)a_i^q尽量小.输出这个最小值. 数论题,我是直接放掉了... G题,给一个有向无环图,给四个点abcd,四个点的编号都不同,从a到c和从b到d可以找到一对不相交路径(就是没有公共点),问这样的路径对有多少种. 这道题写了个暴力交上去,然后眼睁睁的看着前面的judge拿我的程序跑,大概在第三个点TLE了...然后给我return了一个TLE...于是就再也没想出来... 大概就是这样,题还是很水的了.最后排在所有人的第13名,比笔试退后了两名...不过据说这次又会有N多人晋级面试,唉...