| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 43363 | _Yuyuyu_ | 【J】T4 | C++ | 通过 | 100 | 739 MS | 276 KB | 988 | 2026-10-29 13:02:35 |
#include<bits/stdc++.h> using namespace std; #define int long long int n,k,ans,cf[3005]; char c[3005]; void slv(int l1,int l2){ int r1=l1,r2=l2,_=(c[l1]==c[l2]?0:1); if(_>k)return; while(1){ if(r1==l2)break; cf[r1]++;cf[l2]--; r1++,r2++; if(r1>=n||r2>n)break; if(c[r1]!=c[r2]){ if(_==k)break; _++; } } } signed main(){ // freopen("dif.in","r",stdin); // freopen("dif.out","w",stdout); cin>>n>>k; for(int i=1;i<=n;i++){ cin>>c[i]; } for(int i=1;i<=n-1;i++){ for(int j=i+1;j<=n;j++){ slv(i,j); } } for(int i=1;i<=n;i++)cf[i]+=cf[i-1]; for(int i=1;i<=n-1;i++)cout<<cf[i]<<endl; return 0; } /* 思路: 1:dp? */