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))

原文地址:https://www.cnblogs.com/GerynOhenz/p/5285159.html