bzoj4182专题

bzoj4182 Shopping 购物 点分治+树形多重背包+dfs序+单调队列优化

题目链接:传送门(权限题) 大毒瘤QAQ 发现买过物品的商店构成一个联通块,所以钦定一个根,让所有买过物品的商店到根的路径上的商店都是买过物品的商店。 然后在上面跑树形背包,子状态设计: d p [ i ] [ j ] dp[i][j] dp[i][j]表示选到 i i i号节点,已经花了 j j j块钱,所能达到的最大喜爱度。 用dfs实现的树形dp会TLE,考虑用dfs序来优化: 按照df