1、先枚举移动的位数,再数修改的位数int main(){    int n;    string s;    cin>>n>>s;    int ans=1e9;    for(int i=0;i<=n;i++)    {        int l=0,r=n-1,cnt=0;        while(l<r)        {            if(s[l]!=s[r])                cnt++;            l++;            r--;        }        cnt+=i;        ans=min(ans,cnt);        char ch=s[0];        s.erase(0,1);        s.push_back(ch);    }    cout<<ans<<endl;    return 0;}2、递推计一下数,n=1的情况要特殊处理const int N=2e5+1000,mod=1e9+7;ll cnt[N][10];int main(){    int n;    ll a[N];    cin>>n;    for(int i=1;i<=n;i++)        cin>>a[i];    if(n==1)    {        for(int i=0;i<=9;i++)        {            if(i==a[1])                cout<<1<<" ";            else                cout<<0<<" ";        }        return 0;    }    cnt[1][(a[n-1]+a[n])%10]++;    cnt[1][(a[n-1]*a[n])%10]++;    for(int i=2;i<=n-1;i++)    {        for(int j=0;j<=9;j++)        {            cnt[i][(j*a[n-i])%10]=(cnt[i][(j*a[n-i])%10]+cnt[i-1][j])%mod;            cnt[i][(j+a[n-i])%10]=(cnt[i][(j+a[n-i])%10]+cnt[i-1][j])%mod;        }    }    for(int i=0;i<=9;i++)        cout<<cnt[n-1][i]<<" ";    return 0;}3、暴力枚举点的坐标就行#include<bits/stdc++.h>#define x first#define y second#define mem(a,b) memset(a,b,sizeof(a))#define F(i,l,r) for(int i=l;i<=r;i++)using namespace std;typedef long long ll;typedef pair<int,int> pii;typedef unsigned long long ull;const int N=52;int n,m,a[N][N];vector<pii> v;bool check(pii x){    for(auto p:v)        if(p==x)            return true;    return false;}int main(){    cin>>n>>m;    for(int i=1;i<=n;i++)        for(int j=1;j<=m;j++)        {            char ch;            cin>>ch;            if(ch=='X')                v.push_back({i,j});        }    int ans=0;    for(int i=0;i<v.size();i++)        for(int j=i+1;j<v.size();j++)    {        pii a=v[i],b=v[j];        pii c={b.x+b.y-a.y,b.y-(b.x-a.x)},d={a.x+b.y-a.y,a.y-(b.x-a.x)};        if(check(c)&&check(d))            ans++;        c={b.x-(b.y-a.y),b.y+b.x-a.x},d={a.x-(b.y-a.y),a.y+b.x-a.x};        if(check(c)&&check(d))            ans++;    }    cout<<ans/4<<endl;    return 0;}
点赞 11
评论 5
全部评论

相关推荐

07-30 11:23
门头沟学院 Java
点赞 评论 收藏
分享
07-29 14:49
门头沟学院 Java
ResourceUt...:浙大✌️吉祥
点赞 评论 收藏
分享
牛客nb666号:看数据范围, -1e4~1e4, 用一个计数数组存一下, 再按个数让k减到0就行; 堆排不是O(n)的, 快速选择算法是O(n)但随机性较强
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-29 12:06
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务