CodeForces - 1236B Alice and the List of Presents(组合数学+快速幂)
题目链接:点击查看
题目大意:爱丽丝现在有n种礼物,每种礼物有无限种,现在有m个盒子,需要向里面放礼物,满足以下两个条件:
- 每个背包里不能出现相同种类的物品(允许有空背包)
- 在所有的m个背包中,每种物品都出现过。
问方案数对1e9+7取模
题目分析:一开始我的思路方向就错了,我是对于每个盒子有2^n种子集,然后再讨论的m个盒子,发现不管怎么推都没办法满足上面的第二个条件,后来看了题解后知道了,我们可以直接对于每一种礼物,讨论在m中出现的情况,因为每一种礼物在m个盒子中要么出现,要么不出现,其出现的子集共有2^m种情况,因为每种礼物都必须出现,所以对于每一种礼物的空集是不合法的,我们需要在总的子集数中减一,随后对于n个礼物满足乘法原理,其方案数可以相乘,最终答案就是了,因为其中涉及到了减法,我们需要多模两下,防止带着复数运算导致答案错误
代码:
#include<iostream>
#include<cstdlib>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<climits>
#include<cmath>
#include<cctype>
#include<stack>
#include<queue>
#include<list>
#include<vector>
#include<set>
#include<map>
#include<sstream>
using namespace std;typedef long long LL;const int inf=0x3f3f3f3f;const int N=1e5+100;const int mod=1e9+7;LL q_pow(LL a,LL b)//简单的快速幂
{LL ans=1;while(b){if(b&1)ans=ans*a%mod;a=a*a%mod;b>>=1;}return ans;
}int main()
{
// freopen("input.txt","r",stdin);
// ios::sync_with_stdio(false);LL a,b;scanf("%lld%lld",&a,&b);printf("%lld\n",q_pow(((q_pow(2,b)-1)%mod+mod)%mod,a));//日常模一模return 0;
}
CodeForces - 1236B Alice and the List of Presents(组合数学+快速幂)相关推荐
- Codeforces Round #324 (Div. 2) B. Kolya and Tanya 快速幂
B. Kolya and Tanya Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/584/pro ...
- Codeforces 621E Wet Shark and Block【dp + 矩阵快速幂】
题意: 有b个blocks,每个blocks都有n个相同的0~9的数字,如果从第一个block选1,从第二个block选2,那么就构成12,问对于给定的n,b有多少种构成方案使最后模x的余数为k. 分 ...
- CodeForces Round #191 (327C) - Magic Five 等比数列求和的快速幂取模
很久以前做过此类问题..就因为太久了..这题想了很久想不出..卡在推出等比的求和公式,有除法运算,无法快速幂取模... 看到了 http://blog.csdn.net/yangshuolll/art ...
- 【Codeforces Gym - 101635C Macarons 】【矩阵快速幂+状压】【dfs时间换空间】
[链接] http://codeforces.com/gym/101635/attachments [题意] 求用1*1,1*2的方格填n*m的矩阵的方法数 [知识点] 状压dfs+矩阵快速幂 [分析 ...
- CodeForces - 346A Alice and Bob(数论+博弈)
题目链接:点击查看 题目大意:初始时给出n个数组成的集合,现在要求爱丽丝和鲍勃两人轮流按照规则操作,无法操作的一方即为输,本游戏的规则就是,在集合中任意选择两个数x和y,计算(x-y)的绝对值,若该绝 ...
- CodeForces - 1236D Alice and the Doll(贪心+二分+模拟)
题目链接:点击查看 题目大意:给出一个n*m的矩阵,矩阵中有k个障碍物,在点(1,1)处有一个洋娃娃,洋娃娃每次的行动路线只能是直走或右拐,初始时洋娃娃面朝正右方向,问洋娃娃能否将所有方格都走一遍,并 ...
- CodeForces - 1139C Edgy Trees (快速幂+dfs)
题目:CodeForces - 1139C 题意:一个n个节点的无向图,有n-1条边每条边是黑色或者红色,现在统计包含k个点(不需要连续)的路中至少有1条黑边的路径数目 分析:总共有n^k条路径,将所 ...
- CodeForces 392C Yet Another Number Sequence 矩阵快速幂
题意: \(F_n\)为斐波那契数列,\(F_1=1,F_2=2\). 给定一个\(k\),定义数列\(A_i=F_i \cdot i^k\). 求\(A_1+A_2+ \cdots + A_n\). ...
- 【分解质因数】【树状数组】【快速幂】codeforces 2014 ACM-ICPC Vietnam National Second Round E. ACM...
乘除都在150以内,分解质因数后发现只有35个,建立35个树状数组/线段树,做区间加.区间查询,最后快速幂起来. #include<cstdio> #include<cstring& ...
最新文章
- 一步一步教你如何用python做词云_一步一步教你如何用Python做词云
- WEB API的安全问题
- 父元素a标签的href默认行为以及子元素绑定的click事件的响应之间存在影响
- [TCP/IP] 关闭连接后为什么客户端最后还要等待2MSL
- 【转】Sql server锁,独占锁,共享锁,更新锁,乐观锁,悲观锁
- 关于CSS HACK
- sobel,canny(可滑动调节阈值)边缘检测算法opencv-python实战
- Aggregated Residual Transformations for DeepNeural Networks -ResNetXt2017【论文理解】
- 【pytorch】(断点)继续上次训练
- 淘淘商城系列——Redis的安装
- SAP BAPI_SALESORDER_CREATEFROMDAT2 创建销售订单
- Java 将中文文件名称修改为拼音首字母、拼音全称(附GitHub)
- SWFObject Flash 增强插件
- 牛顿莱布尼茨计算机公式,牛顿莱布尼茨公式
- 智能驾驶大数据是什么?传统车企如何升级?
- 论文学习——基于滑动窗口预测的水位时间序列异常检测
- 识读第三角视图(机械识图)
- 几个巧妙的电流检测电路
- 品牌在抖音开通蓝V企业号的价值、权益及内容布局一键解析
- OpenGL矩阵运算——GLM库的使用
热门文章
- powerdns mysql_安装PowerDNS(使用MySQL后端)和Poweradmin在Debian Lenny
- zookeeper的名词复盘-Watcher
- Java并发编程的基础-线程的生命周期
- 全局变量-global关键字修改全局变量
- plsql(轻量版)_记录类型1
- python unitest框架_python单元测试框架Unitest
- win7安装oracle9i 补丁_最详细图解Windows7x64更新安装教程
- 怎样将WPS转换word格式?如何进行操作
- Python中乐高积木——函数
- 如何在Linux下安装PyCharm