-
T1
- description
你有一个(n imes m(n,mleqslant 50))的网格,每个格子一开始没有颜色,每次你可以选择一行或者一列将它们一起涂成一种颜色,并且会覆盖掉已有的颜色。现在给出一种局面,问至少需要多少步将这个(n imes m)的网格涂成这这个样子或者不可能涂成这个样子 - solution
显然答案不超过(n+m-1),这就意味着必然有一行一列不涂,不妨枚举这是这一行是哪一行,然后就可以确定出每行每列应该涂什么,再根据每个格子的颜色建一张图来表示行和列之前染色的先后关系,从而判断是否合法。 - notice
写完之后发现在各种莫名其妙的地方RE,第二天看了一下发现是tot没有清零。
- description
-
T2
- description
国家A的城市和它们之间的通道构成了一棵树,首都在树根,每个城市有一定的卫兵,国家B准备侵略国家A,并先占领了A的所有的叶子节点(即叶子节点没有卫兵),每个被占领的城市从被占领的下一秒开始都会产生一个B国士兵,B国的士兵造出来以后每一秒都会向首都方向移动一个单位距离,每到一个城市都会使那个城市的卫兵数量-1,当卫兵数量为0时城市被占领,士兵到达首都后认为它消失了。求A国被占领的时刻。 - solution
维护每个城市的兵第一次到达首都的时间,这样便可以方便地进行二分。
处理一个点的时候需要合并子树信息,用线段树合并复杂度仅为(O(nlog maxval)),splay启发式是(O(nlog n)),treap的启发式合并虽然是(O(nlog^2 n)),但实际效率也不错。
- description
-
T3
判断性别什么的神题,不明觉厉。