题面:

2339: [HNOI2011]卡农

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 807  Solved: 483
[Submit][Status][Discuss]

Description

令f[i]为前i个集合满足条件的方案数,则前i-1个集合确定后,第i个也随之确定(元素出现偶数次)。
f[i]=A[m][i-1]-f[i-1](前i-1个集合已经满足元素出现偶数次)-f[i-2]*(i-1)*(2^n-1-i+2)(第i个集合在前i-1个集合中出现过)

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string.h>
 4 #include <algorithm>
 5 using namespace std;
 6 #define maxn 1000001
 7 #define mod 100000007
 8 #define LL long long
 9 LL f[maxn],g[maxn];
10 LL mx;
11 int n,m;
12 LL qpow(LL x,LL y)
13 {
14     LL ans=1;
15     for(;y;y>>=1,x=x*x%mod)
16         if(y&1)
17             ans=ans*x%mod;
18     return ans;
19 }
20 void init()
21 {
22     mx=qpow(2,n);
23     mx=--mx;
24     g[0]=1;
25     for(int i=1;i<=m;i++)
26         g[i]=g[i-1]*(mx-i+1)%mod;
27 }
28 void dp()
29 {
30     init();
31     for(int i=3;i<=m;i++)
32     {
33         f[i]=g[i-1]+(mod-f[i-1])+(mod-f[i-2]*(i-1)%mod*(mx-(i-2)+mod)%mod);
34         f[i]%=mod;
35     }
36 }
37 int main()
38 {
39     scanf("%d%d",&n,&m);
40     dp();
41     LL s=1;
42     for(int i=2;i<=m;i++)
43         s=s*i%mod;
44     printf("%d",f[m]*qpow(s,mod-2)%mod);
45 }

BZOJ 2339

转载于:https://www.cnblogs.com/radioteletscope/p/7351652.html

BZOJ 2339[HNOI2011]卡农相关推荐

  1. [Luogu P3214] [BZOJ 4339] [HNOI2011]卡农

    洛谷传送门 BZOJ传送门 题目描述 众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则.他将声音分成 nnn 个音阶,并将音乐分成若干个片段.音乐的每个片段 ...

  2. bzoj2339[HNOI2011]卡农 dp+容斥

    2339: [HNOI2011]卡农 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 842  Solved: 510 [Submit][Status ...

  3. [BZOJ2339][HNOI2011]卡农

    [BZOJ2339][HNOI2011]卡农 试题描述 输入 见"试题描述" 输出 见"试题描述" 输入示例 见"试题描述" 输出示例 见& ...

  4. P3214 [HNOI2011] 卡农 题解

    P3214 [HNOI2011] 卡农 文章目录 代码 题解 前言 正文 要素 代码 #include <bits/stdc++.h> using namespace std;#defin ...

  5. [HNOI2011] 卡农 题解

    众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则. 他将声音分成 nn 个音阶,并将音乐分成若干个片段.音乐的每个片段都是由 11 到 nn 个音阶构成的和 ...

  6. [HNOI2011]卡农

    题目描述 众所周知卡农是一种复调音乐的写作技法,小余在听卡农音乐时灵感大发,发明了一种新的音乐谱写规则.他将声音分成 n 个音阶,并将音乐分成若干个片段.音乐的每个片段都是由 1 到 n 个音阶构成的 ...

  7. BZOJ2339: [HNOI2011]卡农(dp 容斥)

    题意 从$1 - n$中任意选择一些数,选$m$次构成$m$个集合 保证: 集合不为空 任意两个集合不相同 集合内各个元素xor起来等于0 Sol 神仙题Orz 我看到两种做法,一种是洛谷题解上的直接 ...

  8. HNOI2011 卡农

    题目传送门 Description \(n​\)种元素,构成\(m​\)个集合\((n,m\leq 10^6)\),保证集合互不相同且非空,且每个元素总出现次数为偶数,两种方案集合重新排列可互相得到算 ...

  9. 数论三之排列组合Ⅱ——Virus Tree 2,RGB Coloring,123 Triangle,排列计数,排队,卡农

    丝且人一口 Virus Tree 2 description solution code RGB Coloring description solution code 123 Triangle des ...

  10. 平遥摄影展:卡农•布斯克茨和他的「一天的结束」

    平遥国际摄影展,一年一度,端相机人的节日.满街是镜头和摄影背心的攒动.我朋友说:没看到好照片,倒是看到不少好相机.这或许就是中国摄影界的写照,也是平遥摄影展的困境.如果没遇到布斯科茨,或许我真的白来平 ...

最新文章

  1. 用 MySQL 实现分布式锁,你听过吗?
  2. 个人网站架构设计(一)
  3. 一个修改RAC REDO引起的DATAGUARD错误 的处理
  4. leetcode 368. Largest Divisible Subset | 368. 最大整除子集(动态规划详解)
  5. 内存不能为读写的解决方法
  6. 计算机玩游戏不能全屏,玩游戏屏幕两边有黑条?教你简单几步轻松解决-win7玩游戏不能全屏...
  7. select函数_SQL高级功能:窗口函数
  8. java并发临界资源管理
  9. 打开帧率显示_2K165hz IPS屏,微星MAG274QRF-QD显示器
  10. ROS入门 小乌龟跟随示例
  11. 几种常见的Windows 服务器无法联网/无法连接远程桌面等故障解决方案
  12. poj 匈牙利二分匹配算法2239 Selecting Courses
  13. 原型模式(Prototype)解析例子
  14. 为什么阿里巴巴禁止在foreach里进行元素的remove/add操作
  15. 智慧校园导航软件,实现3D校园室内外定位导航!
  16. svn服务器端 忽略文件夹,SVN忽略不需要版本控制的文件或者文件夹
  17. html生日快乐源代码
  18. 设置两个路由器连接以扩大WiFi覆盖范围的方法
  19. 量化策略:如何利用死猫反弹获利?
  20. NGUI:HUD Text

热门文章

  1. 自抗扰控制中的扩张状态观测器收敛性分析1
  2. 碰到高速下载器捆绑软件自动下载,卸载不完怎么办?
  3. 数字舵机和模拟舵机的区别
  4. Redis--布谷鸟过滤器--使用/原理/实例
  5. error: invalid operands to binary == (have ‘uid_t’ {aka ‘unsigned int’} and ‘kuid_t’
  6. python11.12
  7. 如何将.frm,.MYD,.MYI文件导入数据库
  8. [密码学复习]Cryptography
  9. html caption 靠左,HTML caption align 属性 | Paoo教程
  10. 小不点浏览器 v1.00 官方