(位运算) Krolia的礼包难题(CD1783)
来源:互联网 发布:linux默认path 编辑:程序博客网 时间:2024/06/11 23:09
题意:给出有N种礼物,现在有M个客人要求礼品包装后送出。
如果有几种物品种是在一起,则可以用同一种包装纸进行包装。
不同的包装会用不同的包装纸。求最少用的包装纸数。
思路:一开始做时候是比赛,当时的状态很不好,一开始还以为是
以前做过的四色问题,就是最多可能有四种包装纸。后来才知道具体的题意,
是因为没有读懂题真正的意思。今天看了一点电影,激情大开,然后就做这个题,
看着只有50左右的礼物,直接可以用long long 型的位运算对其进行纪录并保存,
而且这样还会有操作方便的好处,所以就这样了。
#include<iostream>#include<cstdio>#include<cmath>#include<cstring>using namespace std;int li[55][55];long long b[55];int main(){freopen("in.txt","r",stdin);int i,j,k;int n,m;int t;cin>>t; while (t--){cin>>n>>m;for (i=1;i<=m;i++){b[i]=0;for (j=1;j<=n;j++){cin>>li[i][j];b[i]=(b[i]<<1)+li[i][j];//cout<<li[i][j]<<' ';}//cout<<endl;//cout<<b[i]<<endl;}int ans=0;long long cur=0;for (i=1;i<=m;i++)cur=cur|b[i];long long temp=1;//cout<<cur<<endl;while (cur){temp=1;k=56;while (k--){if (temp&cur)break;temp=temp<<1;}long long mm=(1<<55)-1;for (i=1;i<=m;i++){if (temp&b[i])mm=mm&b[i];elsemm=mm&(~b[i]);}cur=cur&(~mm);ans++;//cout<<temp<<' '<<cur<<' '<<mm<<endl;}cout<<ans<<endl;}return 0;}
Krolia的礼包难题
Time Limit: 1000 ms Memory Limit: 65535 kB Solved:74 Tried: 323
- (位运算) Krolia的礼包难题(CD1783)
- UESTC 1783 Krolia的礼包难题 规律题
- UESTC 1784 Krolia的计时难题
- UESTC 1784 Krolia的计时难题
- NYOJ 题目1069 生活的难题(位运算,技巧)
- 【zzuliOJ】1893 - 985的数学难题(位运算)
- Problem B: 985的数学难题(位运算)
- NYOJ 744 蚂蚁的难题(一) (位运算)
- ny 744 蚂蚁的难题(一)【位运算】
- ZZULIOJ Problem 1893: 985的数学难题 【位运算】
- 位运算陷阱(位运算符的优先级)
- 梦幻西游2014最新八大礼包-梦幻西游视频5分钟学会(开区15天以后可以领取的九种礼包)免费分享!
- 【数据结构】二叉排序树小礼包(对splay,Treap,SBT的理解,例题,代码)
- 位运算(技巧)
- 位运算(2)
- 位运算(3)
- 位运算(1)
- 位运算(2)
- asp.net 简繁体转换 (后台代码 添加vb类引用)
- Android网络连接之HttpURLConnection和HttpClient
- JAVA 技巧 反编译JAR 再打包
- VS2008生成dll文件的方法
- 博客专题
- (位运算) Krolia的礼包难题(CD1783)
- 百度地图api key申请
- 动态链接库(DLL)--MFCDLL
- 窥探
- clearButton.setOnClickListener(this);
- double float类型判断无效值
- mysql 多表 update sql语句总结
- 《tiny6410裸机程序》第六章:myled通过usb下载至nandflash不能运行
- windows编程的一些基本概念-20121210