【CTSC2017】【BZOJ4903】吉夫特 卢卡斯定理 DP
题目描述
给你一个长度为\(n\)的数列\(a\),求有多少个长度\(\geq 2\)的不上升子序列\(a_{b_1},a_{b_2},\ldots,a_{b_k}\)满足
\[ \prod_{i=2}^k\binom{a_{b_{i-1}}}{a_{b_i}}\mod 2>0 \]
答案对\({10}^9+7\)取模。
\(n\leq211985,a_i\leq 233333\)
\(\forall i\neq j,a_i\neq a_j\)
题解
水题。
先忽略长度\(\geq 2\)这个条件。
根据卢卡斯定理,有\(a_{b_i}|a_{b_{i-1}}\)。
从前往后DP。
设\(f_i\)为前面那部分,最后一个数是\(i\)的方案数。
转移直接枚举\(a_i|j\),让\(f_{a_i}+=f_j\)。
时间复杂度:枚举子集的复杂度,\(O(3^{\log \max_{i=1}^na_i})\)
p.s. gift在德语中的意思是毒。
代码
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int p=1000000007;
int f[1000010];
int main()
{int n;scanf("%d",&n);int i,x,j;int ans=0;for(i=1;i<=n;i++){scanf("%d",&x);f[x]=1;for(j=(x+1)|x;j<=233333;j=(j+1)|x)f[x]=(f[x]+f[j])%p;ans=(ans+f[x])%p;}ans=(ans-n+p)%p;printf("%d\n",ans);return 0;
}
转载于:https://www.cnblogs.com/ywwyww/p/8513509.html
【CTSC2017】【BZOJ4903】吉夫特 卢卡斯定理 DP相关推荐
- 洛谷P3773 [CTSC2017]吉夫特(Lucas定理,dp)
题意 满足$b_1 < b_2 < \dots < b_k$且$a_{b_1} \geqslant a_{b_2} \geqslant \dots \geqslant a_{b_k} ...
- [CTSC2017]吉夫特(Lucas定理,DP)
送70分,预处理组合数是否为偶数即可. 剩下的数据,根据Lucas定理的推论可得当且仅当n&m=n的时候,C(n,m)为奇数. 这样就可以直接DP了,对于每个数,考虑它对后面的数的影响即可,直 ...
- BZOJ4591 SHOI2015超能粒子炮·改(卢卡斯定理+数位dp)
注意到模数很小,容易想到使用卢卡斯定理,即变成一个2333进制数各位组合数的乘积.对于k的限制容易想到数位dp.可以预处理一发2333以内的组合数及组合数前缀和,然后设f[i][0/1]为前i位是否卡 ...
- 洛谷——P3807 【模板】卢卡斯定理
P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...
- 卢卡斯定理及其卢卡斯定理的拓展
前言: 求一个组合数 ,我们可以通过逆元的方式在 O(n)的时间复杂度内求出 但如果数特别大时(数据范围 ),又该怎么办 使用卢卡斯定理求解 卢卡斯定理:(组合数取模,取模的模数只能是质数) 即 模 ...
- 【BZOJ4591】[SHOI2015]超能粒子炮·改 (卢卡斯定理)
[BZOJ4591][SHOI2015]超能粒子炮·改 (卢卡斯定理) 题面 BZOJ 洛谷 题解 感天动地!终于不是拓展卢卡斯了!我看到了一个模数,它是质数!!! 看着这个东西就感觉可以递归处理. ...
- 数学--数论--HDU 4675 GCD of Sequence(莫比乌斯反演+卢卡斯定理求组合数+乘法逆元+快速幂取模)
先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N i ...
- 『数学』--数论--组合数+卢卡斯定理+扩展卢卡斯定理
组合数: 在N个数中选取M个数,问选的方式有几种? 直接递归暴力简单 #include<cstdio> const int N = 2000 + 5; const int MOD = (i ...
- 【启智树NOIP模拟】奇偶【卢卡斯定理】【背包】【bitset】
题意:给定 nnn 个数 aia_iai ,求选出(可以重复,考虑顺序)MMM 个数和为 SSS 的方案数模 222. n≤200,ai≤105,M,S≤1018n\leq 200,a_i\leq ...
最新文章
- jquery发送put请求_浅谈GET,POST,PUT发送请求
- proto文件导入mysql_导出mysql表结构生成grpc需要的proto文件工具
- Android 资源保护问题——探索
- tomcat 和 jdk 版本 对应关系
- Linux查看磁盘目录内存空间使用情况
- 电商那些年,我摸爬打滚出的高并发架构实战精髓(续)
- 如何编写一份软件工程实验报告
- HTTP 协议的三次握手
- Navcat:1251 client does not support ...问题
- protobufjs 命令执行_protobufjs简单使用
- clearfix清除浮动
- linux系统装好后优化,CentOS 5.6 Linux安装系统后的基本优化
- 苹果测试网速软件,Mac 网速测试工具 SpeedTest by Ookla
- 教程:利用艾斯PM3GUI软件助手,帮你查IC卡漏洞
- 码农翻身全年文章精华
- linux卸载lightdm,Ubuntu安装LightDM
- 潭州教育学python怎么样_在潭州教育学原画两个月的感受
- Fluent UDF代码编写
- android开发包下载
- (7)centos7 同步服务器时间
热门文章
- zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载
- Ubuntu 中改变文件的默认打开方式(转)
- 搜索引擎怎么收集的那么多内容?
- Struts+Spring+Hibernate练习(完整)
- C#图片处理基本应用(裁剪,缩放,清晰度,水印)
- silverlight 3D 游戏开发
- OSCON上最受欢迎的Docker演讲
- 江西理工大学南昌校区cool code竞赛
- stack overflow--技术问答网站
- httpd2.4源码编译