摘要: 大概就是在大学刚入学的第一学期就从一些表现积极和高中参加过信息学竞赛的同学口中得知了有ACM这个竞赛。而真正第一次接触应该算是参加2011年的新生赛吧,具体时间应该是3月初左右,当时报着大学计算机四年不能因为没参见过ACM竞赛而遗憾参加了,没想到现在成为了ACMer中的菜鸟之一。 快一年了,我刷题的数目可谓少之又少,现在回想起来,自己都感觉不到有任何的进步。看了一篇大牛的文章,觉得有很多点都是说中了自己的要害。 废话不多说,直接说对策:1、平时在学校基本没怎么学,学的效率也很低,现在差不多都忘了。【急需一个总结】2、喜欢刷水题,或者是偏爱代码简单的题【要做有代表性的题,写代码的时候不要... 阅读全文
posted @ 2012-01-20 19:43 celia01 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 原文出自:http://hi.baidu.com/zfy0701/blog/item/351796ec205eaad92f2e21b8.html以下内容仅在自己认为有针对性的文字做了加蓝处理,对于文字内容、大小、字体等未做任何修改。本来以为HNU的huicpc035和我一样退役了,后来听说他组成了新的footman队,于是又关注了下他。035体现了两个我觉得非常重要的品质:1、刻苦的训练2、有效的训练(本文将主要讨论个人训练,不讨论团队合作)而这些品质对于我们弱校ACMer选手水平的提高我觉得很重要。(注意:仅限于我们ACM-ICPC的弱校,即最多只能闱空 难 # 灰 桓哦 郏?br> 阅读全文
posted @ 2012-01-20 19:17 celia01 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 原文出处:http://www.cnblogs.com/zhjp11/archive/2010/02/26/1674227.html 今天看算法分析是,看到一个这样的问题,就是在一堆数据中查找到第k个大的值。 名称是:设计一组N个数,确定其中第k个最大值,这是一个选择问题,当然,解决这个问题的方法很多,本人在网上搜索了一番,查找到以下的方式,决定很好,推荐给大家。 所谓“第(前)k大数问题”指的是在长度为n(n>=k)的乱序数组中S找出从大到小顺序的第(前)k个数的问题。 解法1: 我们可以对这个乱序数组按照从大到小先行排序,然后取出前k大,总的时间复杂度为O(n*logn + k... 阅读全文
posted @ 2011-11-15 21:54 celia01 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 上次做poj 1067的取石子游戏,只用到了whthoff博弈,未涉及到取石子的异或方法,今天重新搜索,整理了一遍。搜罗各种资料,加上自己整理,终于成篇啦!……噼里啪啦取石子问题有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。显然,如果n=m+1,那么由于一次最多只能取m个,所以, 阅读全文
posted @ 2011-11-15 21:36 celia01 阅读(9093) 评论(2) 推荐(9) 编辑
摘要: 题意:有a、b、c三个人同时工作,三个人做不同的任务需要不同的时间,但最后要求三个人做事情的总时间相同,输出做完所有任务需要的最少时间,如果无法达到三个人总工作时间相同,则输出“No”当时一股脑筋觉着是最大流或者其他图论的东西,然后也往dp上想过,就连状态表示都没想出来。后来借鉴了一下大牛们的做法,标准做法应该是bfs所有可能情况,然后再一一帅选。这个bfs好久没写过了,暂时就没写。还有一种特别巧妙的方法:#include#include#include#includeusing namespace std;#define maxn 250 //maxn设为250是保证250>=120* 阅读全文
posted @ 2011-11-15 21:28 celia01 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 又是一次初始化惹的货!!!超级水的贪心。。。害的我以为思路错误~~ ~#include#include#include#include#include#include#includeusing namespace std;struct Sub{ int dl, rs;}sub[1005];int flag[1005];bool cmp(Sub a, Sub b){ if(a.dl!=b.dl) return a.dlb.rs;}int main(){ int t, n, i, j, k, l, m, ans; scanf("%d",&t); while(t--){. 阅读全文
posted @ 2011-08-16 01:06 celia01 阅读(135) 评论(0) 推荐(0) 编辑