Codeforces第一次rated比赛

比赛是0:05开始的,所以10点左右睡觉了,定了3个11点多的闹钟,结果并没能喊醒我。一觉醒来比赛已经开始了。

首先A题是说,给定两个数,要求这两个数的阶乘的最小公约数,很显然,这里最小公约数就是较小的数的公约数,并且题目也说了两个数的最小值小于等于12,所以放心大胆地写出一个递归。

其次B题是说,给定两个字符串,第一个字符串短一些,第二个字符串长一些。要求在第一个字符串的基础上对进行一些修改,使得第一个字符串能成为第二个字符串的子串。求出最少的修改次数以及修改方案。这里我的想法是把第一个字符串整体与第二个字符串从头到尾比较一遍。

如上图所示,在每次比较的时候,找出a与b不同的字符数目,找出最小的差异数。

在比赛时,我用了一个名为add的数组来记录需要修改的位置,n_ptr记录需要修改的次数。

由于在比赛的时候输出方式为add[0]单独输出,add[1]至add[n]在for循环里面输出,没有考虑到在n_ptr为0的时候,不可以输出a[0],因此有一次失败的提交。

C题在我电脑上写了一个方案但是好像处理不了那么大的数据,但是我今天看了一下别人的方案,跟我的似乎是一样的,可能是因为昨晚急着吃泡面所以早早放弃了C题吧。

原文地址:https://www.cnblogs.com/NJUWZ/p/7109462.html