牛客ACM赛 B [小a的旅行计划 ]
链接 B 小a的旅行计划
- 把\(n\)个数中选任意数分成\(a,b\)两个集合,集合无区别,要求不包含且有交,求方案数。\(n\leq 10^{13}\)
- 首先讨论\(a,b\)并集是否为全集:
- 若是全集,那答案即为\(S(n,3)*3\),也就是\(n\)个有区别的小球放在\(3\)个无区别盒子内,然后枚举三个盒子哪一个是交集。
- 若不是,则答案为\(S(n,4)*C(4,2)*2\),也就是\(n\)个有区别的小球放在\(4\)个无区别盒子内,然后枚举哪两个是补集和交集,两个可以换。
- 答案就是两个加起来,\(S(n,4)\)这么算:
\[S(n,4)=\frac {2^{n-1}-3^{n-1}+\frac {4^{n-1}-1}{3}}{2}\] - \(S(n,3)\)为:
\[\frac {3^{n-1}+1}{2}-2^{n-1}\] - 复杂度\(O(logn)\)
#include<bits/stdc++.h>
#define R register int
#define ll long long
using namespace std;
const int N=100001;
const int mod=1e8+7;
ll n,ans,res,inv2,inv3;
int gi(){R x=0,k=1;char c=getchar();while((c<'0'||c>'9')&&c!='-')c=getchar();if(c=='-')k=-1,c=getchar();while(c>='0'&&c<='9')x=(x<<3)+(x<<1)+c-'0',c=getchar();return x*k;
}
ll Qpow(ll x,ll y){ll ans=1,bas=x;while(y){if(y&1)ans=ans*bas%mod;bas=bas*bas%mod,y>>=1;}return ans;
}
int main(){cin>>n,inv2=Qpow(2,mod-2),inv3=Qpow(3,mod-2);ans=((inv2*(Qpow(3,n-1)+1)%mod-Qpow(2,n-1)+mod)%mod*3)%mod;res=(Qpow(4,n-1)-Qpow(3,n-1)+mod)%mod;res=(res+mod-(Qpow(4,n-1)-Qpow(2,n-1)))%mod;res=(res+inv3*(Qpow(4,n-1)-1)%mod);res=res*inv2%mod;cout<<(ans+res*12%mod)%mod<<endl;return 0;
}
转载于:https://www.cnblogs.com/Tyher/p/9892555.html
牛客ACM赛 B [小a的旅行计划 ]相关推荐
- 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...
- 牛客网赛码网 输入输出格式 pythonC++
牛客网&赛码网 输入输出格式 python&C++ Note: 你的程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果,举个例子,你可以使用c语言的scan ...
- 牛客网赛码网 输入输出格式
目录 牛客网&赛码网输入输出 牛客网 单行输入 多行输入,每一行是一个测试样例 多个测试用例,每个测试用例有多行 赛码网 单个输入,单个输出 单行多个输入,单行多个输出,空格分割 多个测试案例 ...
- 牛客巅峰赛12th C.一起来看流星雨(旋转卡壳三分)
牛客巅峰赛12th C.一起来看流星雨(旋转卡壳&三分) 题意:给定二维平面nnn个点,每个点有个速度向量,求最开始距离最远的两个点在运动过程中的最小距离. 思路:求距离最远的两个点就凸包gr ...
- 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m
剑指offer:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他 ...
- 牛客挑战赛42 A.小睿睿的数列
牛客挑战赛42 A.小睿睿的数列 题目链接 题目描述 小睿睿给了你一个长度为n的数列,他想问你该数列中满足条件(区间内存在某个数是区间内所有数的公因数)的最长区间有多少个 输入描述: 第一行 111 ...
- 牛客ACM模式标准输入
牛客ACM模式标准输入 1.cin 根据cin>>sth 中sth的变量类型读取数据,这里变量类型可以为int,float,char,char*,string等诸多类型.这一输入操作,在遇 ...
- 牛客 /acm/problem/13223 竞标赛
牛客NC13223: 竞标赛 题目大意为: 第一个为小美的参赛积分 对数组中 除了第一个位置以外 进行从小到大排序 然后我们通过大的与大的比较 >> 淘汰较大的 小美一直与 存活的 最小的 ...
- 牛客练习赛40 A.小D的剧场
链接:https://ac.nowcoder.com/acm/contest/369/A?&headNav=acm 来源:牛客网 题目描述 "我明白." 作为这命运剧场永远 ...
最新文章
- mysql的端点在哪查看_数据库镜像端点
- Python入门100题 | 第078题
- 不止代码:恐狼后卫(ybtoj-区间dp)
- 期待三分天下开源芯片有其一
- 云函数与函数式编程思想结合会产生什么?
- 大屏数据可视化综合设计
- Objective-C的Runtime System
- win2003安装邮箱服务器,windows2003邮件服务器
- 人工智能和大数据两者有什么联系
- Simple Mail Transfer Protocol --- SMTP协议
- android的密码是多少,Android图形密码中 你最常用的是哪一个呢?
- 华为开启管理员模式_华为设备管理员级别与其对应的权限
- ARIMA模型的拖尾截尾问题
- trove 配置文件
- 低版本360浏览器下,PDF.js部分文字显示不全的问题
- python3中seed函数的用法
- SecureCRT连接服务器报错Failed to open the host key database file解决方法
- Leopard市场占有率击败Vista
- Codewars刷题升级 (Python)5Kyu Pete, the baker 皮特,面包师
- My97DatePicker控件显示时分秒
热门文章
- 国内下载erlang链接
- mysql iops_MySQL实例IOPS使用率高的原因和解决方法
- 怎么用python编贪吃蛇_少儿编程分享:手把手教你用PYTHON编写贪吃蛇(二)
- plsql 无法解析指定的连接标识符_Java方法加载、解析、存储、调用
- 抖音计算机音乐你要我,抖音上很火的我要你快乐我要你快乐是什么歌?
- 【若依(ruoyi)】重置密码SQL脚本
- java.io.IOException No FileSystem for scheme hdfs
- 安装mysql error 1045_安装MySQL出现1045错误
- java jedis sadd_Java实现Redis的集合(set)命令操作
- web页面刷不出来 白色_今日头条连接超时刷不出来解决方案