[bzoj1042]硬币购物
2024-09-07 09:34:07
先预处理出没有上限的方案数,然后容斥,然后将所有东西的范围都变为[0,+oo),即可用预处理出的dp数组计算
1 #include<bits/stdc++.h>
2 using namespace std;
3 int n,s,a[11],b[11];
4 long long ans,f[100005];
5 int main(){
6 f[0]=1;
7 for(int i=0;i<4;i++){
8 scanf("%d",&a[i]);
9 for(int j=a[i];j<=100000;j++)f[j]+=f[j-a[i]];
10 }
11 scanf("%d",&n);
12 for(int i=1;i<=n;i++){
13 for(int j=0;j<4;j++)scanf("%d",&b[j]);
14 scanf("%d",&s);
15 ans=0;
16 for(int j=0;j<16;j++){
17 int ss=s,p=1;
18 for(int k=0;k<4;k++)
19 if (j&(1<<k)){
20 p*=-1;
21 ss-=a[k]*(b[k]+1);
22 }
23 if (ss>=0)ans+=f[ss]*p;
24 }
25 printf("%lld\n",ans);
26 }
27 }
最新文章
- localStorage使用总结
- shell脚本自动化部署XX的案例(附数组使用)
- asp.net在线恢复数据库
- Grid行编辑插件
- windows phone URI映射
- linux find grep使用
- saltstack_grains
- JavaScript树(二) 二叉树搜索
- C#线程安全使用(二)
- python学习Day6 元组、字典、集合set三类数据用法、深浅拷贝
- Python3 与 C# 基础语法对比(List、Tuple、Dict、Set专栏)
- LeetCode(125):验证回文串
- Android开发 ---xml布局元素
- CentOS 7 安装Python3.7
- 数据库之mysql练习
- Vuex状态管理详解
- 运行metamascara时出现的一些错误
- TCP/IP理解
- Linux 下安装mysql 8.0.11(CentOS 7.4 系统)
- BZOJ4036 [HAOI2015]按位或 【minmax容斥 + 期望 + FWT】