首先,我们珂以抽象出S函数的模型:把n拆成k个正整数,有多少种方案?

答案是C(n-1,k-1)。

然后发现我们要求的是一段连续的函数值,仔细思考,并根据组合数的性质,我们珂以发现实际上答案就是在让求2^(n-1)。

然鹅我们并不能高兴地过早。因为n的数量级竟然到了丧心病狂的1e100000.连高精度都救不了它。

费马小定理

费马小定理有两种形式:  $a^{p-1}$≡1($mod$ $p$)   与 $a^p$≡$a$($mod$ $p$)。 第二种形式更为通用,是因为第一种形式不能涵盖“$a$是$p$的倍数”的情况,不够完善。第二种更加严谨。

*  Update:其实这是扩展欧拉定理。思考了一上午后来被大佬告知这是一个定理...

定理可戳这位大佬的文章

那么对于本题。我们就求$2^{{n-1}%{p-1}}%p$就行了...还要大数取膜...恶心。

$Code$

 #include<cstdio>
#include<algorithm>
#include<cstring> using namespace std;
typedef long long ll;
const ll moder=1e9+; char seq[]; ll ksm(ll a,ll b)
{
ll ans=;
while(b)
{
if(b&) ans=ans*a%moder;
b>>=;
a=a*a%moder;
}
return ans;
} int main()
{
while(scanf("%s",seq+)!=EOF)
{
ll m=moder-;
ll tmp=;
int len=strlen(seq+);
for(int i=;i<=len;i++)
{
tmp=tmp*+seq[i]-'';
if(tmp>=m) tmp=tmp%m;
}
tmp=(tmp-+m)%m;
printf("%lld\n",ksm(,tmp));
}
return ;
}

最新文章

  1. iOS.Performance-trick-presentViewController-is-so-slow-in-didSelectRowAtIndexPath
  2. HTML DOM appendChild() 方法
  3. 撑起大规模PHP网站的开源工具
  4. plsql快捷开发
  5. 通过表达式、函数给React组件属性赋值
  6. Linux下简易蜂鸣器驱动代码及测试实例
  7. C#下如何用NPlot绘制期货股票K线图(3):设计要显示的股票价格图表窗口并定义相应类的成员及函数
  8. HDU 4121 Xiangqi
  9. 用户手册User Guide的写法
  10. 一个简单的带缓存http代理
  11. ng-class,与ng-click
  12. ActiveMQ讯息传送机制以及ACK机制
  13. vue实例的几个概念
  14. root权限下找不到 /root/.ssh目录
  15. 设计模式(6)--Adapter(适配器模式)--结构型
  16. 一简单的RPC实例(Java)
  17. Synchronized的基本知识、实现原理以及其与ReentrantLock的区别
  18. asp.net 获取网站根目录总结
  19. SpringBoot构建大数据开发框架
  20. --HTML标签1

热门文章

  1. 随着ScrollView的滑动,渐渐的运行动画View
  2. 汉澳sinox不受openssl心血漏洞影响并分析修复其漏洞代码
  3. 一个简单演示样例来演示用PHP訪问表单变量
  4. Mesa (computer graphics)
  5. Linux 及 CentOS系统安装
  6. CentOS笔记-其他杂记
  7. 一个UserState(WCF)的小例子
  8. 在Android Studio中修改应用包名
  9. C++中的const完全解析
  10. mongodb的安装、配置、常见问题