Codeforces 433 Div.2
A. Fraction
问最大的分子分母和为$n\leq 1000$的最简假分数
题解:暴力枚举分子,然后计算就好了
B. Maxim Buys an Apartment
有$n$个房子,其中$k$个有人了,如果一个房子相邻的房子有人,则称为好的房子,问好的房子最少有多少,最多有多少。
题解:首先特判一下$n=k$和$k=0$的情况,剩下的最小肯定是$1$,最大是$min(n-k,k*2)$,因为一幢有人的房子周围两个都是最优的,只要让这个不重叠就好了。
|
|
C. Planning
有$n$个航班本来起飞时间是$1,2,…n$,现在更改为起飞时间$k+1,k+2,…,n$,然后第$i$个航班的等待一分钟的代价是$c_i$,每个航班起飞时间不得早于之前的起飞时间,问最小代价。
题解:贪心。首先观察一下一个航班起飞时间为$t_i$,那么代价就是$(t_i-i)\times c_i$,展开后发现$-i\times c_i$是一个定值,那么只要最小化$t_i\times c_i$,那么如果没有限制就把$t_i,c_i$按$t_i$递减$c_i$递增就好了。但是考虑到限制,我们可以枚举当前时间然后用一个堆来维护,进行插入即可。
|
|
D. Jury Meeting
对于所有$1…n$的城市的人需要到$0$城市开$k$天的会之后再回去,给定一些第$d$天出发(同日到达),从$f_i$到0或者从$0$到$t_i$,然后价值$c_i$的航班,问所有人进行开会包括回去的最小代价。
题解:分开计算,贪心。计算过去的时候,按时间枚举然后考虑当前航班的加入对答案的影响,然后计算一下就好了。
|
|
E. Boredom
给定一个矩形,定义好的矩形是又恰好两个角被标记了,每次给定一个矩形,问与这个矩形至少有一点重叠的好的矩形有多少。
题解:主席树。
考虑好的不好算,可以算不好的,$n$个标记点会有$n\times (n-1)/2$个好的,那么只要考虑把所有的不好的都求出来用这个算一下就好了。
考虑优化,询问二维区间个数二维线段树可能会T,考虑用主席树来查询,运用前缀性质可以优化到log。
|
|