【bzoj1042】硬币购物
2024-08-26 18:20:15
容斥
#include<bits/stdc++.h>
#define N 100005
typedef long long ll;
using namespace std;
ll ans,f[N];
int c[],d[],T;
void dfs(int x,int k,int sum){
if(sum<)return;
if(x==){
if(k&)ans-=f[sum];
else ans+=f[sum];
return ;
}
dfs(x+,k+,sum-(d[x]+)*c[x]);
dfs(x+,k,sum);
}
inline int read(){
int f=,x=;char ch;
do{ch=getchar();if(ch=='-')f=-;}while(ch<''||ch>'');
do{x=x*+ch-'';ch=getchar();}while(ch>=''&&ch<='');
return f*x;
}
int main(){
for(int i=;i<=;i++)c[i]=read();
T=read();f[]=;
for(int i=;i<=;i++)for(int j=c[i];j<=;j++)f[j]+=f[j-c[i]];
while(T--){
for(int i=;i<=;i++)d[i]=read();
int x=read();ans=;
dfs(,,x);
printf("%lld\n",ans);
}
return ;
}
最新文章
- EF架构~关于多对多关系表无法更新与插入的问题
- 模板 KMP
- benchmark
- IE6 BUG 汇总
- posix 消息队列
- 简单易懂的现代魔法&mdash;&mdash;Play Framework攻略2
- linux下python多版本共存
- 微信小程序开发 导入文件说没找到.json的问题
- SQLServer修改表数据
- 配置jQuery环境
- JVM的类加载
- 省市联动-获取资源文件xml 获取nodes的方法要学会
- whatweb.rb 未完待续
- MTD 移动目标防御技术
- 009_svn配置多仓库与权限控制(Alpha)
- 详解MathType快捷键使用技巧
- 设置TeeChart的提示文本
- 集合框架以及Map(一)
- 百度地图API秘钥生成步骤
- YUV颜色编码解析(转)
热门文章
- memcached简单介绍及在django中的使用
- android仿QQ的SlideMenu
- C++中getline()函数简介
- javascript知识总结
- 关于aspnet_regsql使用方法
- 【bzoj2007】[Noi2010]海拔 最小割+对偶图+最短路
- BZOJ4484 JSOI2015最小表示(拓扑排序+bitset)
- visio应用程序相关设置-选项-视图
- 【COGS 14】 [网络流24题] 搭配飞行员 网络流板子题
- sls语法:创建file,创建文件夹