zoukankan      html  css  js  c++  java
  • 轻院 2180GJJ的日常之沉迷数学 逆元求除法取余

    题目链接https://acm.zzuli.edu.cn/zzuliacm/problem.php?id=2180

    题目大意:求数列 k0,k1,k2...kn的和,即等比数列的前n项和对1e9+7取余的结果。

    解题思路:等比数列前N项和为 ,因此只要能够取余即可求得结果。利用扩展GCD求q-1关于mod的逆元然后快速幂取模计算即可。

    代码:

     1 const int inf = 0x3f3f3f3f;
     2 const int maxn = 1e6 + 5;
     3 int k, n;
     4  
     5 void ext_gcd(ll a, ll b, ll &d, ll &x, ll &y){
     6     if(b == 0){
     7         d = a; x = 1; y = 0;
     8     }
     9     else{
    10         ext_gcd(b, a % b, d, y, x); y -= x * (a / b);
    11     }
    12 }
    13 ll pow_mod(ll a, ll b, ll m){
    14     if(b == 0) return 1;
    15     ll tmp = pow_mod(a, b / 2, m);
    16     ll ans = tmp * tmp % mod;
    17     if(b & 1) ans = a % mod * ans % mod;
    18     return ans % mod;
    19 } 
    20 void solve(){
    21     if(k == 1){
    22         printf("%d
    ", (n + 1) % mod);
    23         return;
    24     }
    25     ll a = k - 1;
    26     ll b = mod, d, x, y;
    27     ext_gcd(a, b, d, x, y);
    28     if(x < 0) x = x + (abs(x) / mod + 1) * mod;
    29     x %= mod;
    30     ll tmp = pow_mod(k, n + 1, mod);
    31     ll ans = (tmp * x - x) % mod ;
    32     ans %= mod;
    33     printf("%lld
    ", ans);
    34 }
    35 int main(){
    36     int t = 1;
    37     while(scanf("%d %d", &k, &n) != EOF){
    38         printf("Case %d: ", t++);
    39         solve();
    40     }
    41 }

    题目:

    GJJ的日常之沉迷数学

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 281  Solved: 21

    SubmitStatusWeb Board

    Description

    GJJ每天都要膜拜一发数学大佬,因为GJJ的数学太差了。这不,GJJ又遇到难题了,他想求助WJJ,但是WJJ这几天忙于追妹子,哪有时间给他讲题, 于是GJJ求助于热爱ACM的你,Acmer们能帮帮他吗?问题是求: k^0 + k^1 +...+ k^(n) mod p (0 < k < 100, 0 <= n <= 10^9, p = 1000000007)
    例如:6^0 + 6^1 +...+ 6^(10) mod 1000000007 (其中k = 6, n = 10, p = 1000000007)

    Input

    输入测试数据有多组,每组输入两个整数k, n

    Output

    每组测试数据输出:Case #: 计算结果

    Sample Input

    2 1 6 10

    Sample Output

    Case 1: 3 Case 2: 72559411
  • 相关阅读:
    继续聊WPF
    窥探Swift之别具一格的Struct和Class
    窥探Swift之类的继承与类的访问权限
    iOS开发之地图与定位
    iOS开发之WebView
    iOS开发之版本控制(SVN)
    iOS开发之抽屉效果实现
    iOS开发之调用系统打电话发短信接口以及程序内发短信
    转:GitHub 万星推荐成长技术清单
    vmware漏洞之四:简评USE-AFTER-SILENCE: EXPLOITING A QUIETLY PATCHED UAF IN VMWARE
  • 原文地址:https://www.cnblogs.com/bolderic/p/7392212.html
Copyright © 2011-2022 走看看