20200328(ABC) 题解by 孙晨曦 徐光旭

A题 徐光旭

https://blog.csdn.net/xgx984826498/article/details/105167379

b题的做法就是模拟除法,直至余数为0或者余数出现过为止,(因为是分数,所以只有有限小数和无限循环小数) 孙晨曦

C题题解: 孙晨曦
考虑a[i]不是一个record,当且仅当a[1]到a[i-1]中的最大值M1 和次大值M2,
使得M1>a[i]>M2时,删掉M1可以让数列多一个record。
另外,如果删掉一个是record的数(即a[i]>M1>M2),就会让数列减去一个record。
所以可以从头到尾走一遍序列,维护当前扫过数列的最大值和次大值,用一个数组f[k]统计删掉k能增加或减少的record数。最后扫一遍f,找到第一个f[i]最大的位置就是答案。

猜你喜欢

转载自www.cnblogs.com/QLU-ACM/p/12672491.html