BZOJ4976: [Lydsy1708月赛]宝石镶嵌

https://lydsy.com/JudgeOnline/problem.php?id=4976

分析:

  • 本来是从\(k\le 100\)这里入手,想了想还是不能列出一个和\(k\)有关的式子。
  • 看到\(n\)有点大了,当\(n-k>log\)的时候显然能全取到。
  • 否则\(n\le k+log\)不超过\(117\),暴力即可 。

代码:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define N 131080
int n,K,a[N];
int f[120][N];
int Cnt(int x) {return x?(Cnt(x>>1)+(x&1)):0;
}
inline void upd(int &x,int y) {x=x<y?x:y;}
int main() {scanf("%d%d",&n,&K);int i,o=0,j;for(i=1;i<=n;i++) {scanf("%d",&a[i]);o|=a[i];}int k=Cnt(o);if(n-K>=k) return printf("%d\n",o),0;memset(f,0x3f,sizeof(f));f[0][0]=0;for(i=0;i<n;i++) {for(j=0;j<=131072;j++) {upd(f[i+1][j|a[i+1]],f[i][j]+1);upd(f[i+1][j],f[i][j]);}   }int lim=n-K;for(i=131072;i>=0;i--) {if(f[n][i]<=lim) {printf("%d\n",i); return 0;}}
}

转载于:https://www.cnblogs.com/suika/p/10165844.html

BZOJ4976: [Lydsy1708月赛]宝石镶嵌相关推荐

  1. 4976: [Lydsy1708月赛]宝石镶嵌 dp

    Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,-,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升 法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉 ...

  2. bzoj-4974 [Lydsy1708月赛]字符串大师

    4974: [Lydsy1708月赛]字符串大师 题目链接 Time Limit: 1 Sec Memory Limit: 256 MB Submit: 721 Solved: 347 [Submit ...

  3. bzoj4974: [Lydsy1708月赛]字符串大师

    脑洞题...玄学 假如是a[i]!=i,说明构成了循环节长为a[i]的循环,那就去%一下(别想多)看一下是循环节中的第几个咯. 否则新填的这个不能和前面构成任何循环,那就不停往前跳去把不能填的标记一下 ...

  4. 8.20模拟赛 [POI2009]WIE-Hexer [Lydsy1708月赛]跳伞求生 51nod 1479 小Y的数论题

    T1 发现 p p p很小,在最短路的基础上再加一维表示一个二进制数,代表当前拥有的剑的种类数,直接用SPFA" role="presentation" style=&q ...

  5. 【刷题】BZOJ 4977 [Lydsy1708月赛]跳伞求生

    Description 小Q最近沉迷于<跳伞求生>游戏.他组建了一支由n名玩家(包括他自己)组成的战队,编号依次为1到n.这个游 戏中,每局游戏开始时,所有玩家都会从飞机上跳伞,选择一个目 ...

  6. 退役前的做题记录2.0

    退役前的做题记录2.0 最近在刷省选题......大致上是按照省份刷的. 不过上面的题目顺序是按照写题的顺序排列的,所以可能会有点乱哈. [BZOJ2823][AHOI2012]信号塔 最小圆覆盖,随 ...

  7. 3909: 跳伞求生

    题目描述 小Q最近沉迷于<跳伞求生>游戏.他组建了一支由n名玩家(包括他自己)组成的战队,编号依次为1到n.这个游戏中,每局游戏开始时,所有玩家都会从飞机上跳伞,选择一个目的地降落,跳伞和 ...

  8. 【BZOJ4976】宝石镶嵌 DP

    [BZOJ4976]宝石镶嵌 Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,...,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升法杖的威力.不幸的是,小Q的法 ...

  9. bzoj4976宝石镶嵌 DP

    Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,-,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升 法杖的威力.不幸的是,小Q的法杖上宝石镶嵌栏太少了,他必须扔掉 ...

最新文章

  1. 全长转录组测序在植物中的应用研究进展 赵陆滟,曹绍玉,龙云树,张应华,许俊强
  2. 什么是TCP三次握手?
  3. C++ class类 实现搜索二叉树(BST)
  4. mysql隔离级别和mvcc_数据库MVCC和隔离级别的关系是什么?
  5. ACL 2021 | 火山翻译成绩斐然
  6. 深入浅出 Javascript API(二)--地图显示与基本操作
  7. 网页上传大文件被限制,如何设置配置文件
  8. 在C ++中加载TORCHSCRIPT模型
  9. hecc in java_HECC是什么意思
  10. 系统之美 作者:德内拉梅多斯
  11. JAVA最小质因子之和
  12. 肺炎期间,送上一份家庭健身计划
  13. 如何搭建企业数据化运营体系?
  14. 显卡、显卡驱动、Nvcc、Cuda Driver、CudaToolkit 、Cudnn到底是什么?
  15. DHCP服务配置-Cisco模拟器
  16. 高屋建瓴之WebMail攻与防
  17. 云原生与微服务架构基础:01 | 为什么说云原生重构了互联网产品开发模式
  18. 深入理解JVM(四)JVM的垃圾回收机制
  19. 展锐芯片之GPU频率(一百一十四)
  20. 空间数据在计算机中的表示方法,GIS 数据结构及其表达方法--空间数据模型.ppt...

热门文章

  1. python筛选excel某一列中相同的数据
  2. JAVA_输出5笔购物金额和总金额
  3. Python从入门到实战 基础入门视频教程(讲解超细致)-黄勇-专题视频课程
  4. webpack引入css
  5. 蓝桥杯基础练习之十六进制转十进制(python实现)
  6. 半径为20的圆形面积和周长
  7. 大数据交易助力我国产业规模赶超全球增长率
  8. outline:none || hidefocus=true || onfocus=this.blur();
  9. 《crossfire》游戏分析
  10. python批量解压批量压缩文件夹(逐个)