题意

eddy走一个长度为\(n\)的环,每次能往前或往后走一步,问走到\(m\)点恰好走完所有点至少一次的概率,前\(i\)个询问的答案要乘起来

分析

  • \(n=1,m=0\),答案为\(1\)
  • \(n>1,m=0\),答案为\(0\)
  • \(n>1,m \ne 0\),答案为\(1/(n-1)\)

Code

#include<bits/stdc++.h>
#define fi first
#define se second
#define pb push_back
#define ll long long
using namespace std;
const int inf=1e9;
const int mod=1e9+7;
const int maxn=1e5+10;
int T;
ll n,m;
ll ksm(ll a,ll b){
ll ret=1;
while(b){
if(b&1) ret=ret*a%mod;
b>>=1;
a=a*a%mod;
}
return ret;
}
int main(){
//ios::sync_with_stdio(false);
//freopen("in","r",stdin);
scanf("%d",&T);
ll ans=1;
while(T--){
scanf("%lld%lld",&n,&m);
if(n==1) printf("%lld\n",ans);
else{
if(m==0){
ans=0;
printf("%lld\n",ans);
}else{
printf("%lld\n",(ans*=ksm(n-1,mod-2))%=mod);
}
}
}
return 0;
}

最新文章

  1. EL表达式隐含对象
  2. Android:简单联网获取网页代码
  3. ORA-01790 错误处理
  4. Android - Binder驱动
  5. codeforces 212E IT Restaurants(树形dp+背包思想)
  6. Oracle EBS-SQL (OM-6):打开订单.sql
  7. Python的print中国输出对齐问题
  8. html5 音频和视频(audio And video)
  9. python 小白(无编程基础,无计算机基础)的开发之路 day2
  10. 网络基础tcp/ip协议二
  11. ORACLE时间日期格式使用总结(参考网上资料汇总)
  12. Runtime - ③ - 分类Category探究
  13. VS2017设置主题和代码字体
  14. C++课堂作业_02_PAT1025.反转链表
  15. 从客户端(ctl00$ContentPlaceHolder1$result=&quot;&lt;?xml version=&quot;1.0&quot; ...&quot;)中检测到有潜在危险的 Request.Form 值。
  16. 【CF932G】Palindrome Partition 回文自动机
  17. 【Cuda编程】加法归约
  18. Android之ViewPager循环Demo
  19. ASP.NET Helper
  20. Unix shell输入输出重定向

热门文章

  1. Annotation Type ManyToMany-&gt;&gt;&gt;&gt;&gt;Oracle
  2. IDEA将项目打包为指定class文件的jar
  3. BufferedImage类、Image类、Graphics类
  4. SQL SERVER 相关
  5. vue axios异步请求django
  6. 封装一些简单的 dom 操作
  7. C++虚函数和纯虚函数的用法和区别
  8. MacOs上的Intellij idea高频快捷键总结(2018.1版本)
  9. 采用kubeadm部署工具,部署kubernetes1.16.3
  10. opencv,用摄像头识别贴片元件的定位和元件的角度(转载)