首页 > 其他分享 >P3514 [POI2011] LIZ-Lollipop

P3514 [POI2011] LIZ-Lollipop

时间:2023-09-24 21:33:54浏览次数:45  
标签:奇数 sum POI2011 构造 偶数 LIZ 端点 移动 P3514

很神奇的题

题意:给你一个由 \(0\) 和 \(1\) 组成的序列,给出 \(q\) 个询问,每次询问是否有原序列是否有总和为 \(x\) 的子段。

考虑递推,但是小答案对大答案的影响不好算。

考虑大区间对小区间的影响。

设当前区间为 \([l,r]\) ,总和为sum,有 \(4\) 种情况

  1. \(a[l]=2,a[r]=2\);这是无论是把左端点往右移动一个单位,或是把右端点往左移动一个单位,sum-2都能被构造出来
  2. \(a[l]=2,a[r]=1\); 把左端点往右移动一个单位,sum-2能被构造出来
  3. \(a[l]=1,a[r]=2\); 把右端点往左移动一个单位,sum-2能被构造出来
  4. \(a[l]=1,a[r]=1\);左端点往右移动一个单位,并把右端点往左移动一个单位,sum-2能被构造出来

所以,当我们找到一个能被构造的最大的偶数,比他小的所有偶数都能被构造出来。当我们找到一个能被构造的最大的奇数,比他小的所有奇数都能被构造出来。

再思考一下发现所有可能的构造方案都已经被上面的情况包含了。

最后的问题是怎么找最大的偶数、奇数。显然其中有一个数是 \(sum[n]\). 因为\(sum[n]\)要减去一个奇数才能改变奇偶性,所以找到最左边的 \(1\),和最右边的 \(1\)。减去其前缀/后缀,就找到了最大的奇数/偶数。

标签:奇数,sum,POI2011,构造,偶数,LIZ,端点,移动,P3514
From: https://www.cnblogs.com/bwartist/p/17726718.html

相关文章

  • CF1862G The Great Equalizer
    题目链接先不考虑修改操作。直接模拟题目意思,可以发现最后留下的一定是最小的数字(因为相同的数每次会保留第一个)。我当时是顺着这个思路做的题目,现在想想反过来想好像会让问题变得更简单,即认为每次保留最后一个相同的数字。那么现在每次留下的就是最后一个数字,显然每次操作会让......
  • [安洵杯 2019]easy_serialize_php
    [安洵杯2019]easy_serialize_php分析源码:<?php$function=@$_GET['f'];functionfilter($img){$filter_arr=array('php','flag','php5','php4','fl1g');$filter='/'.implode(......
  • Node.js ORM Sequelize All In One
    Node.jsORMSequelizeAllInOneSequelizeisaneasy-to-useandpromise-basedNode.jsORMtoolforPostgres,MySQL,MariaDB,SQLite,DB2,MicrosoftSQLServer,andSnowflake.Itfeaturessolidtransactionsupport,relations,eagerandlazyloading,read......
  • unity Editor的target和serializedObject
    转自:Editor.target与Editor.serializedObject|那些遇到过的问题(1r1g.com)首先,有一个CanEditMultipleObjects您目前没有使用的选项。文档中的引用:如果使用这种方法,用户可以在层次结构窗口中选择多个资产并一次更改所有资产的值。作为一个基本示例,GameObjects在场景中选择......
  • java.lang.ExceptionInInitializerError
    首先,这是匿名内部类初始化的时候报的错,然后这个报错只能代表初始化失败了,具有一定迷惑性,具体什么原因导致的,还得进一步分析建议:1、首先检查配置文件,有可能对应环境的配置文件没有配置(我就是)2、如果配置文件没问题,那就只能每一步都加下日志......
  • final作用且和 finally finalize的区别
    final作用:用于修饰类属性和方法1.被fianl修饰的类不可以被继承2.被fianl修饰的方法不可以被重写3.被final修饰的变量不可以被改变,被final修饰不可变的是变量的引用,而不是引用指向的内容,引用指向的内容是可以改变的.final,finally,finalize区别final......
  • @JsonSerialize @JsonDeserialize @JsonFormat 三个注解的区别及一般用法
    三个注解区别@JsonSerialize:该注解用于指定在将Java对象序列化为JSON字符串时使用的序列化器。可以将其应用于字段、方法或类级别。通过@JsonSerialize注解,可以自定义序列化过程,例如将日期格式化为特定的字符串、将枚举类型序列化为其名称而不是值等。@JsonDeserialize:该注解用......
  • evil-winrm:An error of type OpenSSL::Digest::DigestError happened, message is Dig
    使用evil-winrm无法连接主机,出现以下错误Info:EstablishingconnectiontoremoteendpointError:AnerroroftypeOpenSSL::Digest::DigestErrorhappened,messageisDigestinitializationfailed:initializationerrorError:Exitingwithcode1 修改/etc/ssl/ope......
  • 关于 Commerce 启动时遇到的错误消息 failed to initialize connector HTTP 9001
    使用命令行install.bat-rcx-for-spastart启动commerce实例时,遇到下列错误消息:SEVERE:Failedtoinitializeconnector[ConnectorHTTP/1.1-9001]这个错误并不影响最后的Commerce正常运行:SEVERE:Failedtoinitializeconnector[ConnectorHTTP/1.1-9001]Spri......
  • fastjson_1.2.24_unserializer_rce
    目录fastjson1.2.24反序列化导致任意命令执行漏洞1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞检测3、漏洞验证1.5、深度利用1、GetShell1.6、修复建议fastjson1.2.24反序列化导致任意命令执行漏洞说明内容漏洞编号漏洞名称fastj......