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

posted @ 2016-03-16 21:08  GerynOhenz  阅读(153)  评论(0编辑  收藏  举报