关注
果然讨论有助于发现问题, 上面开始的排序写错了 重新改了如下 #include<bits/stdc++.h>
using namespace std;
int main(){
int m, n, v, t;
while (cin >> v >> n) {
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cin >> m;
vector<int> f(n);
for (int i = 0; i < m; i++) {
cin >> t;
f[i] = a[t - 1];
a[t - 1] = -1;
}
for (int i = 0, j = m; j < n; i++) {
if (a[i] > 0) {
f[j++] = a[i];
}
}
a = move(f);
vector<vector<int> > dp(v / a[0] + 1, vector<int>(v + 1, 0));
int res = 0;
// 先挑选最喜欢的零食, 无约束
for (int i = 0; i < v / a[0] + 1; i++) {
dp[i][i * a[0]] = 1;
}
// 按喜欢程度依次挑选其他特别喜欢的零食,
for(int i = 1; i < m; i++) {
vector<vector<int>> t = move(dp);
int size = v / a[i] + 1;
dp = vector<vector<int> >(size, vector<int>(v + 1, 0));
for (int j = 1; j < t.size(); j++) {
// 每次取的要比前一种要少
for (int k = min(size - 1, j - 1); k >= 0; k--) {
for (int l = k * a[i]; l <= v; l++){
dp[k][l] = (dp[k][l] + t[j][l - k * a[i]]) % 10000007;
}
}
}
}
// 统计各花费的方案数
vector<int> cur(v + 1, 0);
for (int i = 0; i <= v; i++) {
for (int j = 0; j < dp.size(); j++) {
cur[i] = (cur[i] + dp[j][i]) % 10000007;
}
}
// 按完全背包更新其余零食
for (int i = m; i < n; i++) {
for (int j = a[i]; j <= v; j++) {
cur[j] = (cur[j] + cur[j - a[i]]) % 10000007;
}
}
cout << cur[v] << endl;
}
return 0;
}
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
- 1... 中国银行软件中心合肥编程测评1.9W
- 2... 跟室友吃完一顿饭,我才发现自己输在信息差上1.5W
- 3... 放弃其他大厂,我为什么选择携程机票BU?1.1W
- 4... 我似乎看到了我的未来5605
- 5... [拼多多offer]暑期实习终于结束了,太累了兄弟们,现在的大环境太难了5155
- 6... 拼多多救了我,暑期终于结束了4364
- 7... 腾讯视频 后端开发 面经3967
- 8... 你总挂在同一轮,是你根本没搞懂这一轮面试官到底在筛什么3263
- 9... 暑期实习最晚可以死磕到什么时候啊3232
- 10... 厦行人文体验拆解,每一点都真实可感3198
正在热议
更多
# 简历上如何体现你的“AI”能力? #
14729次浏览 330人参与
# 选择和努力,哪个更重要? #
207191次浏览 1551人参与
# 华泰星战营,提前锁定校招offer #
13225次浏览 389人参与
# 找不到大厂实习可以去小厂吗? #
19966次浏览 223人参与
# 一人推荐一个值得去的通信/硬件公司 #
262206次浏览 2156人参与
# 没有面试的日子里,你在做什么 #
13154次浏览 358人参与
# vivo求职进展汇总 #
294950次浏览 1610人参与
# 找AI工作应该卷什么? #
51915次浏览 280人参与
# 哪些AI项目值得做? #
25009次浏览 610人参与
# 你总挂在第__面? #
10482次浏览 117人参与
# 实习时最怕听到的一句话 #
22382次浏览 193人参与
# 非技术岗是怎么找实习的 #
333327次浏览 2654人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
200180次浏览 1186人参与
# 你的秋招第一场笔试是哪家 #
330243次浏览 2184人参与
# 秋招笔试记录 #
399711次浏览 2220人参与
# 硬件开发岗知多少 #
28062次浏览 154人参与
# 美团秋招笔试 #
213536次浏览 1183人参与
# 通信和硬件还有转码的必要吗 #
105576次浏览 642人参与
# AI Coding的使用心得 #
36213次浏览 243人参与
# 你简历上最心虚的一句话 #
20685次浏览 229人参与
# 你知道最慷慨和最抠的公司分别是 #
10434次浏览 85人参与

查看16道真题和解析