zoukankan      html  css  js  c++  java
  • HDU 5666 Segment

    规律很简单,画画图就能找出来了。(q-1)*(q-2)/2

    裸写乘法longlong会炸,乘法写的优雅一些或者直接用Java能过。

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<map>
    #include<algorithm>
    using namespace std;
    
    long long q,p;
    
    long long Cheng(long long a,long long b)
    {
        long long res=0;
        while(b)
        {
            if(b%2==1) res=(res+a)%p,b--;
            a=(a*2)%p,b=b/2;
        }
        return res;
    }
    
    int main()
    {
        int T; scanf("%d",&T);
        while(T--)
        {
            scanf("%lld%lld",&q,&p);
            long long x=q-2,y=q-1; y=y/2;
            printf("%lld
    ",Cheng(x,y));
        }
        return 0;
    }
  • 相关阅读:
    HDU
    HDU
    HDU
    HDU
    POJ
    POJ
    POJ
    hdu-4745 Two Rabbits
    蓝桥杯历年试题 小朋友排队
    蓝桥杯历年试题 矩阵翻硬币
  • 原文地址:https://www.cnblogs.com/zufezzt/p/5400252.html
Copyright © 2011-2022 走看看