冬令营 Winter Camp数学专题

Posted ZSYL

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了冬令营 Winter Camp数学专题相关的知识,希望对你有一定的参考价值。

【冬令营 Winter Camp】数学专题

A - A^B Mod C


思路:这个题目首先能想到暴力,但是数据太大,所以不现实,因此用快速幂来解决,具体看上述链接

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef pair<ll, ll> P;
const int maxn = 10010;
const int inf = 0x3f3f3f3f3f;
const int maxm = 5e4+5;
const int mod = 1000000007;

ll pmod(ll a, ll b, ll c) 
    ll res = 1;
    while (b) 
        if (b & 1)
            res = (res * a) % c;
        b >>= 1;
        a = a * a % c;
       
    return res;

ll normalPower(ll a, ll b, ll c) 
    ll res = 1;
    while (b--) 
        res *= a;
        res %= c;
    
    return res % c;

int main()
    ll a, b, c;
    cin >> a >> b >> c;
    // cout << pmod(a, b, c);
    cout << normalPower(a, b, c);
    return 0;

B - 逆元

题目链接

除以一个数再取模等同于乘以这个数的逆元再取模

思路:本身是直接进行求解逆元的,但是超时。就看了看网上的题解,链接如下:题解

#include <iostream>
using namespace std;
typedef long long ll;

ll inv(ll a, ll mod) 
    return a == 1 ? 1 : (mod-mod/a) * inv(mod%a, mod) % mod;

bool isPrime(ll x) 
    for (int i = 2; i*i <= x; i++) 
        if (x % i == 0)
            return 0;
    
    return 1;

int main() 
    ll p;
    while (cin >> p) 
         if (!isPrime(p)) 
         
             cout << "AKCniubi" << endl;
          
         else 
         
             cout << (p-1)*p/2 << endl;
         
    
    return 0;

  • 忘了是.什么时候的文稿,没有整理完毕!加油!

以上是关于冬令营 Winter Camp数学专题的主要内容,如果未能解决你的问题,请参考以下文章

冬令营 Winter Camp搜索专题

冬令营Winter Camp字符串专题(Triple语言版)

2019 wannafly winter camp

Winter Camp 2016游记

KTU Programming Camp (Winter Training Day 1)

2020 Petrozavodsk Winter Camp, Jagiellonian U Contest 部分题解