头像

Honey


访客:5730

离线:16小时前



Honey
8天前

为啥全局变量里的int 不可以定义y1 会出错

错误的代码:

#include<bits/stdc++.h>
using namespace std;

int y1;

int main()
{
    cin>>y1;
    cout<<y1;

    return 0;
}



活动打卡代码 AcWing 2067. 走方格

Honey
1个月前
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=33;
int a[N][N];
int main()
{
    int n,m;
    cin>>n>>m;
    a[1][1]=1;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(i%2==0&&j%2==0)continue;
            else 
            {
                a[i][j]+=a[i-1][j]+a[i][j-1];
            }
        }
    }
    cout<<a[n][m];

    return 0;
}


活动打卡代码 AcWing 2066. 解码

Honey
1个月前
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
    string s;
    cin>>s;
    for(int i=0;i<s.size();i++)
    {
        if('0'<=s[i]&&s[i]<='9')
        {
            for(int j=1;j<(s[i]-'0');j++)
            cout<<s[i-1];
        }
        else
        {
            cout<<s[i];
        }
    }


    return 0;
}


活动打卡代码 AcWing 2065. 整除序列

Honey
1个月前
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
int main()
{
    ll a;
    cin>>a;
    while(a>0)
    {
        cout<<a<<" ";
        a=a/2;
    }



    return 0;
}


活动打卡代码 AcWing 798. 差分矩阵

Honey
5个月前
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e3+10;
int n,m,k;
int a[N][N],b[N][N];
int main()
{
    cin>>n>>m>>k;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            scanf("%d",&a[i][j]);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            b[i][j]=a[i][j]-a[i-1][j]-a[i][j-1]+a[i-1][j-1];
    while(k--)
    {
        int x1,y1,x2,y2,s;
        scanf("%d%d%d%d%d",&x1,&y1,&x2,&y2,&s);
        b[x1][y1]+=s;
        b[x1][y2+1]-=s;
        b[x2+1][y1]-=s;
        b[x2+1][y2+1]+=s;
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
        b[i][j]+=b[i-1][j]+b[i][j-1]-b[i-1][j-1];
        if(j==1)printf("%d",b[i][j]);
        else printf(" %d",b[i][j]);
        }
        puts("");
    }
    return 0;
}


活动打卡代码 AcWing 1242. 修改数组

Honey
6个月前
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+10;
int a[N];
int b[N];
int n;
int main()
{
    cin>>n;

    for(int i=0;i<n;i++)scanf("%d",&a[i]);
    for(int i=0;i<n;i++)
    {
            while(b[a[i]]!=0)
            {
                a[i]=b[a[i]]++;
            }
            printf("%d ",a[i]);
            b[a[i]]=a[i]+1;
    }


    return 0;
}


活动打卡代码 AcWing 840. 模拟散列表

Honey
6个月前
#include<bits/stdc++.h>
using namespace std;

const int N=200003,null = 0x3f3f3f3f;

int h[N];
int find(int x)
{
    int t=(x%N+N)%N;
    while(h[t]!=null&&h[t]!=x)
    {
        t++;
        if(t==N)t=0;
    }
    return t;
}
int main()
{
     memset(h, null, sizeof h);

    int n;
    scanf("%d", &n);
    while(n--)
    {
        char q;
        int x;
        cin>>q>>x;
        int s=find(x);
        if(q=='I')
        {
            h[s]=x;
        }
        else
        {
            if(h[s]==null)puts("No");
            else puts("Yes");
        }
    }


    return 0;
}








活动打卡代码 AcWing 1247. 后缀表达式

Honey
6个月前
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e5+10;
int a[N];
int n,m;
int main()
{
    cin>>n>>m;
    int q=m+n+1;
    int h=1e9,t=0;;
    for(int i=0;i<q;i++)
    {
        scanf("%d",&a[i]);
        if(abs(a[i])<h){t=i;h=abs(a[i]);}
    }
    ll ans=0;
sort(a,a+q);
    if(m==0)
    {
         for(int i=0;i<q;i++)
         {
        ans=(ll)(ans+a[i]);
          }
    }
    else
    {
        for(int i=1;i<q-1;i++)
          {

               ans=(ll)ans+abs(a[i]);
          }
          ans=(ll)(ans+a[q-1]-a[0]);
    }
    cout<<ans; 
    return 0;
}


活动打卡代码 AcWing 1239. 乘积最大

Honey
6个月前
guole 14/18个数据



#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int mod=1000000009,N=1e5;

int n,k;

struct no
{
    int q;
    int w;
    bool operator< (const no& t)const
    {
        return q>t.q;
    }
}a[N];
// bool cmp(int a,int b)
// {
//     return a>b;
// }
int main()
{
    cin>>n>>k;
    int z=0,l=0,f=0,t=0;
    for(int i=0;i<n;i++)
    {
        int h;
        scanf("%d",&h);
        if(h>0){a[t++]={h,1};z++;}
        if(h<0){a[t++]={-h,-1};f++;}
        if(h==0)l++;
    }
    if(n-l<k)
    {
        cout<<0;
        return 0;
    }
    sort(a,a+t);
    //cout<<a[0].q;
    ll ans=1;



    if(k==n||(k%2==1&&f==n))
    {
        for(int i=n-1;i>=n-k;i--)
        {
            ans=(ans*a[i].q)%mod;
        }
        ans=0-ans;
    }
    else
    {
        // if(k%2==1)
        // {
            int v=0,z;
            for(int i=0;i<k;i++)
            {
                if(a[i].w<0){v++;z=i;}
            }
            if(v%2==0)
            {
                for(int i=0;i<k;i++)
                {
                    ans=(ans*a[i].q)%mod;
                }
            }
            else
            {
                for(int i=0;i<=k;i++)
                {
                    if(i!=z)
                    ans=(ans*a[i].q)%mod;
                }
            }
        //}

    }
    cout<<ans;


    return 0;
}



wanmei  双指针



#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int mod=1000000009,N=1e5+10;

int n,k;

int a[N];
int main()
{
    cin>>n>>k;
    for(int i=0;i<n;i++)scanf("%d",&a[i]);
    sort(a,a+n);
    int biao=1;
    ll ans=1;
    int l=0,r=n-1;
    if(k%2==1)
    {
        ans=a[r--];
        k--;
        if(ans<0)biao=-1;
    }
    while(k)
    {
        ll x=(ll)a[l]*a[l+1],y=(ll)a[r]*a[r-1];
        if(x*biao>y*biao)
        {
            ans=(x%mod*ans)%mod;
            l+=2;
        }
        else
        {
            ans=(y%mod*ans)%mod;   // x y bie  wang  %   mod
            r-=2;
        }
        k-=2;

    }
    cout<<ans;
    return 0;
}



活动打卡代码 AcWing 1235. 付账问题

Honey
6个月前
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=5e5+10;

int a[N];
int n;

int main()
{
    double s;
    cin>>n>>s;
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    double avg=s/n;
    sort(a,a+n);
    double ans=0;

    for(int i=0;i<n;i++)
    {
            double cut=s/(n-i);
            if(a[i]<cut)cut=a[i];
            ans+=(cut-avg)*(cut-avg);
            s-=cut;
    }
    double k=sqrt(ans/n);
   printf("%.4lf",k);
    return 0;
}