[BZOJ 1042][HAOI2008]硬币购物:容斥原理
来源:互联网 发布:java初学者小项目源码 编辑:程序博客网 时间:2024/06/06 07:01
点击这里查看原题
f[i]表示在不考虑硬币数量的情况下,达到i元的方案数。
于是进行容斥,答案=所有方案数-有一种硬币超出限制(即使用d[i]+1枚硬币)+有两种超出限制-有三种超出限制+有四种超出限制
/*User:SmallLanguage:C++Problem No.:1042*/#include<bits/stdc++.h>#define ll long long#define inf 999999999using namespace std;const int M=1e5+5;int c[5],d[5],s;ll f[M],ans;void dfs(int now,int sum,int cnt){ if(now==5){ if(s-sum<0) return; if(cnt&1) ans-=f[s-sum]; else ans+=f[s-sum]; return; } dfs(now+1,sum+(d[now]+1)*c[now],cnt+1); dfs(now+1,sum,cnt);}void solve(){ ans=0; for(int i=1;i<=4;i++) scanf("%d",&d[i]); scanf("%d",&s); dfs(1,0,0); printf("%lld\n",ans);}int main(){ freopen("data.in","r",stdin);// for(int i=1;i<=4;i++) scanf("%d",&c[i]); f[0]=1; for(int i=1;i<=4;i++) for(int j=c[i];j<=1e5;j++) f[j]+=f[j-c[i]]; int t; scanf("%d",&t); while(t--) solve(); return 0;}
阅读全文
0 0
- BZOJ 1042 HAOI2008 硬币购物 背包+容斥原理
- BZOJ 1042 [HAOI2008]硬币购物 容斥原理
- bzoj 1042: [HAOI2008]硬币购物(容斥原理)
- 【bzoj 1042】 [HAOI2008] 硬币购物(dp+容斥原理)
- [BZOJ 1042][HAOI2008]硬币购物:容斥原理
- BZOJ 1042:[HAOI2008]硬币购物 容斥原理 背包dp
- BZOJ 1042: [HAOI2008]硬币购物 (dp + 容斥)
- BZOJ 1042: [HAOI2008]硬币购物 DP,与处理,容斥
- bzoj 1042: [HAOI2008]硬币购物(dp+容斥)
- 【BZOJ】1042 [HAOI2008]硬币购物 组合数学(容斥)
- BZOJ 1042: [HAOI2008]硬币购物【容斥】【01背包】
- BZOJ-1042 [HAOI2008]硬币购物 容斥原理 +01背包方案数
- bzoj1042 HAOI2008 硬币购物 容斥原理
- bzoj1042: [HAOI2008]硬币购物 容斥原理
- [容斥原理]Bzoj1042 硬币购物[HAOI2008]
- [bzoj1042][HAOI2008]硬币购物 容斥原理
- [BZOJ1042][HAOI2008]硬币购物-容斥原理
- 1042: [HAOI2008]硬币购物(dp+容斥原理)
- [区间DP] Zuma CodeForces 607B
- Windows7下U盘安装Ubuntu14.04双系统
- Windows Server 2008 NFS
- Dataset
- 最大值,最小值,选择排序,冒泡排序,杨辉三角
- [BZOJ 1042][HAOI2008]硬币购物:容斥原理
- 应该知道的LINUX技巧
- 阿里新一代实时计算引擎_Blink_每秒支持数十亿次计算
- Android NDK开发基础知识
- 关于vue.js遇到的坑-发起jquery请求时,应该在请求之前执行的代码被等待到请求完毕后才执行
- php获取url
- Html5 + android原生 混合式开发(一)
- 程序人生
- IE 不兼容 js indexOf 函数