Codeforces Round #568 (Div. 2)

A题:给出A,B,C,D,问ABC的最小值和最大值要向两边移动多少,能使ABC三者两两之间距离不大于D

B题:给出N对字符串,每对字符串,A串如果能对其中的单个字符进行复制而形成B串,则输出YES,否则NO

C题:给出N个数和M,每个数都不超过M,对第i个数,问在1到i这i个数中至少删掉多少个,能使剩下的数不超过M,(剩下的数中必须包括第i个数),对每个数输出其最小删去值

D题:给出N个数,问能否删掉一个数,剩下的数能成等差数列
题解:N小于等于3直接OK,否则先排序,然后特判前三个,不成等差就表示如果能删就肯定是在前三个里删,就利用第四个找出答案,最后再扫后面是否还有不成等差的,如果前三个已经不成等差,后面又有不成等差就NO,如果前三个成等差而后面仅出现了一次不成等差,K掉那个数就可以了,否则还是NO

E题:给出NXM的地图,里面有26个小写字母和.,现在假设一开始全是.,然后画至多26条直线(水平或垂直),第一条用a填充,第二条用b填充……后画的会覆盖前画的,问是否能画出图中的图案
题解:水题,就判26次,对每个字母看是否在一条直线上,不是就NO,是就填充并记录首末点,最后再判一次与原图是否相符,完

F题:给出N个人,M个集合,每个人都有若干个喜欢的数字,每个集合都有其费用和若干个包含的数字,现在选出两个以获得其中的数字,以获得最大的幸福值,一个人如果他喜欢的数字被所选的两个集合包含则他会提供一个幸福值,输出所选的集合编号(相同幸福值下选价值小的)

G题:给出N首歌和总时间T,每首歌有长度L与种类K,现要从N首歌中抽出若干首排列,要求排列的歌的总长度刚好是T,且没有重复的歌且相邻的歌不同种类,问满足条件的排列方案数

你可能感兴趣的:(算法训练)