头像

Sleep_Madman




离线:6天前


最近来访(97)
用户头像
y差c
用户头像
waiting_noting
用户头像
成大失败哥
用户头像
泛滥的可爱物种不会RE
用户头像
侯润泽
用户头像
小郭冲冲冲
用户头像
xYang_a0a1
用户头像
ALLBYYOURSELF
用户头像
为什么不ac
用户头像
SHArk_Ice
用户头像
Ripley
用户头像
我要AC
用户头像
HelloNihao
用户头像
岁漫
用户头像
zzmm
用户头像
等等__
用户头像
Zhi.
用户头像
Daisy-love
用户头像
Nuyoah_61
用户头像
春风十里_2


Sleep_Madman
1个月前
#include<iostream>

using namespace std ;
const int MOD = 233333  ;

int fastPow(int a, int n)  // 计算 a的n次方
{
    long long  res = 1;
    while(n)
    {
        if(n&1)     //  n 的最后一位是1,表示这个位置要乘
        {
            res  = (long long )res *  a  % MOD;
            // cout << res << ' ' ;
        }
        a = (long long )a* a %MOD ;  // 递推 ;
        n = n >> 1 ;  //
    }
    return res ;
}
int main()
{
    long long  x , n ;
    cin >> x  >> n ;
    cout << fastPow(x,n) << endl ;

    return 0 ;
}



Sleep_Madman
1个月前
#include<bits/stdc++.h>

using namespace std ;
const int N= 1010 ;

int a[N][N] ,b[N][N] ;

void insert(int x1,int y1 ,int x2 ,int y2 ,int c)
{
    b[x1][y1]   +=c ;
    b[x2+1][y1] -=c ;
    b[x1][y2+1] -=c ;
    b[x2+1][y2+1] +=c;
}

int main()
{
    int n,m,q ;
    scanf("%d %d %d" ,&n,&m,&q) ;

    for(int i=1 ;i<=n ;i++)
        for(int j=1 ;j<=m ;j++)
            {
                cin >> a[i][j] ;
                insert(i,j,i,j,a[i][j]);
            }

    while(q--)
    {
        int x1,y1,x2,y2,c ;
        cin >> x1 >> y1 >> x2 >>y2 >>c ;
        insert(x1,y1,x2,y2,c);
    }

    for(int i=1 ;i<=n ;i++)
    {
        for(int j=1 ;j<=m ;j++)
        {
            a[i][j] = a[i][j-1] +a[i-1][j] - a[i-1][j-1] + b[i][j] ;  // !!!!
            cout << a[i][j] << ' ' ;
        }
        puts("");
    }


    return 0 ;
}



Sleep_Madman
1个月前
#include<iostream>

using namespace std ;
const int N =100010 ;

int a[N] ,b[N];

void insert(int l ,int r ,int c)
{
    b[l] += c ;
    b[r+1] -=c ;
}
int main()
{
    int n,m ;
    cin >> n >> m ;
    for(int i=1 ;i<=n ;i++) scanf("%d" , &a[i]) ;

    for(int i=1 ;i<=n ;i++) insert(i,i,a[i]) ;

    while(m--)
    {
        int l ,r ,c ;
        cin >> l >> r >> c ;
        insert(l,r,c) ;
    }
    for(int i=1 ;i<=n ;i++) 
    {
        a[i] = a[i-1] + b[i] ;
        cout << a[i] << ' ';
    }
    return 0 ;

}


活动打卡代码 AcWing 3416. 时间显示

Sleep_Madman
1个月前
#include<iostream>

using namespace std ;

int main()
{
    long long n ;
    cin >> n ;
    n = n/1000 ;
    n = n %86400  ;  // 一天有 86400 s 

    int h = n /3600 ;
    n = n % 3600 ;
    int m = n / 60 ;
    int s = n % 60 ;
    printf("%02d:%02d:%02d",h,m,s) ;

    return 0 ;
}




Sleep_Madman
1个月前



Sleep_Madman
1个月前
#include<iostream>

using namespace std ;
const int N = 110 ;
int f[N][N][N] ;        // 表示

int main()
{
    int n ,m  ;
    cin >> n >> m ;

    f[0][0][2] = 1;         // 表示遇到 0 个 店 ,0个 花 ,2 斗酒 的 方案数
    for(int i=0 ;i<=n ;i++)
        for(int j=0 ; j<=m ;j++)
            for(int k=0 ; k<=m ; k++)
            {
                if(i>=1 && k%2 == 0) f[i][j][k]  += f[i-1][j][k/2] % 1000000007;
                if(j>=1)             f[i][j][k]  += f[i][j-1][k+1] % 1000000007;
            }

    cout << f[n][m-1][1] << endl ;
    return 0 ;
}



Sleep_Madman
1个月前
#include<iostream>

using namespace std ;

int a[1010] ;
int f[1010] ;
int res ;

int main()
{
    int n ;
    scanf("%d" , &n);
    for(int i=1 ;i<=n ;i++) cin >> a[i] ;

    for(int i=1 ;i<=n ;i++)         //f[i] 表示 以a[i]结尾的 最长子序列的 长度
    {
        f[i] = 1;
        for(int j=1 ;j<i ;j++)
        {
            if(a[j]<a[i] )
            {
                f[i] = max(f[i] , f[j] + 1);
            }
        }
    }

    for(int i=1 ;i<=n ;i++) res = max(res, f[i]);

    cout << res << endl ;

    return 0 ;
}


活动打卡代码 AcWing 1216. 饮料换购

Sleep_Madman
1个月前
#include<iostream>

using namespace std ;

int main()
{
    int n ;
    cin >> n ;
    int res = n ;
    while(n>=3)   // n是瓶盖数
    {
        res += n/3 ;
        n = n/3 + n%3 ;
    }
    cout << res << endl ;
    return 0 ;
}



新鲜事 原文

Sleep_Madman
1个月前
每天都想摆烂


活动打卡代码 AcWing 4644. 求和

Sleep_Madman
2个月前
#include<bits/stdc++.h>

using namespace std ;
const int N =200010 ;

long long  a[N],s[N] ;
int main()
{
    int n ;
    scanf("%d",&n);
    for(int i=1 ;i<=n ;i++ ) 
    {
        scanf("%d" ,&a[i]) ;
        s[i] =s[i-1] +a[i] ;

    }

    int j ;
    long long  res = 0 ;
    for(int i=1;i<n ;i++)
        {
            j=i+1 ;
            res += a[i]*(s[n] - s[j-1]);   // j-1 也可以换成i
        }

    cout << res << endl ;

    return 0 ;
}