代码改变世界

Codeforces Round #278 (Div. 1)

2014-11-22 11:49  达利园大面包  阅读(163)  评论(0)    收藏  举报

A题果断写了100*100*100的暴搜,怪对数据太敏感,一看就是n^3.最后果断被hack

正解:o(100*200) 枚举买的防御和攻击 血可以算出来

B题果断裸暴力,方程dp[i]=min(dp[j]+1),正常人都懂得写,没优化,最后也被hack

正解:用两个堆预处理dp[i]能转移的范围[l,r],dp[l]到dp[r]是单调的所以这里有个优化,两个优化就可以ac了

C题早上起来写着写着才找到规律的,找到规律写个欧扩,记得用longlong就行了

正解:用样例来说吧

1 4 3 6 5 2 7

1 4 5 2 3 6 0

除了第一个和最后一个,上下和都是(n+1),即 mod*x%n+x = (n+1) ===> (mod+1)*x%n=1

所以除了4和1 其他合数都不满足上面的式子,记得4是特殊的

然后用exgcd求上面的式子就行了