过去好几天了- -今天终于把第二题过了……唉……各种水- -rate居然还降了- -看来离1K5还是挺远的- -
比赛一开始就悲剧了- -手滑了,直接点开了600……不过最终600还是没有做出来- -也不存在神马损失- - 第一题题目看起来很像数学题,但是其实数据不大- -1000而已,直接n方的一个枚举就OK了……说起来还是挺简单的- -而且我10分钟的时候就想到争取的算法了……但是一直做了接近一个小时……250分最后就剩90多分了…… 最后还剩10分钟- -各种做不出来- - Cha的时候犹豫了一下,被别人Cha了一个看出来的错误代码- - 当时比赛评测系统出了点问题,很久没有评测,就睡了,第二天起来,题目算是AC了- - 看了下第二题,发现有点像DP,想了个DP的式子,写了一下,准备评测,发现没法评测 一直到今天,终于可以测试了,测了一下,发现WA了…… 想了一下算法,发现我的算法有问题,于是看牛人们的代码,发现问题所在,重新写,A了…… 这道题目让我最纠结的就是复杂度- - 看起来复杂度很高,指数级别的,而且有4^n这么高,感觉要超时,但是统计了一下发现n等于15的时候只循环了1kw次的样子- -于是推导了一下复杂度,得到一个很纠结的式子……
[]((http://www.dashashi.com/wp_uploads/2010/12/1.png)
用Matlab算了一下数值,发现增长是指数级别的,但是跟4^n相除之后发现相差不止一个常数,前后项除了一下,发现居然刚好相差3倍……更加纠结了……
后来在DIY群里面问了一下,核武说……这不是(1+2)^n吗……于是忽然明白了……
高中数学老师知道了一定会伤心的- -
话说这个复杂度很神奇- -第一次遇到
这种循环结构也是第一次遇到……
for(int j = (cur-1)&cur; j>0; j = (j-1)&cur)
果然做TC看别人代码的收获很大啊- -