博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rng(求逆元)
阅读量:5010 次
发布时间:2019-06-12

本文共 1313 字,大约阅读时间需要 4 分钟。

Problem Description
Avin is studying how to synthesize data. Given an integer n, he constructs an interval using the following method: he first generates a integer r between 1 and n (both inclusive) uniform-randomly, and then generates another integer l between 1 and r (both inclusive) uniform-randomly. The interval [l, r] is then constructed. Avin has constructed two intervals using the method above. He asks you what the probability that two intervals intersect is. You should print p* 
q(1)(MOD 1, 000, 000, 007), while pq denoting the probability.
 

求逆元的几种方法:

Input
Just one line contains the number n (1 ≤ n ≤ 1, 000, 000).
 

 

Output
Print the answer.
 

 

Sample Input
1
2
 

 

Sample Output
1
750000006
 
规律:(n+1)*n/2/(n*n)
代码:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
const int maxn=1e5+5;const long long mod=1e9+7; typedef long long ll;using namespace std;ll ksm(ll x,ll y){ ll ans=1; while(y) { if(y&1) ans=ans*x%mod; y>>=1; x=x*x%mod; } return ans;} int main(){ ll n; while(cin>>n) { ll p=(n+1)*n/2; ll q=n*n; printf("%lld\n",(p*ksm(q,mod-2))%mod); } return 0;}

 

 
 

转载于:https://www.cnblogs.com/Staceyacm/p/11221390.html

你可能感兴趣的文章
SGU438_The Glorious Karlutka River =)
查看>>
Linux集群及LVS简介
查看>>
简单几何(直线与圆的交点) ZOJ Collision 3728
查看>>
Codeforces Round #327 (Div. 2)
查看>>
如何解决Provisional headers are shown问题(转)
查看>>
开发网站遇到的bug
查看>>
实现简单的接口自动化测试平台
查看>>
EXCEL工作表合并
查看>>
Prime Path
查看>>
ODAC(V9.5.15) 学习笔记(三)TOraSession(2)
查看>>
单纯形法
查看>>
SQL中的replace函数
查看>>
java中的类型安全问题-Type safety: Unchecked cast from Object to ...
查看>>
如何解决最后一个尾注引用显示与致谢混为一谈的问题-下
查看>>
Java Socket编程 - 基于TCP方式的二进制文件传输【转】http://blog.csdn.net/jia20003/article/details/8248221...
查看>>
阅读之https及加密原理
查看>>
HDOJ4550 卡片游戏 随便销毁内存的代价就是wa//string类的一些用法
查看>>
css文本样式text、字体样式font
查看>>
洛谷 P1020 导弹拦截(LIS)
查看>>
python判断图片是否损坏
查看>>