bzoj 4976: 宝石镶嵌
题意:n个数,去掉k个,使剩下的数的or和最大。
题解:
设a是w的最大值。分两种情况:1:n-k>=log a,每一位就一定可以选一个数来补上(除非所有都没有这一位)。2:n-k< log a,dp,f[i][j]表示前i个数or和为j最多去掉几个数。
代码:
#include<bits/stdc++.h>
using namespace std;int n,k,w[100010],f[120][131072];int main()
{scanf("%d%d",&n,&k);for(int i=1;i<=n;i++)scanf("%d",&w[i]);sort(w+1,w+1+n);if(n-k>=20){int ans=0;for(int i=0;i<20;i++){for(int j=1;j<=n;j++)if(w[j]>>i&1){ans|=w[j];break;}}printf("%d",ans);}else{memset(f,128,sizeof(f));f[0][0]=0;for(int i=1;i<=n;i++){for(int j=0;j<131072;j++){f[i][j]=max(f[i][j],f[i-1][j]+1);f[i][j|w[i]]=max(f[i][j|w[i]],f[i-1][j]);}}for(int i=131071;i>=0;i--)if(f[n][i]>=k){printf("%d",i);break;}}
}
bzoj 4976: 宝石镶嵌相关推荐
- BZOJ 4976: 宝石镶嵌 背包
4976: 宝石镶嵌 Time Limit: 2 Sec Memory Limit: 128 MB Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,...,w_n ...
- [bzoj 4976]宝石镶嵌
魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,-,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉k个宝石才能将剩下的宝石镶 ...
- bzoj 4976 宝石镶嵌
传送门:www.lydsy.com/JudgeOnline/problem.php?id=4976 题意: 给n(n<=100000)个宝石,每个有个val(val<=100000),求取 ...
- bzoj 4976: 宝石镶嵌 动态规划
题意 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,-,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉k个宝石才能将剩下的 ...
- 【bzoj 4976】宝石镶嵌(贪心、高位前缀和)
传送门biu~ 当n-k>=16时,每一位上的1都可以出现,只需要考虑每位是否有1即可. 剩下的情况n最大只有115(数据范围瞬间变得友善了). 令f[state]代表组合出state最少需要多 ...
- 4976: 宝石镶嵌
题目大意自己看吧: 题目链接 题解: mx为所有val中最大的 1.如果n-k>log(mx)的话,就直接把所有数或起来就好了. 2.否则的话就DP,f[i][j]表示前i个和为j所用的最少数, ...
- 4976: [Lydsy1708月赛]宝石镶嵌 dp
Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,-,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升 法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉 ...
- BZOJ4976: [Lydsy1708月赛]宝石镶嵌
BZOJ4976: [Lydsy1708月赛]宝石镶嵌 https://lydsy.com/JudgeOnline/problem.php?id=4976 分析: 本来是从\(k\le 100\)这里 ...
- BZOJ.1558.[JSOI2009]等差数列(线段树 差分)
BZOJ 洛谷 首先可以把原序列\(A_i\)转化成差分序列\(B_i\)去做. 这样对于区间加一个等差数列\((l,r,a_0,d)\),就可以转化为\(B_{l-1}\)+=\(a_0\),\(B ...
最新文章
- 分享10个我最满意的windows工具,极大提升工作效率
- 自定义对话框控件bate2----20050516
- vue-devtools 的安装
- cmd 调试java_JAVA学习笔记(初级)--CMD调试
- java ssm 多租户_(十一)java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统- SSO单点登录之OAuth2.0登录流程(2)...
- resnet152训练_Resnet-152的图像预处理
- cdn对动态网站有作用吗_网站选择cdn加速有什么作用?
- (二)建筑物多边形化简系列——多边形点数化简
- Oracle DB优化-如何看SQL的执行计划+收集表的统计信息
- ubuntu更改主机名
- 欢迎使用CSDN-markdown编辑器闲置iPhone别扔 利用Carplay打造智能汽车
- instant app入门和开发指南
- 高薪程序员面试题精讲系列28之你熟悉哪些设计模式?
- IDEA在一个窗口创建多个项目
- JavaEE(10)Spring中的注解开发、静态/动态代理
- 对象存储哪家价格便宜?最便宜的云存储推荐!
- Windows 10 (Multiple Editions), Version 1607
- 微信支付接口,提示:调用支付jsapi缺少参数: $key0$
- 裁判文书网 爬虫 最新更新2020-08-12
- 职场上罕见张小敬,办公室常常有元载