用户工具

站点工具


2020-2021:teams:farmer_john:bazoka13:codeforces_666_div1

目录

A

  • 题意:给你一个序列,每次选择一个子区间,对区间元素加上区间长度的任意倍,操作三次使得序列所有元素一致,输出方案
  • 题解:可以将前n-1个加到n的倍数,之后最后一个变成0,然后所有再刷一遍即可

B

  • 题意:n堆石子,轮流取一个,不能去上一个刚被取过的堆,判断赢家
  • 题解:找出最大的那一堆,如果大于其他所有的和,先手必胜,否则减去其他所有的和,偶数则输,奇数则胜

C

  • 题意:n个关卡,每关有$a_i$个1血小怪和一个2血boss,如果一枪没有打死boss必须移动到一个相邻的关卡,有三种枪,一种一次打一个一血,一种群体打一血,一种直接秒杀一个,三种的费用非严格递增,同时移动需要$d$的费用,最小化消灭所有怪物的费用
  • 很明显每关最多两次可以通关,并且可以考虑调换返回上一关的顺序,我们就可以发现每关的选择有打到1血/0血,跳回上一关干掉boss或者去下一关,那么这个跳的过程就可以用二维的dp来解决,但是这种dp是肯定最后会停在最后一关,因此需要再处理一个后缀和遍历每一关和答案取$\min$
2020-2021/teams/farmer_john/bazoka13/codeforces_666_div1.txt · 最后更改: 2020/09/04 16:34 由 bazoka13