usaco-Money Systems
Posted rhythm-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了usaco-Money Systems相关的知识,希望对你有一定的参考价值。
题意:
给出几种硬币,求可用这几种硬币组合出价值为n的方案数。
分析:
设dp[i]表示组合出价值i的方案数,则,dp[i]=∑dp[i-val[j]]。
#include <iostream> #include <string> #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #include <vector> #include <queue> #define range(i,a,b) for(int i=a;i<=b;++i) #define LL long long #define rerange(i,a,b) for(int i=a;i>=b;--i) #define fill(arr,tmp) memset(arr,tmp,sizeof(arr)) using namespace std; int n,v; LL val[30],dp[10005]; void init(){ cin>>v>>n; range(i,0,v-1)cin>>val[i]; fill(dp,0); dp[0]=1; } void solve(){ range(i,0,v-1)range(j,val[i],n)dp[j]+=dp[j-val[i]]; cout<<dp[n]<<endl; } int main() { init(); solve(); return 0; }
以上是关于usaco-Money Systems的主要内容,如果未能解决你的问题,请参考以下文章
[luoguP1474] 货币系统 Money Systems(背包)
ZPiE: Zero-knowledge Proofs in Embedded systems
Reducing Participation Costs via Incremental Verification for Ledger Systems学习笔记
unity5.1 particle systems怎么控制粒子速度