- T1:
AC100pts
送分来了好吧
首先简单的处理一下大小写,把字符串和A,B的大小写统一致敬秦始皇(doge
然后再把A,B统一(就是说把A都换成B或者,B都换成A,都一样)
对了,还要来一个大小26的vis数组,统计有几个不同的字符(个人认为最简便
然后把字符串的len和cnt相乘,那AC不就来了么?
- T2:
AC100pts
轻轻松松一遍过
先给数组排个序,然后再给它来一层循环,遍历左边删多少数字(0~k),求最小值,输出,AC!
备注:因为排序了,而多删永远不会比少删坏,所以就当是删掉k个就行了。
- T3:
TLE60pts
理论上我应该能A,实际上没有
大概说一下我的思路:
预先设一个vis(接过球的球员就不能再接球了,因为那样会死循环),ans
朴实无华的Dfs,每次dfs先把ans和这次直接射门所花的时间取min
然后再遍历除目前运球球员以外的所有球员,continue掉vis[i]==1的球员,再遍历所有足球流氓,并判断是否三点共线,如果共线了就跳过这个流氓,否则就break(这层小循环),并标记为成功,然后进行下一层dfs
备注:
Q:为什么我不判断接球球员和球门的距离大于传球球员和球门的距离这种情况?
A:因为除了判断与球门的距离,还要判断传球这种情况。如果那个更远的接球球员恰好能把球传给一个和球门非常非常近的球员,而目前的传球球员因为足球流氓的原因无法传给那个人呢?这种情况也不能排除,所以不需要跳过。
提示:别忘了射门距离需要*2~
- T4:
TLE0pts
本来想骗一点分的,但是失败了
经过计算,这个函数的值=(n!)/(r!)
也就是(r+1)*……*n
最开始的思路是预先设一个阶乘数组,类似于sum,就是a[i]=i!%mod;
然后计算函数时,只需要计算a[n]/a[r+1]%mod;
想的挺好,但是挂的挺惨
一个样例打碎了我的AC梦,就是
1 1007
8 4
经过检查,这两个阶乘在计算前是不能%mod的,但是数据范围让我只能加上了mod
好吧,这个想法行不通
然后我就写了第二个想法,就是(r+1)*……*n的那个
开long long了,%mod了,TLE了
我觉得这个可能需要预先处理,但是我壮烈的没想出来
总结
这次考试本来我是想上300,争取T4拿到30分的,但是失败了
原因可能是我的基础知识不牢固,很多基础的题我都没写完
下一次考试我会加倍努力,争取实现目标,上300分!

