头像

lovely_haimo

纳西妲可爱捏




离线:5天前


最近来访(177)
用户头像
Abel51
用户头像
10w6it
用户头像
yxc的小迷妹
用户头像
163.com
用户头像
study_dream
用户头像
晓暮云
用户头像
Finn2009
用户头像
鸥汀溪
用户头像
komeiji_nekoishi
用户头像
shaoyuqi
用户头像
pluto._77
用户头像
不要不听话
用户头像
NohaAlpha.
用户头像
我是菜狗啊啊啊啊啊
用户头像
新手1008611
用户头像
云衣醉梦
用户头像
18510653307
用户头像
CVFG
用户头像
Eason2009
用户头像
lantern

活动打卡代码 AcWing 898. 数字三角形

lovely_haimo
3个月前
#include<bits/stdc++.h>
using namespace std;
const int N=505;
int a[N][N];
int n;
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=i;j++)
            scanf("%d",a[i]+j);
    for(int i=n-1;i>=1;i--)
        for(int j=1;j<=i;j++)
            a[i][j]+=max(a[i+1][j],a[i+1][j+1]);
    printf("%d",a[1][1]);
    return 0;
}


活动打卡代码 AcWing 891. Nim游戏

lovely_haimo
3个月前
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    int res=0;
    while(n--){
        int x;
        cin>>x;
        res^=x;
    }
    if(res) puts("Yes");
    else puts("No");
}


活动打卡代码 AcWing 875. 快速幂

lovely_haimo
3个月前
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int qmi(int a,int b,int p){
    int ans=1;
    while(b){
        if(b&1) ans=(long long)ans*a%p;
        b>>=1;
        a=(long long)a*a%p;
    }
    return ans;
}
int main(){
    int n;
    cin>>n;
    while(n--){
        int a,b,p;
        cin>>a>>b>>p;
        auto ans=qmi(a,b,p);
        printf("%d\n",ans);
    }
}


活动打卡代码 AcWing 842. 排列数字

lovely_haimo
3个月前
#include<bits/stdc++.h>
using namespace std;
const int N=25;
int a[N];
bool st[N];
int n;
void dfs(int depth){
    if(depth==n+1){
        for(int i=1;i<=n;i++)
            printf("%d ",a[i]);
        puts("");
    }
    for(int i=1;i<=n;i++){
        if(!st[i]){
            a[depth]=i;
            st[i]=true;
            dfs(depth+1);
            st[i]=false;
        }
    }
}
int main(){
    cin>>n;
    dfs(1);
    return 0;
}


新鲜事 原文

lovely_haimo
3个月前
AcWing《AC Saber第二届秋季赛》拼团优惠!https://www.acwing.com/activity/content/introduction/2251/group_buy/86477/


活动打卡代码 AcWing 854. Floyd求最短路

lovely_haimo
3个月前
#include<bits/stdc++.h>
using namespace std;
const int N=205;
int d[N][N];
int n,m,q;
const int INF=1e9;
void floyd(){
    for(int k=1;k<=n;k++)
        for(int i=1;i<=n;i++)
            for(int j=1;j<=n;j++)
                d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
}
int main(){
    cin>>n>>m>>q;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            if(i==j) d[i][j]=0;
            else d[i][j]=INF;
    while(m--){
        int a,b,c;
        cin>>a>>b>>c;
        d[a][b]=min(d[a][b],c);
    }
    floyd();
    while(q--){
        int x,y;
        cin>>x>>y;
        if(d[x][y]>INF/2) puts("impossible");
        else printf("%d\n",d[x][y]);
    }
    return 0;
}



lovely_haimo
3个月前
#include<bits/stdc++.h>
using namespace std;
const int N=505;
int g[N][N];
int dist[N];
bool st[N];
int n,m;
int dijkstra(){
    memset(dist,0x3f,sizeof dist);
    dist[1]=0;
    for(int i=1;i<n;i++){
        int t=-1;
        for(int j=1;j<=n;j++)
            if(!st[j]&&(t==-1||dist[t]>dist[j])) t=j;
        st[t]=true;
        for(int j=1;j<=n;j++)
            dist[j]=min(dist[j],dist[t]+g[t][j]);
    }
    if(dist[n]==0x3f3f3f3f) return -1;
    else return dist[n];
}
int main(){
    cin>>n>>m;
    memset(g,0x3f,sizeof g);
    while(m--){
        int a,b,c;
        cin>>a>>b>>c;
        g[a][b]=min(g[a][b],c);
    }
    int ans=dijkstra();
    cout<<ans;
}



lovely_haimo
3个月前
#include<bits/stdc++.h>
using namespace std;
const int N=505;
const int INF=0x3f3f3f3f;
int g[N][N];
int dist[N];
bool st[N];
int n,m;
int prim(){
    memset(dist,0x3f,sizeof dist);
    int res=0;
    for(int i=0;i<n;i++){
        int t=-1;
        for(int j=1;j<=n;j++)
            if(!st[j]&&(t==-1||dist[t]>dist[j])) t=j;
        if(i&&dist[t]==INF) return INF;
        if(i) res+=dist[t];
        for(int j=1;j<=n;j++)
            dist[j]=min(dist[j],g[t][j]);
        st[t]=true;
    }
    return res;
}
int main(){
    cin>>n>>m;
    memset(g,0x3f,sizeof g);
    while(m--){
        int a,b,c;
        cin>>a>>b>>c;
        g[a][b]=g[b][a]=min(g[a][b],c);
    }
    int ans=prim();
    if(ans==INF) cout<<"impossible";
    else cout<<ans;
}


活动打卡代码 AcWing 4. 多重背包问题

lovely_haimo
3个月前
#include<bits/stdc++.h>
#define INF 2147483647
using namespace std;
const int N=505,M=6005;
int f[M];
inline int read(){
    int now=0,nev=1;char c=getchar();
    while(c<'0'||c>'9')if(c=='-'){nev=-1;c=getchar();}
    while(c>='0'&&c<='9'){now=(now<<3)+(now<<1)+(c&15);c=getchar();}
    return now*nev;
}
int n,m,v,w,s;
int main()
{
    n=read(),m=read();
    for(int i=1;i<=n;i++){
        cin>>v>>w>>s;
        for(int j=m;j>=0;j--)
            for(int k=1;k<=s&&k*v<=j;k++)
                f[j]=max(f[j],f[j-k*v]+k*w);
    }
    cout<<f[m];
    return 0;
}


活动打卡代码 AcWing 3. 完全背包问题

lovely_haimo
3个月前

AcWing 3

#include<bits/stdc++.h>
using namespace std;
const int N=1005;
int f[N],v[N],w[N];
int n,m;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        scanf("%d%d",v+i,w+i);
    for(int i=1;i<=n;i++)
        for(int j=v[i];j<=m;j++)
            f[j]=max(f[j],f[j-v[i]]+w[i]);
    cout<<f[m];
}