首页 > 其他分享 >B-A Bit More Common

B-A Bit More Common

时间:2024-07-16 21:19:17浏览次数:19  
标签:方案 特殊 一个 最低 Common 序列 Bit dp More

答案=至少一个子序列为1-只有一个子序列为1
显然所有被选的数&1都是1
只有一个子序列为1的情况:答案只能是所有二进制最低位为1的数
证:
若答案不包括A[p[i]]
则A[p[1]]&A[p[2]]&A[p[i-1]&A[p[i+1]]&A[p[i+2]]&A[p[n]]=1
因为A_p_i&1==1
所以 A[p[1]]&A[p[2]]&A[p[i-1]&A[p[i]]&A[p[i+1]]&A[p[i+2]]&A[p[n]]=1,矛盾

"特殊位"定义:
如果某一位上只有一个0=>移除0所在的数后这位与和为1,
这位叫"特殊位"

因为只有一个子序列为1的话就只有一个答案
所以任意移除都不行=>每个数都至少1个对应特殊位

dp[i][j] 表示i个数对应了j个“特殊位”且每个数至少一个特殊位的方案数
新“特殊位”两种可能:绑定的一个新的数,绑定旧的数
既 dp[i][j] = i * (dp[i][j-1] + dp[i-1][j-1]);

设k个合法数绑了t个“特殊位”
方案数是C(n,k)[选k个&1==1的方案树]*2((n-k)(m-1)[除了这k个随便选{除了最低位}])*C(M-1,T)[除了最低位选出t个特殊位]*dp[k][t]*((2k-k-1)[这一位的所有选法-全1(1)-是特殊位的情况(k)]^(m-1-t)[除了特殊位和最低位])加上k=1的方案数(除了最低位全0)(n种)
最后用"至少一个子序列为1"(上一题)的方案书减去刚刚求的"只有一个子序列为1"的方案书

标签:方案,特殊,一个,最低,Common,序列,Bit,dp,More
From: https://www.cnblogs.com/zfm13/p/18306148

相关文章

  • 说说RabbitMQ延迟队列实现原理?
    使用RabbitMQ和RocketMQ的人是幸运的,因为这两个MQ自身提供了延迟队列的实现,不像用Kafka的同学那么苦逼,还要自己实现延迟队列。当然,这都是题外话,今天咱们重点来聊聊RabbitMQ延迟队列的实现原理,以及RabbitMQ实现延迟队列的优缺点有哪些?很多人知道使用RabbitMQ是可......
  • Microsoft.Virtualization.Client.Common.dll文件丢失导致程序无法运行问题
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个Microsoft.Virtualization.Client.Common.dl......
  • RabbitMQ复习
    消息中间件的作用:(1)异步处理(2)应用解耦(3)流量削峰消息中间件的缺点:引入了新的东西,也就增加了新的故障点。比如消息中间件挂了,影响系统的可用性。两种框架:JMS和AMQP最大的区别是JMS是是javaapi,对跨平台的支持较差,但在纯java技术栈内首选。AMQP是跨平台的,序列化方式选json,......
  • RabbitMQ 安装并成功启动后,无法访问http://127.0.0.1:15672/#/
    1.问题描述&解决:安装了最新版RabbitMQ,然后先正常启动也无法访问,然后网上搜呀搜,什么重启服务,使用管理员打开cmd,或者是使用管理员运行下图的RabbitMQservice-start,最后又尝试了rabbitmq-pluginsenablerabbitmq_management这个命令,都无法在火狐浏览器打开http://127.0.0.1:1......
  • Linux 报错INFO: task blocked for more than 120 seconds
     一般情况下,Linux会把可用内存的40%的空间作为文件系统的缓存。 当缓存快满时,文件系统将缓存中的数据整体同步到磁盘中。但是系统对同步时间有最大120秒的限制。 如果文件系统不能在时间限制之内完成数据同步,则会发生上述的错误。 这通常发生在内存很大的系统上。系统......
  • view, cat, more, 和 less 的区别
    view,cat,more,和less都是用于查看文本文件内容的命令行工具,但它们各自有特点和使用场景:cat全名:concatenate(连接)功能:主要用于显示一个或多个文件的内容。如果文件很大,cat会一次性输出所有内容,可能不适合查看大文件,因为内容会快速滚动过屏幕,不易于阅读。用法示例:catfilename......
  • 百日筑基第二十天-一头扎进消息队列3-RabbitMQ
    百日筑基第二十天-一头扎进消息队列3-RabbitMQ如上图所示,RabbitMQ由Producer、Broker、Consumer三个大模块组成。生产者将数据发送到Broker,Broker接收到数据后,将数据存储到对应的Queue里面,消费者从不同的Queue消费数据。那么除了Producer、Broker、Queue、Cons......
  • 在WPF中使用WriteableBitmap对接工业相机及常用操作
    写作背景写这篇文章主要是因为工业相机(海康、大恒等)提供的.NET开发文档和示例程序都是用WinForm项目来说明举例的,而在WPF项目中对图像的使用和处理与在WinForm项目中有很大不同。在WinForm中用System.Drawing.Bitmap来处理图像,而在WPF中是用System.Windows.Media.Imaging.Writeab......
  • Inhabitant of the Deep Sea
    题目链接:https://www.luogu.com.cn/problem/CF1955C题解思路:海妖攻击船是一前一后,但如果按照这样循环必定超时,所以换个思路,可以先算出海妖攻击前、后的次数,然后分别扣除船的耐久度。由于海妖是先攻击前面,所以可以让攻击后面的次数为可k2=k/2(由于会舍去后面小数),再让前面为可......