链接:https://ac.nowcoder.com/acm/contest/275/F
来源:牛客网

题目描述

给定一个序列,寻找一对l,r,满足1 ≤ l ≤ r ≤ n
最大化的值
其中表示将al,al+1, ... , ar按位与后的结果

输入描述:

第一行一个整数n,表示数列长度.
第二行有n个整数,表示这个数列的初始数值.

输出描述:

一行一个整数表示答案.

输入

10
7 9 9 4 0 0 8 8 4 7 

输出

162

设dp[x][i] = 最小的p满足a[p+1]&a[p+2]&…&a[x]的第i位为一

那么暴力每个数字a[x],按照dp[x][i]的大小排序贪心求当前最大值就行了

看代码很好懂

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<map>
#include<string>
#include<math.h>
#include<queue>
#include<stack>
#include<iostream>
using namespace std;
#define LL long long
#define mod 1000000007
LL sum[100005];
int a[100005], dp[100005][22];
typedef struct Res
{int val, l;bool operator < (const Res &b) const{if(l<b.l)return 1;return 0;}
}Res;
Res s[22];
int main(void)
{LL ans, now;int n, i, j;scanf("%d", &n);for(i=1;i<=n;i++){scanf("%d", &a[i]);sum[i] = sum[i-1]+a[i];}for(i=1;i<=n;i++){for(j=0;j<=20;j++){dp[i][j] = 0;if(a[i]&(1<<j))dp[i][j] = dp[i-1][j]+1;}}ans = 0;for(i=1;i<=n;i++){for(j=0;j<=20;j++){s[j].val = (1<<j);s[j].l = i-dp[i][j];}now = 0;sort(s, s+21);for(j=0;j<=20;j++){now ^= s[j].val;ans = max(ans, now*(sum[i]-sum[s[j].l]));}}printf("%lld\n", ans);return 0;
}

牛客小白月赛9: F. 暴力出奇迹(思维题)相关推荐

  1. 牛客小白月赛9 论如何出一道水题

    链接:https://ac.nowcoder.com/acm/problem/19425 来源:牛客网 题目描述 给定 n,求一对整数 (i,j),在满足 1 ≤ i ≤ j ≤ n 且 gcd(i, ...

  2. 牛客小白月赛2 F.黑黑白白

    牛客小白月赛2 F.黑黑白白 题目链接 题目描述 艮为山,动静得宜,适可而止:兑为泽,刚内柔外,上下相和. 艮卦:兼山,艮:君子以思不出其位.财帛常打心头走,可惜眼前难到手,不如意时且忍耐,逢着闲事休 ...

  3. 牛客小白月赛61 F.选座椅(双指针)

    牛客小白月赛61 F.选座椅(双指针) 显然 ( l , r ) (l,r) (l,r)满足 ( l , r + 1 ) (l,r+1) (l,r+1)满足. 那么可以考虑双指针,枚举 l l l,然 ...

  4. 牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)

    链接:https://ac.nowcoder.com/acm/contest/392/F 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536 ...

  5. 牛客小白月赛17 F小黄鸭(计算几何+积分+二分)

    链接:https://ac.nowcoder.com/acm/contest/1085/F 来源:牛客网 题目描述 小sun的寝室有一只小黄鸭,小黄鸭浮在水面上的样子特别可爱,现在小sun有一个问题: ...

  6. 牛客小白月赛17 F小黄鸭(计算几何+积分+二分)

    题目链接:https://ac.nowcoder.com/acm/contest/1085/F 题解: 根据,,可得① 球的正视图是个圆心为(0,r),半径为r的圆,方程为② 侵入水中的体积: 体积公 ...

  7. 牛客小白月赛58 B(暴力)C(思维)D(dp滚动数组优化)

    牛客小白月赛58 感觉没什么意思,这场月赛出题人有点问题. B 题意:给定一定的数据填充顺序和每一个填充层的名称,只有填充满了上一层才可以填充下一层. 但是每一层又属于某一个大层,一个大层中包含了若干 ...

  8. 牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟

    牛客小白月赛28 E-会当凌绝顶,一览众山小 线段树+二分暴力模拟 题意 思路 Code 传送门: https://ac.nowcoder.com/acm/contest/16081/E 题意 登山顺 ...

  9. F.孤独(牛客小白月赛39)

    F.孤独(牛客小白月赛39) 题意: 给定一棵树,寻找一个路径,将断掉所有与这个路径上的点相连的边,使得剩下的最大连通块的大小最小 题解: 这题有点印象,感觉做过,至少这个方法肯定遇到过 设dp[u] ...

最新文章

  1. 字典-变量的定义以及应用场景
  2. 0459-Repeated Substring Pattern(重复的子字符串)
  3. java注解中可使用对象_Java注解(二):实战 - 直接使用对象列表生成报表...
  4. Angularjs进阶笔记(1)—不同类型的双向数据绑定
  5. PostgreSQL13逻辑备份pg_dump
  6. linux 报错 bash ‘/bin/sh: Syntax error: “(” unexpected
  7. 1106冒泡排序语法树
  8. linux popen阻塞_linux popen()与system()的区别
  9. 放眼世界,一个人重整WP的整套代码,唯吾一人
  10. vue-router 修改或添加新参数
  11. Access数据库的模糊查询
  12. 计算机图形学-第一八分象限的DDA算法
  13. python手写数字识别实验报告_ANN MNIST手写数字识别总结
  14. 【论文阅读】深度学习与多种机器学习方法在不同的药物发现数据集进行对比
  15. 世界各国首都经纬度-json
  16. RabbitMq:java.lang.NoClassDefFoundError: org/springframework/util/backoff/BackOff
  17. java小组的队名,霸气小组名称口号大全
  18. PGP 对于JSON的加解密
  19. 金海佳学C++primer 练习9.4/9.5
  20. Wannfly挑战赛20 A 染色

热门文章

  1. python画50个图-Matplotlib如何绘制多个子图
  2. python快速入门教程-Python 开发 14 天快速入门
  3. 开课吧学python靠谱吗-开课吧9.9元学Python课程适合哪些人?开课吧靠谱吗?
  4. python是什么 自学-自学python用什么系统好
  5. python3 x默认使用的编码_Python3编码问题(Python2请忽略)
  6. 高职考计算机基础知识,高职计算机基础及应用教程
  7. 计算机网络实验5以太网链路帧实验,计算机网络实验-使用Wireshark分析以太网帧与ARP协议.docx...
  8. 手机能上wifi电脑不行_电脑如何当Wifi供手机使用
  9. python加载csv文件去重_用python读写和处理csv文件
  10. python os模块手册_Python OS模块常用函数说明