当前位置: 首页 > wzjs >正文

在线h5免费制作网站查询网址域名ip地址

在线h5免费制作网站,查询网址域名ip地址,网站与公众号的区别,win 2008 iis建立网站题目 P1466 [USACO2.2] 集合 Subset Sums 分析 感觉本题最难的难点就是想出用01背包做。特征:1~n的连续整数集合中挑选某些数。要求两个子集合的数字和是相等的,就相当于给定了限制条件在1~n中挑数字。 先分析状态表示,状态表示一般跟着…

题目

P1466 [USACO2.2] 集合 Subset Sums
在这里插入图片描述

分析

感觉本题最难的难点就是想出用01背包做。特征:1~n的连续整数集合中挑选某些数。要求两个子集合的数字和是相等的,就相当于给定了限制条件在1~n中挑数字。

先分析状态表示,状态表示一般跟着题目要求什么来设置。本题要求划分方案数,那么我们的状态表示就设置成方案数。
f[i][j]:从前 i 个数中选出数值和为 j 的方案数
但是注意,题目要求的实际上是划分成两个子集合这样的方案有多少个,而我们的状态表示最终求的是有多少个数值和为sum/2的子集合,所以最后结果要除以2

状态转移方程:
方案数 = 不选 + 选
f[i][j] = f[i-1][j] + f[i-1][j-i]
代码实现上,如果写的是二维的状态转移方程,由于“选”是有条件限制的,所以“选”和“不选”是分开讨论的。
如果写成一维的,由于将条件省略进了循环中,就可以写在一起。

重要:当状态表示为方案数的时候,不要忘记初始化!!!

AC代码

#include<iostream>using namespace std;typedef long long LL; int n;LL f[40][800]; //f[i][j]:从前i个数中选出数值和为j的方案数 int main()
{cin >> n;int sum = (1 + n) * n / 2; //等差数列求和 if(sum % 2 == 1) //总和是奇数就凑不出来两堆数值相同的 {cout << 0;return 0;}sum /= 2; //sum/2作为限制条件 f[0][0] = 1; //当状态表示为方案数的时候,不要忘记初始化!!! for(int i=1;i<=n;i++){for(int j=0;j<=sum;j++){f[i][j] += f[i-1][j]; //不选 if(j >= i) f[i][j] += f[i-1][j-i]; //选 }}	cout << f[n][sum] / 2; //题目问的是可以分成多少对 return 0;
}
http://www.dtcms.com/wzjs/571027.html

相关文章:

  • 营销型网站建设ppt陕西网站推广费用
  • 2018年主流网站开发语言网络直接营销渠道
  • 企业微网站哪家好为wordpress配置邮箱服务
  • 旅游分析 网站品牌logo查询网
  • 网站开发制作包括哪些的基本流程手机网站改版公司
  • phpcms 怎么做视频网站首页在网站做的pdf有水印如何删除
  • 定期做图书推荐的网站十大互联网营销公司
  • 网站制作公司上海做互联网推广的公司
  • 物流网站免费源码保定小程序开发公司
  • 网站开发公司不干了长沙手机网站设计公司
  • 邯郸中国建设银行网站自己如何建设外贸网站建站
  • seo网站查询工具东莞百度seo找谁
  • 网站建设项目实训心得网站怎么做优化排名
  • 一级a做爰精免费网站科技服务网站建设方案
  • 做英文网站挂谷歌广告网站前端设计理念
  • 宁波住房和城乡建设局网站苏州网站开发找薇
  • 网站的营销推广方案及预算wordpress 不检查更新
  • 鲜花网站的网络营销与策划书wordpress wp users
  • 网站的建设与应用富平网站建设
  • 网站管理员登陆域名问信息奥赛题怎么做 去哪个网站
  • 做棋牌网站多少钱网站二级域名解析
  • 网站域名后缀区别建设局招标网站
  • app开发 网站开发统称哪家高端网站建设好
  • 网站建设选哪个好企业信息填报年报填写
  • 丰台网站制作公司营销企业网站建设
  • 太原网站建设注意站长之家关键词查询
  • 沧州做网站的大公司建设网站哪家强
  • 服装网站建设市场分析企业网站备案座机号
  • 做网站什么系统好wordpress显示
  • 如何用ppt做网站wordpress设置固定链接后