Educational Codeforces Round 119 (Rated for Div. 2)
1.AtCoder Beginner Contest 293(C,D ,E,F)2.Educational Codeforces Round 115 (Rated for Div. 2)(D,E)3.AtCoder Beginner Contest 294(E,F,G)4.AtCoder Beginner Contest 2465.中国石油大学(北京)第三届“骏码杯”程序设计竞赛(同步赛)(D,E,F)6.Codeforces Global Round 16(D,E,F)7.AtCoder Beginner Contest 209(D,E)8.Monoxer Programming Contest 2022(AtCoder Beginner Contest 238)(E,F)9.AtCoder Beginner Contest 285(B,D,E,F)10.AtCoder Beginner Contest 242(D,E)11.AtCoder Beginner Contest 223(D,E,F)12.AtCoder Beginner Contest 207(D,E)13.AtCoder Beginner Contest 247(E,F)14.AtCoder Beginner Contest 226(E,F,G)15.AtCoder Beginner Contest 229(F,G)16.AtCoder Beginner Contest 273(E)17.AtCoder Beginner Contest 286(G)18.AtCoder Beginner Contest 287(C,D,E,F)19.AtCoder Beginner Contest 288(D,E,F)20.AtCoder Beginner Contest 289(E,F)21.AtCoder Beginner Contest 290(D,E)22.AtCoder Beginner Contest 292(E,F,G)23.AtCoder Beginner Contest 298(D,F)24.AtCoder Beginner Contest 299(E,F)25.AtCoder Beginner Contest 300(E,F)26.AtCoder Beginner Contest 302(E,F,G)27.AtCoder Beginner Contest 253(E,F)28.AtCoder Beginner Contest 245(D,E,F)29.AtCoder Beginner Contest 248(D,E,F) 30.AtCoder Beginner Contest 206(Sponsored by Panasonic)(E,F)31.Codeforces Round 875 (Div. 2)(D)32.AtCoder Beginner Contest 178(E,F)33.AtCoder Beginner Contest 307(E,F,G)34.CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!)C35.Educational Codeforces Round 151 (Rated for Div. 2)(C,D)36.AtCoder Beginner Contest 212(E,F)37.牛客小白月赛5138.2022年浙大城市学院新生程序设计竞赛(同步赛)(补题)39.Codeforces Round #770 (Div. 2)B,C40.Codeforces Global Round 24(B,C)41.Codeforces Round #836 (Div. 2)C42.Codeforces Round #840 (Div. 2) C43.Good Bye 2022: 2023 is NEAR C44.Codeforces Round #765 (Div. 2)A,B,C45.Codeforces Round #766 (Div. 2)C,D46.Codeforces Round #841 (Div. 2) and Divide by Zero 202247.Codeforces Round #767 (Div. 2)C ,D 48.Codeforces Round #768 (Div. 2)C ,D49. Codeforces Round #769 (Div. 2) B,C50.Educational Codeforces Round 122 (Rated for Div. 2),C,D
51.Educational Codeforces Round 119 (Rated for Div. 2)
52.AtCoder Beginner Contest 25853.Codeforces Round #763 (Div. 2)C54.Codeforces Round #843 (Div. 2)(B,C,D,E)55.Educational Codeforces Round 141 (Rated for Div. 2)(B,C,D)56.AtCoder Beginner Contest 275(B,C,D,E,F)57.Codeforces Round #842 (Div. 2)(B,D,E)58.AtCoder Beginner Contest 284(D,E,F)59.The 14th Jilin Provincial Collegiate Programming Contest(补题)60.牛客小白月赛65(C,D,E,F)61.AtCoder Beginner Contest 281(D,E,F)62.Good Bye 2021: 2022 is NEAR D63.Hello 202364.The 15th Jilin Provincial Collegiate Programming Contest(补题)65.Codeforces Round #781 (Div. 2)C 66.Hello 2022(B,D)67.AtCoder Beginner Contest 272(D,E)68.Codeforces Round 751 (Div. 2)(D)69.Codeforces Round 856 (Div. 2)(C,D)70.Codeforces Round 752 (Div. 2)(C,D,E)71.Codeforces Round 855 (Div. 3)(E,F)72.AtCoder Regular Contest 131(A,B,C)73.Educational Codeforces Round 144 (Rated for Div. 2)(A,B,C,D)74.Codeforces Round 853 (Div. 2)(C,D)75.牛客练习赛109(C,D)76.AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS)(D,E,F)77.Educational Codeforces Round 143 (Rated for Div. 2)(A,C,D)78.Codeforces Round #852 (Div. 2)(C,D)79.Educational Codeforces Round 118 (Rated for Div. 2)(D,E)80.AtCoder Beginner Contest 236(D,E,F)81.Codeforces Round #850 (Div. 2, based on VK Cup 2022 - Final Round)(B,D)82.Codeforces Round #848 (Div. 2)(B,C,D)83.TypeDB Forces 2023 (Div. 1 + Div. 2, Rated, Prizes!) (B,C,D) 84.Codeforces Round #846 (Div. 2)(B,E) 85.Educational Codeforces Round 142 (Rated for Div. 2)(C,D)86.2023牛客寒假算法基础集训营687.Codeforces Round #845 (Div. 2) and ByteRace 2023(A,B,C)88.2023牛客寒假算法基础集训营5 89.2023牛客寒假算法基础集训营3 90.2023牛客寒假算法基础集训营291.2023牛客寒假算法基础集训营192.Educational Codeforces Round 120 (Rated for Div. 2) C,D93.AtCoder Beginner Contest 254(C,D,E,F) Educational Codeforces Round 119 (Rated for Div. 2)
我真是越来越菜了,现在竟然连a都做不出来了,o(╥﹏╥)o
A
这个题是对于每一个ai和ai+1,(an和a1)都有一个判断,判断这两个是否相等,N代表着不相同,E代表相同,问我们是否可以找出这样一个数组
我就直接讲解法了吧
我们可以把这一串看成一个环,对于只有一个N的情况,那么一定是不符合条件的
#include <iostream>
#include <string>
using namespace std;
const int maxn=2e5+10;
int t;
string s;
void solve()
{
cin>>s;
int cnt=0;
for (int i=0;i<s.size();i++)
{
if (s[i]=='N') cnt++;
}
if (cnt==1)
{
cout<<"NO\n";
}
else
{
cout<<"YES\n";
}
return ;
}
int main ()
{
cin>>t;
while (t--)
{
solve();
}
system ("pause");
return 0;
}
C
这个题目是给予我们一个串,里面有a,是固定的,还有一种字符是*,这种事可以变化的,我们可以变成0到k个b,我们需要找出第x个小的字符
这一个我一开始看到代码,还以为是逆康拓展开,仔细一看,还是不同的
但是还是有一些操作也和逆康拓相似的
对于第一小的,是所有的*都变成0个b
我们要想增加到1,那么我们需要把加上一个b(在最后),要增加到x,如果这一个*不够(最多只可以变成k个b),那么我们可以往前找,再把此时需要的次序还要更新(到了第二个 * 号,我们的次序增加了(k+1)个),一直往前找,对于这一个 * 号,需要变成多少个b,就是此时还需要往前找的数量sum%(k+1),对于k是有多少个连续的 * 号
其实这一个操作过程就好像把x变成是一个k+1进制的数(这个k是连续cnt个 * 号,k=cnt*k,对于每一位,其中的进制中的每一个k有可能是不同的),仔细想想,好像也符合题意。
比如一个二级制,每一位都只能选0或者是1
最小的就是00,第二小的是01,第三小的是10,第四小的是11
就觉得蛮妙的
#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <cstring>
using namespace std;
#define int long long
const int maxn=2e3+10;
int n,k,t,x;
string s;
int idx,idx2;
int a[maxn],b[maxn];
void calc(int n,int k)
{
for (int i=n;i>=0;i--)
{
b[i]=k%(a[i]+1);//就算是0也不怕,索性就直接往前遍历了
k/=(a[i]+1);
}
return ;
}
void solve()
{
cin>>n>>k>>x;
cin>>s;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
idx=0,idx2=0;
for (int i=0;i<n;i++)
{
if (s[i]=='a')
{
if (a[idx])
{
idx++;
}
}
else
{
a[idx]+=k;
}
}
calc(idx,x-1);
for (int i=0;i<n;i++)
{
if (s[i]=='a')
{
if (i&&s[i-1]=='*')
{
for (int j=0;j<b[idx2];j++)
{
cout<<'b';
}
idx2++;
}
cout<<'a';
}
}
if (idx2<=idx)
{
while (idx2<=idx)
{
for (int j=0;j<b[idx2];j++)
{
cout<<'b';
}
idx2++;
}
}
cout<<'\n';
return ;
}
signed main ()
{
cin>>t;
while (t--)
{
solve();
}
system ("pause");
return 0;
}
D
这个大意是有n个数,我们需要用1,2,3这三个数需要总共多少个,可以对于所有的数都可以满足
那么我们可以贪心的来看,我们要尽量的多用3
对于那些必须用的1或者2还有些判断,具体看代码吧
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn=2e5+10;
int n,a[maxn],t;
void solve()
{
cin>>n;
int t1=0,t2=0,t3=0;
int mx=0,mi=1e9;
for (int i=1;i<=n;i++)
{
cin>>a[i];
mx=max(mx,a[i]);
mi=min(mi,a[i]);
if (a[i]%3==0)
{
t3=max(t3,a[i]);
}
else if (a[i]%3==1)
{
t1=1;
}
else
{
t2=1;
}
}
int ans=0;
if (mx%3==0)//如果最大的数%3==0,那么对于需要2的数,我们可以多出一个2,对于还有需要1的数我们还可以多加一个1,对于既有1,又有2的情况,我们把最大的那一个的需要的3换成2和1,那么我们就只多出一个了
{
ans=mx/3+(t1|t2);
}
else if (mx%3==2)
{
ans=mx/3+1+t1;//对于这一类,2是必须的,如果有需要1,就加一
}
else //对于多出了一个1,对于最后4个,我们有两种选择,但是不管怎样,都会加一
// 1 3
// 2 2
//如果我们需要2 ,那么我们就只能是2 2了,
//如果我们还有一个1,我们就必须还要加一(对于余数为1的,我们也看用2 2的方式转换
//如果第二小的数%3==0,那么我们就必须要t3/3个3,那么我们就只可以用1 3的方式来了,那么我们只能在多出一个1了
{
ans=mx/3+1+(t2&(mi==1||t3+1==mx));
}
cout<<ans<<'\n';
return ;
}
signed main ()
{
cin>>t;
while (t--)
{
solve();
}
system ("pause");
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)