题目描述

  给你一个长度为\(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相关推荐

  1. 洛谷P3773 [CTSC2017]吉夫特(Lucas定理,dp)

    题意 满足$b_1 < b_2 < \dots < b_k$且$a_{b_1} \geqslant a_{b_2} \geqslant \dots \geqslant a_{b_k} ...

  2. [CTSC2017]吉夫特(Lucas定理,DP)

    送70分,预处理组合数是否为偶数即可. 剩下的数据,根据Lucas定理的推论可得当且仅当n&m=n的时候,C(n,m)为奇数. 这样就可以直接DP了,对于每个数,考虑它对后面的数的影响即可,直 ...

  3. BZOJ4591 SHOI2015超能粒子炮·改(卢卡斯定理+数位dp)

    注意到模数很小,容易想到使用卢卡斯定理,即变成一个2333进制数各位组合数的乘积.对于k的限制容易想到数位dp.可以预处理一发2333以内的组合数及组合数前缀和,然后设f[i][0/1]为前i位是否卡 ...

  4. 洛谷——P3807 【模板】卢卡斯定理

    P3807 [模板]卢卡斯定理 洛谷智推模板题,qwq,还是太弱啦,组合数基础模板题还没做过... 给定n,m,p($1\le n,m,p\le 10^5$) 求 $C_{n+m}^{m}\ mod\ ...

  5. 卢卡斯定理及其卢卡斯定理的拓展

    前言: 求一个组合数 ,我们可以通过逆元的方式在 O(n)的时间复杂度内求出 但如果数特别大时(数据范围 ),又该怎么办 使用卢卡斯定理求解 卢卡斯定理:(组合数取模,取模的模数只能是质数) 即  模 ...

  6. 【BZOJ4591】[SHOI2015]超能粒子炮·改 (卢卡斯定理)

    [BZOJ4591][SHOI2015]超能粒子炮·改 (卢卡斯定理) 题面 BZOJ 洛谷 题解 感天动地!终于不是拓展卢卡斯了!我看到了一个模数,它是质数!!! 看着这个东西就感觉可以递归处理. ...

  7. 数学--数论--HDU 4675 GCD of Sequence(莫比乌斯反演+卢卡斯定理求组合数+乘法逆元+快速幂取模)

    先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N i ...

  8. 『数学』--数论--组合数+卢卡斯定理+扩展卢卡斯定理

    组合数: 在N个数中选取M个数,问选的方式有几种? 直接递归暴力简单 #include<cstdio> const int N = 2000 + 5; const int MOD = (i ...

  9. 【启智树NOIP模拟】奇偶【卢卡斯定理】【背包】【bitset】

    题意:给定 nnn 个数 aia_iai​ ,求选出(可以重复,考虑顺序)MMM 个数和为 SSS 的方案数模 222. n≤200,ai≤105,M,S≤1018n\leq 200,a_i\leq ...

最新文章

  1. jquery发送put请求_浅谈GET,POST,PUT发送请求
  2. proto文件导入mysql_导出mysql表结构生成grpc需要的proto文件工具
  3. Android 资源保护问题——探索
  4. tomcat 和 jdk 版本 对应关系
  5. Linux查看磁盘目录内存空间使用情况
  6. 电商那些年,我摸爬打滚出的高并发架构实战精髓(续)
  7. 如何编写一份软件工程实验报告
  8. HTTP 协议的三次握手
  9. Navcat:1251 client does not support ...问题
  10. protobufjs 命令执行_protobufjs简单使用
  11. clearfix清除浮动
  12. linux系统装好后优化,CentOS 5.6 Linux安装系统后的基本优化
  13. 苹果测试网速软件,Mac 网速测试工具 SpeedTest by Ookla
  14. 教程:利用艾斯PM3GUI软件助手,帮你查IC卡漏洞
  15. 码农翻身全年文章精华
  16. linux卸载lightdm,Ubuntu安装LightDM
  17. 潭州教育学python怎么样_在潭州教育学原画两个月的感受
  18. Fluent UDF代码编写
  19. android开发包下载
  20. (7)centos7 同步服务器时间

热门文章

  1. zedboard--zynq使用自带外设IP让ARM PS访问FPGA(八) 转载
  2. Ubuntu 中改变文件的默认打开方式(转)
  3. 搜索引擎怎么收集的那么多内容?
  4. Struts+Spring+Hibernate练习(完整)
  5. C#图片处理基本应用(裁剪,缩放,清晰度,水印)
  6. silverlight 3D 游戏开发
  7. OSCON上最受欢迎的Docker演讲
  8. 江西理工大学南昌校区cool code竞赛
  9. stack overflow--技术问答网站
  10. httpd2.4源码编译