A. 平行四边形

Solution

平行四边形判定法则:有一组边平行且长度相等,注意要先检测有没有三点共线的存在。
三点共线可以用三点组成的三角形面积来计算,如果面积是 说明三点共线。
剩下的就是枚举 点了,我用了一个全排列暴力枚举。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47945777

B. 子序列

Solution

最优的方案是把 放在最前面或者把 放在最后面,对这两种情况进行检验即可。
如何求出 的子序列数字呢?其实每找到一个 都可以在前面所有 任取两个 ,所有只需要一直统计当前 的个数就可以了,注意极限数据会爆 ,应改用

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47945936

C. Rating

Solution

容易想到用当前最低分的号去打,不管 怎么样都是最优的,用一个优先队列维护最小值就可以了。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47945936

D. 最短路

Solution

显然不能对任意两个点建边,考虑分层图思路,如果一个点在二进制位置上为 ,那么与当前二进制位连上一条 的边,如此构造之下,可以实现 条件下 之间的距离是 ,剩下的就是

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=47948235