qip101 @ 2022-11-12 12:20:22
背包的方案数应该是能达到最大价值的方案数?还是我理解有误。
本题应该求的方案数显然不分最优还是不优
by GaryGe @ 2022-11-12 12:30:11
@死在水中的鱼 您说的是测试点5-7吧
如果总票价不超过预算,他有多少种观赛方案
只要不超过就行了
by qip101 @ 2022-11-12 12:36:46
@GaryGe 能不能顺便问一下第一篇题解里面a数组和b数组以及dfs状态是什么啊
by GaryGe @ 2022-11-12 12:41:04
@死在水中的鱼 思路就是用两个dfs分别求出前20个和后20个能组成的和,分别存入两个数组,再排序,对于第一个数组二分能在第二个数组中取到的个数,累加起来就行了,他写的有点复杂,其实就是这个
void dfs1(ll u,ll sum)
{
if (u>n/2)
{
b[++cntb]=sum;
return;
}
dfs1(u+1,sum);
dfs1(u+1,sum+a[u]);
}