Educational Codeforces Round 9
Educational Codeforces Round 9
Longest Subsequence
题目描述:给出一个序列,从中抽出若干个数,使它们的公倍数小于等于\(m\),问最多能抽出多少个数,并输出方案与公倍数。
solution
枚举每一个数,将它的倍数的答案加一,最大值就是答案。
时间复杂度:\(O(nlogn)\)
Thief in a Shop
题目描述:给出\(n\)中物品与它们的价值,每种物品都有无限个,问从中拿出\(m\)个,价值有可能是什么,输出所有的价值。
solution
快速幂+FFT
要注意的是这里只是判断是否有这一价值,所以每一次要把大于零的位置改为一,否则会爆long long
每一次FFT时取当前的最大长度,这样可以减少一个\(logn\)的复杂度。
我终于都看到FFT的龟速。
时间复杂度:\(O(10^3mlogm)\)