E. Inna and Binary Logic
显然对于一次更新应该一位一位的来,对于第k位的改变,通过找规律可以发现,被更新的数字数量为(k前面有多少个连续的1 + 1) * (k后面有多少个连续的1 + 1) ,找到这个规律时候,直接开线段树或者用set维护连续是1的区间就好了。
这里我是用set写的,毕竟时间给的比较松,STL果然是方便啊。
#include
#include
#include
#include
#include
#include
#include
#include
D. Dima and Bacteria
先开一个并查集然后只把权值为0的边插进去统计同一种类的是否都在一个集合里面,如果不是的话直接No
然后因为同一种类型的细菌相互之间转化肯定是0,因此加入所有的边,只要两边不属于同一种类就更新种类之间的转换关系即可。
快速判断一个点属于哪一类可以先对c数组求前缀和,然后进行二分查找即可。
最后做一遍Folyd直接输出矩阵即可
#include
#include
#include
#include
#include
#include
#include
#include
C. Inna and Huge Candy Matrix
本质上之后两种变化,一种是转置,一种是水平翻转。知道了之后随便搞一下就好了
#include
#include
#include
#include
#include
#include
#include
#include
B. Inna and New Matrix of Candies
水题,统计一下有几个不同的距离,有负数直接输出不行
#include
#include
#include
#include
#include
#include
#include
#include
A. 随便模拟一下就好
#include
#include
#include
#include
#include
#include
#include
#include