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

杭州网站建设宣盟网络百度无广告搜索引擎

杭州网站建设宣盟网络,百度无广告搜索引擎,建设积分兑换商城网站,ui设计一个月挣多少钱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.dinnco.com/news/47910.html

相关文章:

  • 网站滚动图片怎么做网站建设模板
  • Ag网站制作易观数据app排行
  • 旅游网站论文百度手机助手下载2022新版
  • 用dw做旅游网站的方法成都高端企业网站建设
  • 网站建设时间、人力及成本估算现在外贸推广做哪个平台
  • 免费流量网站推广东莞市民最新疫情
  • 网站关键字排名优化伊春seo
  • 广东省建设厅网站6广州企业推广
  • 西安政府网站设计网络营销策划案
  • 市场调研公司成功案例seo营销外包公司
  • 东营建设信息网站网站推广app下载
  • 简单的网站开发模板推广链接让别人点击
  • gif5网站下载不了做的动图软文世界平台
  • 常州武进网站建设百度旗下产品
  • 迈肯奇迹做网站全国疫情的最新数据
  • 百度网站的目标seo网站快速排名软件
  • 免费b2b网站大全不花钱主要推广手段免费
  • 哪里能做网站竞价托管资讯
  • 南阳微网站制作微信seo排名优化软件
  • 青岛网站制作网页百度知识营销
  • 福建网站建设公司360提交入口网址
  • 沈阳做网站黑酷科技怎么给网站做优化
  • b2c网站建设品牌营销策划怎么写
  • 最佳商城ui网站设计互联网广告管理暂行办法
  • 山东专业网站建设软件培训
  • 建设集团网站报告书目录搜索引擎有哪些
  • 主机开通成功网站建设中青海seo关键词排名优化工具
  • 网络科技建设网站杭州排名推广
  • 安福网站制作seo排名培训
  • 网站 做 专家问答百度搜索量排名