Solution -「洛谷 P3773」「CTSC 2017」吉夫特
Description
Link.
求满足
\]
的子序列个数。
Solution
哇哦。
&\ \ \ \ \prod_{i=2}^{k}{a_{b_{i}-1}\choose a_{b_{i}}} \\
&\equiv\prod_{i=2}^{k}{\lfloor\frac{a_{b_{i}-1}}{2}\rfloor\choose\lfloor\frac{a_{b_{i}}}{2}\rfloor}\times{a_{b_{i}-1}\bmod2\choose a_{b_{i}}\bmod2}
\end{aligned}
(\operatorname{mod} 2)
\]
式子后面的 \(\dbinom{a_{b_{i}-1}\bmod2}{a_{b_{i}\bmod2}}\) 一共有四种情况,其中只有 \(\dbinom{0}{1}=0\)。其他都为 \(1\)。
意味着只要出现 \(a_{b_{i}-1}\equiv0\bmod2\) 且 \(a_{b_{i}}\equiv1\bmod1\) 的情况,整个式子就为零了。
结论:\(\dbinom{n}{m}\equiv0\space(\operatorname{mod}2)\) 当且仅当 \(n\operatorname{bitand}m=m\)。
证明(也许不是特别严谨):我们可以知道:
\]
我们发现:
\]
这一坨,就是在一直进行二进制移位,\(\operatorname{shr}1\)。
那么我们可以得出一个结论:如果对于我们记 \((n)_{k}\) 表示 \(n\) 在二进制意义下的第 \(k\) 位。\((n)_{k}\in[0,1]\)
那么对于 \(\forall i\),有 \((n)_{i}=0\) 且 \((m)_{i}=1\),那么 \(\dbinom{n}{m}\equiv0\space(\operatorname{mod} 2)\)。
所以 \(n\operatorname{bitand}m=m\),证毕。
我们题目要求的是最后算出来是个奇数,那么就不能存在 \(a_{b_{i}-1}\operatorname{bitand}a_{b_{i}}=a_{b_{i}}\)。
也就是 \(a_{b_{i}}\) 为 \(a_{b_{i}-1}\) 的子集。
接下来我们可以设计一个 DP,我们设 \(f_{i}\) 为以 \(a_{i}\) 为开头的答案。
那么转移就是加法原理:
\]
其中 \(t_{i}\) 表示 \(i\) 在序列中的位置。
时间复杂度由二项式定理可知是 \(\Theta(3^{\log_{2}\max\{a_{i}\}})\)。
#include <cstdio>
#define mod ( 1000000007 )
const int MAXN = 250000 + 5;
int N;
int val[MAXN], dp[MAXN];
int buc[MAXN];
int main( ){
scanf( "%d", &N ); for( int i = 1; i <= N; ++ i ){ scanf( "%d", &val[i] ); buc[val[i]] = i; }
int Ans = 0;
for( int i = N; i; -- i ){
dp[i] = 1;
for( int j = val[i] & ( val[i] - 1 ); j; j = ( j - 1 ) & val[i] ){
if( buc[j] > i ) dp[i] = ( dp[i] + dp[buc[j]] ) % mod;
}
Ans = ( Ans + dp[i] ) % mod;
}
printf( "%d\n", ( Ans - N + mod ) % mod );
return 0;
}
Solution -「洛谷 P3773」「CTSC 2017」吉夫特的更多相关文章
- 「区间DP」「洛谷P1043」数字游戏
「洛谷P1043」数字游戏 日后再写 代码 /*#!/bin/sh dir=$GEDIT_CURRENT_DOCUMENT_DIR name=$GEDIT_CURRENT_DOCUMENT_NAME ...
- 「 洛谷 」P2768 珍珠项链
珍珠项链 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 题目来源 「 洛谷 」P2768 珍珠项链 ...
- 「 洛谷 」P4539 [SCOI2006]zh_tree
小兔的话 推荐 小兔的CSDN [SCOI2006]zh_tree 题目限制 内存限制:250.00MB 时间限制:1.00s 标准输入输出 题目知识点 思维 动态规划 \(dp\) 区间\(dp\) ...
- 「 洛谷 」P2151 [SDOI2009]HH去散步
小兔的话 欢迎大家在评论区留言哦~ HH去散步 题目限制 内存限制:125.00MB 时间限制:1.00s 标准输入 标准输出 题目知识点 动态规划 \(dp\) 矩阵 矩阵乘法 矩阵加速 矩阵快速幂 ...
- Solution -「JSOI 2019」「洛谷 P5334」节日庆典
\(\mathscr{Description}\) Link. 给定字符串 \(S\),求 \(S\) 的每个前缀的最小表示法起始下标(若有多个,取最小的). \(|S|\le3\time ...
- Solution -「洛谷 P4372」Out of Sorts P
\(\mathcal{Description}\) OurOJ & 洛谷 P4372(几乎一致) 设计一个排序算法,设现在对 \(\{a_n\}\) 中 \([l,r]\) 内的元素排 ...
- Solution -「POI 2010」「洛谷 P3511」MOS-Bridges
\(\mathcal{Description}\) Link.(洛谷上这翻译真的一言难尽呐. 给定一个 \(n\) 个点 \(m\) 条边的无向图,一条边 \((u,v,a,b)\) 表示从 ...
- Solution -「APIO 2016」「洛谷 P3643」划艇
\(\mathcal{Description}\) Link & 双倍经验. 给定 \(n\) 个区间 \([a_i,b_i)\)(注意原题是闭区间,这里只为方便后文描述),求 \(\ ...
- 「P4994」「洛谷11月月赛」 终于结束的起点(枚举
题目背景 终于结束的起点终于写下句点终于我们告别终于我们又回到原点…… 一个个 OIer 的竞赛生涯总是从一场 NOIp 开始,大多也在一场 NOIp 中结束,好似一次次轮回在不断上演.如果这次 NO ...
- 「洛谷4197」「BZOJ3545」peak【线段树合并】
题目链接 [洛谷] [BZOJ]没有权限号嘤嘤嘤.题号:3545 题解 窝不会克鲁斯卡尔重构树怎么办??? 可以离线乱搞. 我们将所有的操作全都存下来. 为了解决小于等于\(x\)的操作,那么我们按照 ...
随机推荐
- 六大云端 Jupyter Notebook 平台测评
有许多方法可以与其他人共享静态 Jupyter 笔记本,例如把它发布在 GitHub 上或通过 nbviewer 链接进行分享. 但是,如果接收人已经安装了 Jupyter Notebook 环境,那 ...
- Vulhub靶场的搭建
Vulhub靶场的搭建(基于centos7) 1>简述 很多人在搭建Vulhub靶场的时候,可能也搜到过许多的文章,但是大多数的文章只是有一个流程,对其中的原理,步骤没有进行详细的说明,这也就导 ...
- 沉思篇-剖析JetPack的Lifecycle
这几年,对于Android开发者来说,最时髦的技术当属Jetpack了.谷歌官方从19年开始,就在极力推动Jetpack的使用,经过这几年的发展,Jetpack也基本完成了当时的设计目标--简单,一致 ...
- 消失的死锁:从 JSF 线程池满到 JVM 初始化原理剖析
一.问题描述 在一次上线时,按照正常流程上线后,观察了线上报文.接口可用率十分钟以上,未出现异常情况,结果在上线一小时后突然收到jsf线程池耗尽的报警,并且该应用一共有30台机器,只有一台机器出现该问 ...
- 发布:iNeuOS工业互联网操作系统 V5 Preview1 版本(自主可控)
这半年来一直深耕包头,这个城市比较不错,但是推进项目的难度确实挺大的.与开发产品相比,后者更省心.但是光研发产品,没有项目依托,没办法产生价值.有些大学和研究院确实有好的产品,但是没有市场化能力,再好 ...
- MySQL8新特性窗口函数详解
本文博主给大家详细讲解一波 MySQL8 的新特性:窗口函数,相信大伙看完一定能有所收获. 本文提供的 sql 示例都是基于 MySQL8,由博主亲自执行确保可用 博主github地址:http:// ...
- Windows 10 开启子系统Ubuntu
卸载原有的wsl 分发子系统 # 查看已安装的wsl子系统 wsl --list # 依次删除wsl 子系统 wsl --unregister <子系统名称> 结果 安装子系统Ubuntu ...
- LLM技术在自然语言处理中的实践与改进
目录 <LLM技术在自然语言处理中的实践与改进> 引言 自然语言处理 (NLP) 是人工智能领域的一个重要分支,它研究如何将计算机程序与人类语言进行交互,从而理解.分析.生成和翻译文本.近 ...
- AI隐私保护中的常见隐私隐私问题与解决方案
目录 题目:<AI隐私保护中的常见隐私问题与解决方案> 引言 随着人工智能技术的快速发展,AI隐私保护也成为了一个备受关注的问题.由于AI技术的应用范围越来越广泛,例如语音识别.图像识别. ...
- Net 编译器平台--- Roslyn Scripting APIs
引言 上一篇中.Net 编译器平台 --- Roslyn,介绍了Roslyn的各项功能,包括公开API,使用语法,使用语义,使用工作区等功能. 那么回到上一篇中提到的问题,实现类似这样的功能(以下代码 ...