牛客网 牛可乐发红包脱单ACM赛 B题 小a的旅行计划

【题解】
题意其实就是把n个物品分成4个集合,其中三个集合不可以为空(只属于A、只属于B、AB的交),一个集合空或者非空都可以(不属于A也不属于B),问有多少种方案。
考虑容斥,4个集合都不为空的方案数有4^n-4*3^n+6*2^n-4,3个集合不为空的方案数有3^n-3*2^n+3. 相加就是总的方案数。
不过题目中认为(A,B)、(B,A)是同一种方案,所以答案要除以二。
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
#define N 200010
using namespace std;
const LL Mod=1e8+;
LL n;
inline LL read(){
LL k=,f=; char c=getchar();
while(c<''||c>'')c=='-'&&(f=-),c=getchar();
while(''<=c&&c<='')k=k*+c-'',c=getchar();
return k*f;
}
inline LL pow(int x,LL y){
LL t=x,ans=;
for(;y;y>>=,t=(t*t)%Mod) if(y&) ans*=t,ans%=Mod;
return ans;
}
int main(){
n=read();
printf("%lld\n",((1ll*pow(,n)-*pow(,n)%Mod+*pow(,n)%Mod-+pow(,n)-*pow(,n)%Mod++Mod)%Mod*(Mod+)/)%Mod);
return ;
}
牛客网 牛可乐发红包脱单ACM赛 B题 小a的旅行计划的更多相关文章
- 牛客网 牛可乐发红包脱单ACM赛 C题 区区区间间间
[题解] 我想到了两种解法. 一种是扫描线+线段树+单调栈. 另一种方法是O(n)的,比较巧妙. 考虑每个数在哪些区间可以作为最小数.最长的区间就是它向左右走,直到有数字比它小,这个可以用单调栈维护. ...
- 牛客网 牛可乐发红包脱单ACM赛 A题 生成树
[题解] 其实就是求两棵树不同的边有多少条.那么我们用一个set来去重即可. #include<cstdio> #include<cstring> #include<se ...
- NowCoder--牛可乐发红包脱单ACM赛C_区区区间间间
题目链接:C_区区区间间间 思路:算贡献,求出每个数为当前最大值时所在的区间个数,和每个数为最小值的区间个数 和这个题有点类似 搭配食用效果更佳 点击这里 #include<bits/stdc+ ...
- 牛可乐发红包脱单OI赛 C 小可爱表白
打个暴力查一下OEIS,5min做完 出题人一开始把式子打错了,一开始的式子的结果为$n * (n + 3) * 2^{n - 3}$ 我们考虑化式子 首先考虑 $\sum\limits_{j = 1 ...
- 牛客网 江西财经大学第二届程序设计竞赛同步赛 D.绕圈游戏-(跳青蛙游戏)找数的所有因子就可以了
链接:https://ac.nowcoder.com/acm/contest/635/D来源:牛客网 D.绕圈游戏 433为了帮ddd提升智商,决定陪他van特殊的游戏.433给定一个带有n个点的环, ...
- 牛客网 牛客练习赛43 F.Tachibana Kanade Loves Game-容斥(二进制枚举)+读入挂
链接:https://ac.nowcoder.com/acm/contest/548/F来源:牛客网 Tachibana Kanade Loves Game 时间限制:C/C++ 1秒,其他语言2秒 ...
- 牛客网 牛客练习赛43 C.Tachibana Kanade Loves Review-最小生成树(并查集+Kruskal)+建虚点+读入挂
链接:https://ac.nowcoder.com/acm/contest/548/C来源:牛客网 Tachibana Kanade Loves Review 时间限制:C/C++ 2秒,其他语言4 ...
- 牛客网 牛客练习赛43 B.Tachibana Kanade Loves Probability-快速幂加速
链接:https://ac.nowcoder.com/acm/contest/548/B来源:牛客网 Tachibana Kanade Loves Probability 时间限制:C/C++ 1秒, ...
- 牛客网 牛客小白月赛12 B.华华教月月做数学-A^B mod P-快速幂+快速乘
链接:https://ac.nowcoder.com/acm/contest/392/B来源:牛客网 华华教月月做数学 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其 ...
随机推荐
- C++十进制到任意进制
#include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #in ...
- Hue的全局配置文件hue.ini(图文详解)
Hue版本:hue-3.9.0-cdh5.5.4 需要编译才能使用(联网) 说给大家的话:大家电脑的配置好的话,一定要安装cloudera manager.毕竟是一家人的.同时,我也亲身经历过,会有部 ...
- Appium安装说明
1.安装Appium前,需要先安装node.js .node.js官方网站:https://nodejs.org/, 这里我以Windows 10为例进行安装,选择Windows installer( ...
- h5-16-SVG 与 HTML5 的 canvas 各自特点
1. Canvas是使用JavaScript程序绘图(动态生成),SVG是使用XML文档描述来绘图.2.SVG更适合用来做动态交互,而且SVG绘图很容易编辑,只需要增加或移除相应的元素就可以了.同时S ...
- [在读]webkit技术内幕
看了一点点,还不适合目前的我看,搁置.
- hdu 2604 Queuing dp找规律 然后矩阵快速幂。坑!!
http://acm.hdu.edu.cn/showproblem.php?pid=2604 这题居然O(9 * L)的dp过不了,TLE, 更重要的是找出规律后,O(n)递推也过不了,TLE,一定 ...
- 使用gitblit 在windows平台搭建git服务器
1.下载jdk,安装并且配置好环境变量 2.下载gitblit 直接解压无需安装 3.配置gitblit 1.修改gitblit安装目录下的data文件下的gitblit.properties.将in ...
- AJPFX:求两个城市之间的距离
键盘录入多个城市: 城市1,城市2,城市3 以 ### 结束输出然后再键盘录入各个城市之间的距离: 格式如下:0,12,4512,0,2245,22,0### 然后按照输入的两个城市,求得两个城市 ...
- LN : leetcode 730 Count Different Palindromic Subsequences
lc 730 Count Different Palindromic Subsequences 730 Count Different Palindromic Subsequences Given a ...
- 获得select被选中option的value和text
一:JavaScript原生的方法 1:得到select对象: var myselect=document.getElementById(“test”); 2:得到选中项的索引:var index=m ...