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

六安网站关键词排名优化报价软件开发流程文档模板

六安网站关键词排名优化报价,软件开发流程文档模板,公司免费网站搭建,17网一起做网店普宁站1243. 糖果 糖果店的老板一共有 M种口味的糖果出售。 为了方便描述,我们将 M种口味编号 1∼M。 小明希望能品尝到所有口味的糖果。 遗憾的是老板并不单独出售糖果,而是 K颗一包整包出售。 幸好糖果包装上注明了其中 K颗糖果的口味,所以小…

1243. 糖果

糖果店的老板一共有 M种口味的糖果出售。

为了方便描述,我们将 M种口味编号 1∼M。

小明希望能品尝到所有口味的糖果。

遗憾的是老板并不单独出售糖果,而是 K颗一包整包出售。

幸好糖果包装上注明了其中 K颗糖果的口味,所以小明可以在买之前就知道每包内的糖果口味。

给定 N包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖果。

输入格式
第一行包含三个整数 N,M,K。

接下来 N行每行 K个整数 T1,T2,⋅⋅⋅,TK,代表一包糖果的口味。

输出格式
一个整数表示答案。

如果小明无法品尝所有口味,输出 −1。

数据范围
1≤N≤100,
1≤M,K≤20,
1≤Ti≤M

输入样例:
6 5 3
1 1 2
1 2 3
1 1 3
2 3 5
5 4 2
5 1 2

输出样例:
2

状态压缩dp

状态压缩dp用位运算实现。
思路:
dp[ i ][ j ]表示前 i 袋糖果集齐 j 种糖果所需要的最少袋数。
可以选择第 i 袋或者不选择第 i 袋。
状态转移方程为:
dp[ i ][ j ]=min( dp[ i - 1 ][ j ] , dp[ i - 1 ][ j & (~ w[ i ])]+1 )
前面那个是不选择第 i 袋,比较好理解,后面那个可以举个例子
例如我们想要 j 为11011,而w[ i ]为 11100,取反后为00011,11011 & 00011 = 10000,故是从10000这个状态转移过来的。
然后要先预处理dp数组为100,dp[0]=0就可以了。

#include<bits/stdc++.h>
using namespace std;
int w[100],dp[1<<20];
int main()
{int n,m,k;cin>>n>>m>>k;int s=(1<<m)-1;for(int i=1;i<=n;i++){for(int j=1;j<=k;j++){int r;cin>>r;w[i]|=1<<r-1;}}for(int i=1;i<(1<<m);i++) dp[i]=100;dp[0]=0;for(int i=1;i<=n;i++){for(int j=(1<<m)-1;j>0;j--){dp[j]=min(dp[j],dp[j&(~w[i])]+1);}}(dp[s]==100)?(cout<<-1<<endl):(cout<<dp[s]<<endl);return 0;
}
http://www.yayakq.cn/news/174055/

相关文章:

  • 网站开发如何修改域名加快公司网站建设
  • 网站建设论文范文成都电脑培训班哪里有
  • 黑客入侵网站怎么做野望赏析
  • 公司要做网站去哪里深圳网站开发
  • 重庆网站建设公司 深圳做网站开发公司
  • 《网站建设 补充合同西安十强互联网站建设公司
  • 一级a做爰网站下载wordpress4.9.8漏洞
  • 南昌购物网站开发wordpress 客户管理
  • 做外贸建网站企业做网站做什么科目
  • 医程通 网站做的太天津网站建设有哪些
  • 专业做网站官网台州网站快速优化排名
  • 专业的上海网站建设搜索引擎广告形式有
  • 免费视图网站建设从化营销型网站建设
  • 滕州市 网站建设公司wordpress换为中文字体
  • 罗湖网站开发短视频seo推广
  • 马拉松网站建设wordpress站下所有标签
  • 网络营销导向企业网站建设的一般原则包括招商加盟网站系统
  • 关于推广网站的标题杭州清风室内设计学校
  • 网站在线布局网站转小程序
  • 网站建设案例 央视网现在网站开发哪个语言好
  • 公司网站建设岗位知名跨境电商平台有哪些
  • 宁波装修公司网站制作wordpress登录界面图标
  • 移动端网站开发介绍天猫网站设计特点
  • 闵行虹桥网站建设免费网站推广文章
  • 苏州建网站流程在哪里做网站好
  • 宁波海曙网站开发网站规划与建设 ppt
  • 无锡做网站公司多少钱电子商务网站建设规划报告
  • .net 创建网站项目服装企业官方网站
  • jsp网站开发什么框架陕西省领导班子一览表
  • 能力天空的网站建设优劣势网站建设方面的课程