题意
div2 C (x)(o)
在一个平面上, 给一个水平的正方形和一个(45^。斜)的正方形
求是否相交(共点也算), 坐标正负(100)以内
div2 D (x)(o)
(A,B)两个人初始分别被给了一个数对, 其中有且仅有一个数相同(([1,9])下同)
接下来(A,B)分别展示(n,m)个数对((le 10)个),其中包含他们初始拿到的
现在你作为观察者
- 若能推出初始数对中相同的是哪个数, 输出他
- 若(A,B)两个人都能推出, 但你不知道, 输出(0)
- 若你不能判断, 输出(1)
div2 E (x)(x)
给一个平面, 在(x=100)和(x=-100)的上分别给定(n, m(le 60))个敌方飞船的纵坐标
你的飞船在(y轴(|y|le 1e4))上, 敌方飞船会在同一时刻向你的飞船发出射线,你一定可以躲开, 然后让射线打到对面的敌方飞船(不能躲).
你有(2)艘船, 只攻击一次,问最多击落几个敌方飞船?
div2 F (?)
题解
div2 C
在格点上覆盖, 肯定不会漏
水平正方形找出(x_{min}, x_{max}, y_{min}, y_{max})即可
斜的正方形找出水平对角线即可
div2 D
读懂题之后, 最暴力的模拟一边即可
分别扮演一下(A,B), 枚举初始数对, 看看能否推理
div2 E
- 某一排的敌方飞船能射击到的位置是关于我方飞船对称的位置
- 不难想到先枚举两排中各一个飞船, 他们的中点为一个我方飞船(至少确保一条射击路线有意义)
- 但是如果同样枚举第二队, 然后暴力处理被击中的有几个, 复杂度是(O(n^5))
- (考虑过用bitset?)
实际上可以在枚举第二对的时候用一点技巧:将枚举到的每一对贡献累积到中点坐标上, 同时维护max(只有没被第一轮击中才有贡献),加上第一轮贡献就是答案
div2 F
总结
比赛完全不知道在干什么, 两个半小时写了(A,B), (C,D)都没调出来
(B)题没想到一定要选自己
(C)题坐标写反
(D)题没来得及打完
不够细心, 不够冷静