首页 > 其他分享 >QOJ 1086 Bank Security Unification

QOJ 1086 Bank Security Unification

时间:2024-06-30 21:42:57浏览次数:1  
标签:1086 int ll maxw Unification ans Security mx 位为

令题目给定的序列为 \(a_{1\sim n}\)。

考虑到一个比较基础的 DP 是设 \(f_i\) 为以 \(a_i\) 结尾的序列的最大值。
然后转移就是 \(f_i = \max\{f_j + (a_i \& a_j)\}\)。

考虑排除掉一些不优的状态。
令 \(a_j\) 的最高位为 \(x\),且 \(k\) 满足 \(a_k\) 最高位也为 \(x\) 且 \(k < j\)。

  • 若 \(a_i\) 第 \(x\) 位为 \(1\),那么 \(a_i\& a_j\le 2^{x + 1} - 1 < 2\times 2^x\),于是可以知道 \(f_k\to f_i\) 肯定不如 \(f_k\to f_j\to f_i\)。
  • 若 \(a_i\) 第 \(x\) 位为 \(0\),那么若是 \(f_k\to f_i\),贡献肯定 \(< 2^x\),而若 \(f_k\to f_j\to f_i\),贡献肯定 \(\ge 2^x\)。

综上,能够知道转移时只选关于每个最高位最考后的位置转移即可。

时间复杂度 \(\mathcal{O}(n\log V)\)。

#include<bits/stdc++.h>
using ll = long long;
const int maxw = 40;
ll f[maxw], s[maxw];
int main() {
   int n; scanf("%d", &n);
   for (ll x; n--; ) {
      scanf("%lld", &x);
      ll mx = 0;
      for (int i = 0; i < maxw; i++)
         mx = std::max(mx, f[i] + (s[i] & x));
      for (int i = maxw - 1; ~ i; i--) 
         if (x >> i & 1ll) {f[i] = mx, s[i] = x;} 
   }
   ll ans = 0;
   for (int i = 0; i < maxw; i++)
      ans = std::max(ans, f[i]);
   printf("%lld\n", ans);
   return 0;
}

标签:1086,int,ll,maxw,Unification,ans,Security,mx,位为
From: https://www.cnblogs.com/rizynvu/p/18276985

相关文章

  • 阐述Spring Security概念及其运用于实战
    SpringSecurity(安全校验)1.概述SpringSecurity是Spring项目组提供的安全服务框架,核心功能包括认证和授权.为系统提供了声明式安全访问控制功能,减少了为系统安全而编写大量重复代码的工作.在如今开发模式中,SpringSecurity已经成为Java程序员必备的一项技术,简化认......
  • SEETF-2023 express-javascript-security ejs相关漏洞
    今天做个ejs相关题目。进入页面只发现一个输入框,题目标签是ejs相关,去github看看源码,发现ejs版本为3.1.9,可以确定地是rce漏洞。接下来说说这个rce漏洞。3.1.9版本的rce漏洞主要是因为使用了这个模板来构建网页逻辑导致的。点击查看代码//index.jsconstexpress=require('e......
  • SpringBoot的Security和OAuth2的使用
    创建项目先创建一个spring项目。然后编写pom文件如下,引入spring-boot-starter-security,我这里使用的springboot是2.4.2,这里使用使用spring-boot-dependencies,在这里就能找到对应的security的包。<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.......
  • vulnhub - LAMPSECURITY: CTF5
    vulnhub-LAMPSECURITY:CTF5信息收集端口扫描nmap-sT--min-rate10000-p-192.168.157.164详细扫描sudonmap-sT-sC-sV-O-p22,25,80,110,111,139,143,445,901,3306,44699192.168.157.164漏洞探测sudonmap--script=vulnp22,25,80,110,111,139,143,445,901......
  • Fundamentals of Networks and Security – 4CM507
    FundamentalsofNetworksandSecurity–4CM507ContentsModuleLeaderKeydatesanddetailsDescriptionoftheassessmentAssessmentContentBackground:Casestudy-LocalAreaNetworkDesign:CompliancewithRequirementIntroductionGeneralrequi......
  • 鸿蒙开发文件管理:【@ohos.securityLabel (数据标签)】
    数据标签该模块提供文件数据安全等级的相关功能:向应用程序提供查询、设置文件数据安全等级的JS接口。 说明: 本模块首批接口从APIversion9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。导入模块importsecurityLabelfrom'@ohos.securityLabe......
  • 【第七篇】SpringSecurity核心组件和核心过滤器
    一、SpringSecurity中的核心组件在SpringSecurity中的jar分为4个,作用分别为jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-config如果使用SpringSecurityXML命名空间进行配置或者SpringSecurity的<br......
  • 【第三篇】SpringSecurity请求流程分析
    简介本篇文章主要分析一下SpringSecurity在系统启动的时候做了那些事情、第一次请求执行的流程是什么、以及SpringSecurity的认证流程是怎么样的,主要的过滤器有哪些?SpringSecurity初始化流程1.加载配置文件web.xml当Web服务启动的时候,会加载我们配置的web.xml文件web.xml......
  • springboot3项目的搭建四.3(security登录认证配置)
    security的jwt验证:总体来说,我们加入依赖项,security就已经开始生效了,但是使用的默认的UserDetails和UserDetailsService,一、我们只要继承UserDetailsService,在数据库中查询用户和权限列表,封装成UserDetails的实现类,返回就可以实现,security验证的接管,最多在security配置类中,放行......
  • 宝塔 nginx 安装 ModSecurity 模块
    本文基于modsecurity,ubuntu系统nginx搭建环境,需要先安装modsecurity,再编译安装nginx它是一款开源的的三方模块,功能包括http流量日志,实时检测等功能。ModSecurity核心规则集(CRS)提供以下类别的保户来防止攻击。官方宣传:◆HTTPProtection(HTTP防御)-HTTP协议和本地定义使用的......