【ZROI noip10连day2】T1 题解
__vector__ · · 个人记录
本题解尚未提交代码,不一定正确。
做法
先来考虑一下,已知每种砝码是否出现的情况下怎么判定能否凑出
很容易写出一个指数级的爆搜:以当前重量
复杂度:算不出来。预计得分:
这个爆搜之所以是指数级,是因为重复搜索了很多节点,所以搜完一个节点,就把这个节点的答案记录下来,就优化到
每次询问就临时统计一下询问区间每种砝码是否出现,用得到的信息跑记忆化搜索。
复杂度:
题目说了,砝码的数值不会超过
而能否凑出一个数,只和这个数的数值以及砝码拥有状态决定。
要凑的数最大是
可以把每种可能都枚举一下,进行预处理。
每次查询的时候,线段树维护区间每种砝码是否出现,然后用得到的信息直接查表。
复杂度:
Code
正在写。