Codeforces Global Round 3

我凉了。。感觉自己啥都不会做,搞不好起床就绿了啊

代码和反思起床补,今天要反了个大思的

A. Another One Bites The Dust

把所有的ab排在一起然后两边叉a和b

B. Born This Way

题意:有n个从A到B的航班,m个从B到C的航班,要你删除k个使得到达C的最晚,求最晚时间

思路:删除的方式一定是前i个从A到B的,和k-i个最早从A到B之后能乘坐的B到C的航班。由于对于每个i,这个方案是惟一的,枚举即可。

C. Crazy Diamond

题意:给你一个1-n的排列,每次选择两个位置i,j交换位置上的值,且满足2*|i-j|>=n,让你输出具体方案,使得operation不超过5n。

思路:根据限制条件,发现位置1和n合起来可以调动整个数组,而n/2和n/2+1位置只能分别和n和1交换,所以可以从中间开始向两边分别填充,操作不超过3n

D. Dirty Deeds Done Dirt Cheap

题意:给你n个pair,让你取出其中一些排列,使得他们排成一行的数x1>x2<x3>x4<x5...或x1<x2>x3<x4>x5...,问这样排列最长的方案

思路:我好弱智啊。。对于pair内不等号方向相同的分别考虑,比如在每个pair都是x<y的时候,对ans中两个相邻的pair,都有x1<y1>x2<y2。因为y1>x1,所以我们让x1>x2就可以满足y1>x2,所以对该类所有pair排序即可,答案为倒序输出。。。同样地,对x>y的时候只需要排序后正序输出。。把这两种size大的输出即可

猜你喜欢

转载自www.cnblogs.com/wrjlinkkkkkk/p/10961749.html
今日推荐