Wannafly挑战赛18 B - 随机数
2024-09-29 15:21:49
思路:化简公式,Pn 表示 进行n 次操作,有奇数次1的概率
Pn = (1 - x) * Pn - 1 + x * (1 - Pn - 1)
得通项公式 Pn = (1 - (1 - 2 * x) ^ n) / 2
n 很大 ,但是模数是素数,可以用费马小定理优化。
#include<bits/stdc++.h>
#define LL long long
#define fi first
#define se second
#define mk make_pair
#define pii pair<int, int> using namespace std; const int N = 1e6 + ;
const int M = 1e6 + ;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const int mod = 1e9 +; LL fastPow(LL a, LL b) {
LL ans = ;
while(b) {
if(b & ) ans = ans * a % mod;
a = a * a % mod; b >>= ;
}
return ans;
} LL a, n;
char s[N];
int main(){
scanf("%lld%s", &a, s);
int len = strlen(s);
for(int i = ; i < len; i++) {
n = n * % (mod - );
n += s[i] - '';
if(n >= mod - ) n -= mod - ;
} a = a * fastPow(10000ll, mod - ) % mod;
a = - * a;
a = ((a % mod) + mod) % mod; a = fastPow(a, n); a = - a;
if(a < ) a += mod;
a = a * fastPow(, mod - ) % mod;
printf("%lld\n", a);
return ;
}
/*
*/
最新文章
- Java_I/O输入输出_实现读取文件时出现一个表示读取进度的进度条。可以使用java.swing包提供的输入流类ProgressMonitorInputStream
- ArcGIS Desktop10.2与CityEngine2012兼容问题
- xml--小结④DTD的验证问题,不要用IE检验,IE不靠谱
- 【转】MFC窗口句柄各类指针获取函数
- 如何设置win7系统的文件夹为系统文件,从而隐藏文件夹
- GIT+云盘作 做 文档管理工具
- HttpStack及其实现类
- 基于Hadoop(M/R)的MySQL到Oracle海量数据切割
- Vue-router重修02
- Linux和Shell教程
- KXO151 Programming &; Problem Solving
- 如何成功安装旧版本火狐,成功安装firebug和firepath插件
- Spring-boot 编写hello world
- java 面试基础总结(二)---多线程
- python---网络之邮件发送
- Docker之Swarm
- 20 模块之 re subprocess
- SCOI2012喵星球上的点名
- java 反射获取属性值 方法
- FFmpeg从入门到精通——进阶篇,SEI那些事儿
热门文章
- [ldap]ldap server安装以及图形化操作
- Libevent学习笔记(四) bufferevent 的 concepts and basics
- 替换换行符:回车换行CR/LF
- java project转变成java web project
- CentOS7.2下安装mongoDB3.2.8
- 算法专题-STL篇
- vijos 1243 生产产品 DP + 单调队列优化
- Log-structured File Systems
- asp.net DataTable导出 excel的方法记录(第三方)
- 【BZOJ】2134: 单选错位 期望DP