http://codeforces.com/contest/1061
哇,昨晚打的cf终于又上了一大波分,哇哈哈哈哈哈哈哈!!!
不过过程是真的有点难受,,最后30分钟已经放弃,想去hack的,然后发现没有找到hack点。。。
------------------------------------------------------------------------------------------------------------------------------
开局一个A还算是简单,虽然我也没细想,直接来了一发暴力,2分钟拿下A,这时还算开心
然后做B。。。B做了20分钟!!!!还WA+2!!!真的难过,B题是个小思维,不画画图还真不怎么好想,黑灯瞎火的在宿舍摸笔摸本子,,,停电真的太过分了!!!、好不容易找到解法,没注意到long long 。。。WA+2
然后做C,,哇!难受来了!!
打眼一看,先试暴力,要交的时候一琢磨,呀5e9,得超时,,,但是我仍旧义无反顾点了提交,然后,果然。TLE!!!
很难过,,,然后又看了一会C,感觉,不知道咋优化呀,然后赶紧转去看D,嗯,果然更复杂,也不咋会,,
继续回来看C。。终于想出了解法。。C题最终耗时一个半小时,然后看了两眼/D,还是觉得没啥想法,就放弃了,去hack,,,没有找到hack点,还发现别人的解法似乎更优,,,然后,关电脑睡觉!!心惊胆战,还饿了!!就怕挂终测,但是毕竟太晚,还是睡着了。
今早一睁眼,来看看cf,,吼吼吼吼竟然没有挂终测!!!幸福感爆棚!!!一晚上没白费!!!23333333
*******************************************************************************************
A题,Coins
从大到小暴力除,取余也可以,但是其实直接/n,%n!=0的时候加1就可以了。。。
,自己画画图,排个序,(m就相当于a[n]了)每一行每一列至少有一个,所以先把每一行的都放一个,ans=n,然后遍历列,k是从低的行遍历到高的行,如果当前列能达到k高度,直接将原初放的那块,移到当前高度位置,不然,随便放就可以,自己画图想想,不难,
简单dp题,公式是很好推的就是暴力超时呀,其实每次找的都是第i个数的不超过i的因子x,dp的s数组统计的是左边到当前位置长度为x的个数,所以当前位置截至的长度为x的个数就是左面长度为x-1的个数,这个很好推,那么对于第i个数,就不要直接O(a[i])的循环了,用O(sqrt(a[i])),找因子,然后因为是跟左面的有关,x-1对应的个数不能是当前位置更新过的,所以只需要用两个数记录一下就可以。