CDOJ 1401 谭爷的黑暗沙拉 数学
2016-06-11 11:54
239 查看
谭爷的黑暗沙拉
题目连接:
http://mozhu.today/#/problem/show/1401Description
谭爷有\(n\)种不同种类的食材(水果&蔬菜),他想做出一份总重量为\(k\)的黑暗沙拉。他想让机智的你告诉他,他能做多少种不同的黑暗沙拉!
说明:
1.可以重复选择食材,而且不需要选完全部的\(n\)种食材,但是最后总重量必须是\(k\)。
2.两份沙拉不同,当且仅当\(k\)重量食材的种类或配比不同。
3.每种食材只能选择非负整数的重量加入沙拉。
Input
一行,两个正整数\(n\),\(k\);\(1<=n,k<=25\);
Output
一行,一个非负整数,方案数目。(请用long long)
Sample Input
3 2Sample Output
6Hint
题意
题解:
设第i个食材选xi个,则问题转化成 x1+x2...+xn=k的非负整数的个数。让yi=xi+1;则原方程变为:
y1+y2+...+yn=k+n的正整数解的个数。
想象k+n个数排成一排放
即C(k+n-1,n-1);等于求C(k+n-1,k);
代码
#include<bits/stdc++.h> using namespace std; long long dp[70][70]; int main() { int n,k; scanf("%d%d",&n,&k); dp[1][1]=1; for(int i=1;i<=n+k+2;i++) for(int j=1;j<=i;j++) dp[i+1][j]+=dp[i][j],dp[i+1][j+1]+=dp[i][j]; cout<<dp[n+k] <<endl; }
相关文章推荐
- Odoo/OpenERP 日志配置、使用及实现
- StringTokenizer类的使用
- leetcode 20. Valid Parentheses
- SQL Server笔记2
- 通过委托实现灵活排序
- Mysql 技术内幕(二)
- 爬虫工程师要求
- JavaScript 全选函数的实现
- java中jdbc事务管理
- servlet的转发和重定向
- leetcode179-Largest Number(把数组排成最大的数)
- KEIL编译环境优化等级说明
- HashTable和HashMap区别
- 游览器中javascript的执行过程
- ubuntu安装php常见错误集锦
- 批量修改文件后缀名、批量删除相同后缀名的文件
- HQL查询及Hibernate对c3p0连接池的支持
- POJ-1821 Fence(单调队列优化DP)
- vi配置文件
- 【Java学习-J.160611.0.21】Servlet基础四 cookie部分