2016-5-22模拟测试
2016-05-22 21:45
302 查看
T1
description
你有一个\(n \times m(n,m\leqslant 50)\)的网格,每个格子一开始没有颜色,每次你可以选择一行或者一列将它们一起涂成一种颜色,并且会覆盖掉已有的颜色。现在给出一种局面,问至少需要多少步将这个\(n \times m\)的网格涂成这这个样子或者不可能涂成这个样子
solution
显然答案不超过\(n+m-1\),这就意味着必然有一行一列不涂,不妨枚举这是这一行是哪一行,然后就可以确定出每行每列应该涂什么,再根据每个格子的颜色建一张图来表示行和列之前染色的先后关系,从而判断是否合法。
notice
写完之后发现在各种莫名其妙的地方RE,第二天看了一下发现是tot没有清零。
T2
description
国家A的城市和它们之间的通道构成了一棵树,首都在树根,每个城市有一定的卫兵,国家B准备侵略国家A,并先占领了A的所有的叶子节点(即叶子节点没有卫兵),每个被占领的城市从被占领的下一秒开始都会产生一个B国士兵,B国的士兵造出来以后每一秒都会向首都方向移动一个单位距离,每到一个城市都会使那个城市的卫兵数量-1,当卫兵数量为0时城市被占领,士兵到达首都后认为它消失了。求A国被占领的时刻。
solution
维护每个城市的兵第一次到达首都的时间,这样便可以方便地进行二分。
处理一个点的时候需要合并子树信息,用线段树合并复杂度仅为\(O(n\log maxval)\),splay启发式是\(O(n\log n)\),treap的启发式合并虽然是\(O(n\log^2 n)\),但实际效率也不错。
T3
判断性别什么的神题,不明觉厉。
description
你有一个\(n \times m(n,m\leqslant 50)\)的网格,每个格子一开始没有颜色,每次你可以选择一行或者一列将它们一起涂成一种颜色,并且会覆盖掉已有的颜色。现在给出一种局面,问至少需要多少步将这个\(n \times m\)的网格涂成这这个样子或者不可能涂成这个样子
solution
显然答案不超过\(n+m-1\),这就意味着必然有一行一列不涂,不妨枚举这是这一行是哪一行,然后就可以确定出每行每列应该涂什么,再根据每个格子的颜色建一张图来表示行和列之前染色的先后关系,从而判断是否合法。
notice
写完之后发现在各种莫名其妙的地方RE,第二天看了一下发现是tot没有清零。
T2
description
国家A的城市和它们之间的通道构成了一棵树,首都在树根,每个城市有一定的卫兵,国家B准备侵略国家A,并先占领了A的所有的叶子节点(即叶子节点没有卫兵),每个被占领的城市从被占领的下一秒开始都会产生一个B国士兵,B国的士兵造出来以后每一秒都会向首都方向移动一个单位距离,每到一个城市都会使那个城市的卫兵数量-1,当卫兵数量为0时城市被占领,士兵到达首都后认为它消失了。求A国被占领的时刻。
solution
维护每个城市的兵第一次到达首都的时间,这样便可以方便地进行二分。
处理一个点的时候需要合并子树信息,用线段树合并复杂度仅为\(O(n\log maxval)\),splay启发式是\(O(n\log n)\),treap的启发式合并虽然是\(O(n\log^2 n)\),但实际效率也不错。
T3
判断性别什么的神题,不明觉厉。
相关文章推荐
- springMVC(12)------表单标签的使用
- 数据库设计备份还原(一)
- Redis主备同步
- 插入算法——思想上移 行动下移
- error: `cout' was not declared in this scope
- javascript语法之String对象
- javascript语法之String对象
- 【JavaScript】jQuery+ajax传递json数组(局部响应处理)
- 查找-算法总结
- 分享一个 org.w3c.dom XML 封装
- 用 Graphviz 可视化函数调用
- 数据持久层
- centos7的一点笔记
- 在eclipse上配置maven
- POJ 1005 I Think I Need a Houseboat GCC编译
- Bulb Switcher
- NYoj_104最大和
- 排序-算法总结
- spark 测试题
- NYoj_104最大和