洛谷 SP3591 题解
2022年7月9日 18:57
本题双倍经验,同主题库P2926
思路
又是一道桶的题。
首先暴力,对于 ,复杂度 ,显然超时。
考虑优化。
看题面,不难想到用桶记录每个数字的出现次数,只需要遍历数组找到比 小的数即可。
但是这样仍然超时,继续优化。发现遍历数组时没必要全遍历一边,只需要遍历到 即可。
注意以下几点:
对于完全平方数, 会计算两遍,此时答案数减一;
奶牛会拍到自己的头,答案数还需要减一。
然后就可以看见一篇绿色了。
代码
1 | |
本题双倍经验,同主题库P2926
又是一道桶的题。
首先暴力,对于 ,复杂度 ,显然超时。
考虑优化。
看题面,不难想到用桶记录每个数字的出现次数,只需要遍历数组找到比 小的数即可。
但是这样仍然超时,继续优化。发现遍历数组时没必要全遍历一边,只需要遍历到 即可。
注意以下几点:
对于完全平方数, 会计算两遍,此时答案数减一;
奶牛会拍到自己的头,答案数还需要减一。
然后就可以看见一篇绿色了。
1 | |