05 2009 档案
摘要:今天准女友关了一天的手机,不知道她怎么了,万一出事怎么办呀,为了减轻思念之苦,只好再次ac求数列:1,1+2,1+2+3,…,1+2+3+…+n,…的前n项之和an=(n^2+n)/2Sn=∑n^2/2+∑n/2这是道公式题呀,可是他做wa,我做超时,哎郁闷!我用上面公式做的,他用下面公式做的n(1+n)(2+n)/6
阅读全文
摘要:这是从我sinablog转过来的,这些都是用手机写的,我把所有我的program's life写在这里,留作纪念在辽科大ACM之前我现在在公交车上,去辽科大还要倒一下车,这个比赛是我第一次去辽科大时知道的,从那以后热爱上了它。刚才在床上躺着,心情却很激动。在钢躺下时突然想到一道题,马上起来把程序抄在书上。之后准备了水,书还有程序清单。我的辽科大ACM之旅开始了。我的辽科大ACM之旅2刚才那辆车我早...
阅读全文
摘要:今天打开鞍山师范学院的网站,第一条新闻就是“数学系学生代表队荣获第二届ACM/ICPC辽宁省竞赛三等奖”,学校是占我的光了,从注册到比赛,都是我一个人弄的,acm的苦与甜也只有我最明白。 学校认为占光了,我可不那么认为,这个奖其实什么也不算,对于我来说,acm的内在的东西才是最珍贵的,哎,世俗的人不会理解我们有理想、为了喜欢的东西不顾一切的人的。 还什么数学代表队,我们队有...
阅读全文
摘要:请问有哪些可以使用的输入输出方法?答:使用C语言的选手可以使用printf, scanf, getchar和fgets。需要注意的是gets函数由于其危险性已被禁用,在需要整行读取时应用fgets函数。参考代码片段: char s[101]; fgets(s,100, stdin); 注意,当该行用回车符结束时,回车符也将存入s字符数组中。 使用C++语言的选手还可以使用cin和cout。 如何使...
阅读全文
摘要:第一次知道acm的时候,是我去辽宁科技大学找老乡时看到的,那天我们聚会后,辽科大的老乡都有事,我就自己去计算机院看看,里面有个大牌子,上面是acm的介绍,还有别的(机器人比赛,还有机械、电子方面的)很多的比赛,从那时起我便与acm结下了不解之缘。我们学校太差,幸亏我去了趟辽科大,要不然我都不知道acm,所以人所处的环境很重要。 从那时起,我便搜集acm的资料,我们学校太落后,大一下学期才开c语言,...
阅读全文
摘要:这是我在hdoj看到最难的并查集的题,k表示当前方块的四个方向 k=0,1,2,3分别是右,下,上,左。0,1表示有连和无连。用temp记录周围的方块。
阅读全文
摘要:其实只要把它化解为取(N堆)石子问题的博弈就可以在十分钟之内解出来把每行黑白棋位的差看成是一堆石子,这样就根本不用去分析下一步怎么走了用取(N堆)石子博弈的XOR算法套上便可得解[代码]
阅读全文
摘要:题目大意:有N堆石头,每堆石头数目在1到100之间,最多有10堆.两人分别取走石头.取石头的规则是:每次只能从1堆中取,每次取走至少1个.取过后还可以把这堆的石头任意分配到其它堆上(这些堆必须有石头,废话呵呵),当然也可以不分配.问给定这些石头堆的情况,两人轮流取,谁先取完谁胜利,问是先取的胜利还是后取的胜利.双方最优策略.我就直接说结论了:首先讨论石头堆两堆两堆相等的情况,例如x,x,y,y,z...
阅读全文
摘要:i是增量,每一个数n都可以表示成0+n……(1),和n个1相加……(2)先看n=3,c1[0] = c1[1] = c2[2] = c2[3] = 1 ,他们表示n个1相加, c1[0]表示0和n相加都等于n只有一种情况i=2,j=0,k=0,c2[0] = 1,0只有一种情况,就是0本身 j=0,k=2,c2[2] = 1,//0+n …...
阅读全文
摘要:取石子问题有一种很有意思的游戏,就是有物体若干堆,可以是火柴棍或是围棋子等等均可。两个人轮流从堆中取物体若干,规定最后取光物体者取胜。这是我国民间很古老的一个游戏,别看这游戏极其简单,却蕴含着深刻的数学原理。下面我们来分析一下要如何才能够取胜。(一)巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。 显然,如果n=m+1,...
阅读全文
摘要:例题:HDOJ 1792 A New Change Problem题意:给定A和B,A和B互质,求最大不能组合数,和不能组合数的个数。基础知识:Gcd(A, B) = 1 → Lcm(A, B) = AB剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成任何数分成m个剩余类,分别为 mk,mk+1,mk+2,……,mk+(m-1)分别记为{0(m...
阅读全文
摘要:hdoj有很多这样的题,寒假时做得很多。http://baike.baidu.com/view/668994.htm
阅读全文
摘要:在任意三角形ABC中,D,E,F分别边BC,CA,AB上的点,O是任意三角形ABC的外心,令OD=x,OE=y,OF=z那么,这个三角行恒等式1/(R+x)+1/(R+y)+1/(R+z)=2/R(R为圆半径)海伦公式http://baike.baidu.com/view/1279.htm
阅读全文
摘要:我用数组做的,是最容易想到的那种,松做得比我好,我写下思路:i代表门,j代表趟数,如果i%j,执行一次对i门的操作,k%2,操作次数为奇数时,门就是打开的,输出时加一,是第一个门,因为i最初循环初始值是2.
阅读全文
摘要:S(n+1)=S(n) + 6*n;或S(n)=3*n*(n-1)+2;http://blog.sina.com.cn/s/blog_49be662301000722.htmlhttp://www.blogms.com/StBlogPageMain/Efp_BlogLogKan.aspx?cBlogLog=1000287420
阅读全文
摘要:这道题的解法很多,母函数,dp,暴力都可以。假设法....先假设全部买150块的.也就是i,然后看看剩下多少个50块,也就是j比如200块,i=1,j=1;如果250块,i=1,j=2;i = k / 100 //所有的钱都买150元的能买i个j = (k / 50) % 3 // 由于三个五十元能买一个150元的物品,j为还剩下多少个50元if(i > j) cout << k...
阅读全文
摘要:比如说现在有3个括号相乘,形如()*()*(),现在前两个括号已经乘好了,那么C1[ ]放的是前两个括号乘好后的结果,然后把算好的结果再放到一个括号里再和第三个括号乘,这时乘的结果暂时放在C2[ ]数组里,等这趟运算结束后再把结果给了C1[ ]……所以当乘法做完后,C1[ ]放的是最终的结果,而C2[ ]只是起暂时存放的作用;这是因为C1[ ]不能同时放上次和当前运算完的结...
阅读全文
摘要:数论中的同余问题“a,b关于模m同余”是等价关系,记作a=b(mod m)若a1=a2(mod m),且b1=b2(mod m),则a1+b1=a2+b2(mod m)若a1=a2(mod m),且b1=b2(mod m),则a1*b1=a2*b2(mod m)同余式性质应用非常广泛,在处理某些整除性、进位制、对整数分类、解不定方程等方面的问题中有着不可替代的功能,与之密切...
阅读全文
摘要:http://icpc.baylor.edu中国: 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 华中科技大学(HUST):http://acm.hust.edu.cn/Judge/ 浙江大学(ZJU):http://acm.zju.edu.cn/ 杭州电子科技大学(HDU):http://acm.hziee.edu.cn/ 吉林大学(JLU):http...
阅读全文
摘要://思路:把所有糖果分成两堆,一堆是数目最多的一种糖果max,另外一堆是剩下的所有糖果之和r。//如果 max > r+1 则表示不能按题目要求把糖果吃完。[代码]
阅读全文
摘要:AttemptKeep on attempting! 尝试,尝试,再尝试!BraveryNever lose heart, be sure you are brave enough to face failure!勇敢地跨过失败,成功就在前方。CooperationIt is teamwork, you are not alone. 我们是作为一个团队一起努力的。DiligenceWorking ...
阅读全文
摘要:假设 n*(n+1)*(n+2)/6 = m * 10^n 科学计数法,这里m是一个小于10的正实数 则 log(n*(n+1)*(n+2)/6 ) == log(m) + n 令 log(n*(n+1)*(n+2)/6 ) - [(n*(n+1)*(n+2)/6 )] = a 则 m ==10^a n ==[(n*(n+1)*(n+2)/6 )] (取整)
阅读全文
摘要:方法一:先考虑两位数ab*ab=(a*10+b)*(a*10+b)=a*a*100+2*a*b*10+b*b,其各位数字之和等于a*a+2*a*b+b*b各位数字之和=(a+b)*(a+b),若a+b还是二位数,则继续按二位数分解下去,直到所得结果为个位数为止。同理三位数abc*abc=(a+b+c)*(a+b+c),四位数,五位数等等同样成立。方法二:找是否有规律,比如说:周期。此题周期为18,...
阅读全文
摘要:求两个正整数的最小公倍数有很多种算法,其中最常见的一种就是令max等于a,b中较大的一个,然后判断max能否同时整除a,b,若max能同时整除a,b则max为a,b的最小公倍数,若不能整除则将max加一接着再判断能否同时整除a,b,这样一直循环直到max能同时整除a,b为止。这种方法的优点是容易理解,很容易就想到这么做了,缺点就是效率不高,时间复杂度比较高。而下面这种方法相对来说时间复杂度就要低很...
阅读全文
摘要:其实这个题目我们关注的是F(n)能不能被3整除的问题,所以会跟1005有点像,题目我们可以根据最终的目的稍微修改下的,我们要看的就是F(n)%3是否等于零的问题。我们接下来关注一下这个序列,F(n)如下:F(0):7,F(1):11,F(2):18,F(3):29,F(4):47,F(5):76,F(6):123,F(7):199,F(8):322....然后我们关注一下这个序列:G(n) = F...
阅读全文
摘要:题目分析:本题因为有颜色,和每种颜色的个数,两个对应的值,所以马上想到了map数据结构。将map的值对应为每种颜色气球的个数,map的键对应为气球的颜色,如此每读入一个气球,就对相对应的键值自增1,最后利用冒泡法选出最大的键值,作为输出。实现代码:[代码]讨论:如代码中注释所示,此题在对输入结束判断时的出错(判断不规范)导致了4次TLE,而且也知道了,当次结果可以当次输出,不必如Sample Ou...
阅读全文
摘要:细细看下题目中的条件要求:1 <= n <= 100,000,000,你就应该明白本题绝不是简单的递归就可以解决的,上述代码的答案是TLE.(后来加):其实看到题目中出现求余运算,我就应该很快的反应过来,这道题目绝对不是简单的递归运算就可以解决问题的,因为求余运算会有一定的重复,所以,本题中的数据一定会出现重复,从重复中找到规律,问题就可以解决了。其实解决本题的方法是找出规律,当f1,...
阅读全文
摘要:这是DP的经典之一,欲求出一个最优的结果,但不暴力地去枚举。如一个序列:6,-1,5,4,-7 求它的连续最大段就是:6 + (-1) + 5 + 4 = 14.用DP的方法只要一重的循环就可以把这道题搞定:每一次的计算对前一次结果不会有影响,这是DP的特点。这样之要从第一个开始计算,6 -1 5 4 -7 的最大值分别是 6 5 10 14 7如果计算过程中值出现小于零的情况那就将值归零。
阅读全文
摘要:#include <iomanip>cout << setiosflags(ios::fixed) << setprecision(2) << m << "%" << endl;
阅读全文
摘要:出几组数据就可以猜到a*b-a-b,不过这里还是证明一下吧。 设所求为n,那么n+a、n+b可以用a、b线性表出,而n不可。 所以 n+a=x1*a+y1*b,n+b=x2*a+y2*b 所以 n=(x1-1)*a+y1*b n=x2*a+(y2-1)*b 因为n不能被线性表出,所以x1=0,y2=0 所以 n+a=y1*b,n+b=x2*a 所以 n+a=y1*b,n+a=(x2+1)*a-b ...
阅读全文
摘要:今天早晨很早就醒了,打开电脑,想看看算法,因为昨天的热身赛对我的打击很大,看到算法又很郁闷,脑子很乱,在网上找个网友,他说比赛时帮我,我很感谢他。后来有火箭的比赛了,于是开始看比赛,看到半场时,我想吃饭了,因为快比赛了,可是杰和我接触不是很深,不了解我,我有些不高兴,同学说:acm对你很重要,他并不在乎,所以才这样。12:00是那么的匆忙,幸亏老师帮我们把二教五楼的机房给我们用,而且耽误不是很长时...
阅读全文
摘要:昨天的熱身賽沒想到會是這樣,大家在一起一點配合都沒有,我甚至不想和他們組隊了,本來想讓他們給我翻譯的,但是他們理解題意還不如我查字典快,他們的算法更不用說了,雖然我也不咋地。就做了一個小時,他們就都走了,我也回宿舍了,在網上遇到月,我問他ac機題了,他說三題,我說我都做不出,他說都是pku上面的,後來我找到了,也不是看太懂,我現在對自己的初賽沒有什麽信心了。後來吃了飯,陪lulu溜了溜,她爲什麽總...
阅读全文
摘要:我现在是逃课来弄的,看到杰在线,我说:你来我宿舍一下。他过来了,我把东北大学的oj给他看,还有东大acm的官方网站。但是注册学校没有我们学校,杰说:老师给那边打电话了,一会儿就有了,我不停的刷新,同时也给杰看acm资料。后来终于注册成功了。http://ssdut.dlut.edu.cn/news/show.php?id=3678http://innov.neu.edu.cn/acmsignin/...
阅读全文
摘要:昨天下午我还在上课时,杰给我发短信,问我:现在有个程序设计大赛你知道吗?我回:比赛叫什么名字,是在网上看到的吗?杰说:是大学生程序设计大赛,这次在我们系里就可以报名,费用系里给出,你有兴趣吗?我估计比赛就是acm了,我确定一下,回:当然,是个人赛还是组队赛?杰说:三人一组,系里和我同学说的,我们班现在有一个女生想参加,她叫我,还差一个人,如果可以,和我们组。我说:没问题,把我报上吧。杰说:那个主要...
阅读全文
摘要:ACM/ICPC中国·辽宁省第二届大学生程序设计竞赛将于2009年5月17日在东北大学举行,现将有关事宜通知如下:一、竞赛目的培养大学生的创新思维和利用计算机分析问题、解决实际问题能力,造就大学生的综合素质,同时也是为了促进校际交流,提高全省高校计算机应用水平,锻炼出一批优秀的队伍,在ACM国际大学生程序设计竞赛中展现我省大学生的精神风采。二、组织领导本届竞赛的组织、命题、评审与宣传工作...
阅读全文