链接 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的旅行计划 ]相关推荐

  1. 牛客练习赛81 E. 小 Q 与函数求和 1( “简单莫比乌斯反演” ,欧拉函数性质)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 牛客练习赛81 E. 小 Q 与函数求和 1( "简单莫比乌斯反演" ) Prob ...

  2. 牛客网赛码网 输入输出格式 pythonC++

    牛客网&赛码网 输入输出格式 python&C++ Note: 你的程序需要stdin(标准输入)读取输入,然后stdout(标准输出)来打印结果,举个例子,你可以使用c语言的scan ...

  3. 牛客网赛码网 输入输出格式

    目录 牛客网&赛码网输入输出 牛客网 单行输入 多行输入,每一行是一个测试样例 多个测试用例,每个测试用例有多行 赛码网 单个输入,单个输出 单行多个输入,单行多个输出,空格分割 多个测试案例 ...

  4. 牛客巅峰赛12th C.一起来看流星雨(旋转卡壳三分)

    牛客巅峰赛12th C.一起来看流星雨(旋转卡壳&三分) 题意:给定二维平面nnn个点,每个点有个速度向量,求最开始距离最远的两个点在运动过程中的最小距离. 思路:求距离最远的两个点就凸包gr ...

  5. 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m

    剑指offer:每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此.HF作为牛客的资深元老,自然也准备了一些小游戏.其中,有个游戏是这样的:首先,让小朋友们围成一个大圈.然后,他 ...

  6. 牛客挑战赛42 A.小睿睿的数列

    牛客挑战赛42 A.小睿睿的数列 题目链接 题目描述 小睿睿给了你一个长度为n的数列,他想问你该数列中满足条件(区间内存在某个数是区间内所有数的公因数)的最长区间有多少个 输入描述: 第一行 111 ...

  7. 牛客ACM模式标准输入

    牛客ACM模式标准输入 1.cin 根据cin>>sth 中sth的变量类型读取数据,这里变量类型可以为int,float,char,char*,string等诸多类型.这一输入操作,在遇 ...

  8. 牛客 /acm/problem/13223 竞标赛

    牛客NC13223: 竞标赛 题目大意为: 第一个为小美的参赛积分 对数组中 除了第一个位置以外 进行从小到大排序 然后我们通过大的与大的比较 >> 淘汰较大的 小美一直与 存活的 最小的 ...

  9. 牛客练习赛40 A.小D的剧场

    链接:https://ac.nowcoder.com/acm/contest/369/A?&headNav=acm 来源:牛客网 题目描述 "我明白." 作为这命运剧场永远 ...

最新文章

  1. mysql的端点在哪查看_数据库镜像端点
  2. Python入门100题 | 第078题
  3. 不止代码:恐狼后卫(ybtoj-区间dp)
  4. 期待三分天下开源芯片有其一
  5. 云函数与函数式编程思想结合会产生什么?
  6. 大屏数据可视化综合设计
  7. Objective-C的Runtime System
  8. win2003安装邮箱服务器,windows2003邮件服务器
  9. 人工智能和大数据两者有什么联系
  10. Simple Mail Transfer Protocol --- SMTP协议
  11. android的密码是多少,Android图形密码中 你最常用的是哪一个呢?
  12. 华为开启管理员模式_华为设备管理员级别与其对应的权限
  13. ARIMA模型的拖尾截尾问题
  14. trove 配置文件
  15. 低版本360浏览器下,PDF.js部分文字显示不全的问题
  16. python3中seed函数的用法
  17. SecureCRT连接服务器报错Failed to open the host key database file解决方法
  18. Leopard市场占有率击败Vista
  19. Codewars刷题升级 (Python)5Kyu Pete, the baker 皮特,面包师
  20. My97DatePicker控件显示时分秒

热门文章

  1. 国内下载erlang链接
  2. mysql iops_MySQL实例IOPS使用率高的原因和解决方法
  3. 怎么用python编贪吃蛇_少儿编程分享:手把手教你用PYTHON编写贪吃蛇(二)
  4. plsql 无法解析指定的连接标识符_Java方法加载、解析、存储、调用
  5. 抖音计算机音乐你要我,抖音上很火的我要你快乐我要你快乐是什么歌?
  6. 【若依(ruoyi)】重置密码SQL脚本
  7. java.io.IOException No FileSystem for scheme hdfs
  8. 安装mysql error 1045_安装MySQL出现1045错误
  9. java jedis sadd_Java实现Redis的集合(set)命令操作
  10. web页面刷不出来 白色_今日头条连接超时刷不出来解决方案