Codeforces Round #378 (Div. 2)

A:

思路:

水题,没啥意思;

 

B:

思路:

暴力,也没啥意思;

 

C:

思路:

思维,可以发现从前往后和为b[i]的分成一块,然后这一块里面如果都相同就没法开始吃,然后再暴力找到那个最大的且能一开始就开吃的那个怪物,然后就开始吃就好了;

话说那个医生居然等怪物吃完了才开始治疗,啧啧啧;

 

D:

思路:

mp+pair,把长方体的这些面用mp存起来,下次用的时候找一下就好了;

 

E:

思路:

前缀和,可以发现每次在U的位置上时相当于把右边的最近的D和左边最近的U交换位置,然后就可以用前缀和算答案了;

 

F:

思路:

最小生成树+倍增lca求瓶颈路;贪心发现,最优情况是在一条边上使用s,求完最小生成树后枚举边,然后转换化有根树,如果在最小生成树上,求最优解,如果不在,那么必然会形成环,然后就是像求lca那样求这两点之间权值最大的边了;复杂度O(m*logn);

代码地址:这儿

posted @ 2016-11-03 15:36  LittlePointer  阅读(136)  评论(0编辑  收藏  举报