• 题意:有\(n\)种花,每种花有\(a_i\)盆,现在要摆\(m\)盆花,花的种类从\([1,n]\)有序排放,问有多少种方案数.

  • 题解:这题可以借用01背包的思路,感觉更好想一点,我们首先枚举\(n\)种花,然后按一维01背包的思路,再枚举第\(i\)种花的选取盆数\([1,min(a_i,j)]\),每次状态都由\(dp[j-k]\)转化而来,有点难想的是边界问题,因为我们只能先放第一种花,第一个位置必须放第一种花,所以我们让\(dp[0]=1\),只有当一个位置放了第一盆花之后,后面的花的状态才能得到更新.

  • 代码:

    int n,m;
    int a[N];
    int dp[N]; int main() {
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    cin>>n>>m;
    for(int i=1;i<=n;++i){
    cin>>a[i];
    }
    dp[0]=1;
    for(int i=1;i<=n;++i){
    for(int j=m;j>=1;--j){
    for(int k=1;k<=min(a[i],j);++k){
    dp[j]=(dp[j]+dp[j-k])%mod;
    //cout<<i<<" "<<" "<<j<<" "<<dp[j]<<endl; 这里便于理解状态之间的关系
    }
    }
    } cout<<dp[m]<<endl; return 0;
    }

最新文章

  1. sublime3添加对react代码检查
  2. (转)对SQLSERVER数据库事务日志的疑问
  3. java集合比较
  4. 【JavaScript】常用方法
  5. cd命令进入D盘
  6. Extjs 视频教程
  7. android studio1.3安装终于成功
  8. linux两台server远程copy文件
  9. 【the service mysql57 failed the most】
  10. MySQL 服务器变量 数据操作DML-视图
  11. Android SDK Web SDK 接口测试总结
  12. ecshop调用指定分类和个数的文章列表
  13. 个人作业2-英语学习案例app分析
  14. 流API--分组和分片
  15. 采用JSP+JavaBean的方式进行简单的实现用户的网页登陆实例
  16. 编码原则 之 Explicit Dependencies Principle
  17. hdu 6170 Two strings dp
  18. (待解决,效率低下)47. Permutations II C++回溯法
  19. 关于Powershell对抗安全软件(转)
  20. PostgreSQL高可用集群方案收集/主从切换/一主多从(待实践)

热门文章

  1. HAProxy + keepalived 高可用集群代理
  2. upload-labs 1-21关通关记录
  3. 一文带你学会AQS和并发工具类的关系2
  4. 【MySql】[ERROR] Can't read from messagefile '/usr/share/mysql/english/errmsg.sys'
  5. python之格式化字符串速记整理
  6. Python批量 png转ico
  7. Python编程小技巧(一)
  8. vue+element-ui:table表格中的slot 、formatter属性
  9. mybatis缓存源码分析之浅谈缓存设计
  10. 【Windows】Win10家庭版启用组策略gpedit.msc