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,D51.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 143 (Rated for Div. 2)(A,C,D)
好久没有写题了,这次竟然连都不会用了,O(∩_∩)O
A
A
这个也是差一点了,还有一个情况我的解法是没有输出的,果然手生了,题目还蛮好理解的
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
using namespace std;
int t,n,m;
string s,ss;
map<char,int>is;
void solve()
{
cin>>n>>m;
cin>>s>>ss;
reverse(ss.begin(),ss.end());
s=s+ss;
int len=s.size();
for (int i=1;i<len;i++)
{
if (s[i]!=s[i-1]) continue;
for (int j=i+1;j<len;j++)
{
if (s[j]==s[j-1])
{
cout<<"NO\n";
return ;
}
}
cout<<"YES\n";
return ;
}
cout<<"YES\n";
return ;
}
int main ()
{
cin>>t;
is['R']=1;
is['B']=0;
while (t--)
{
solve();
}
system ("pause");
return 0;
}
C
C
由于第一道题花了太多的时间,让本来不聪明的我雪上加霜,不过大致的框架什么的已经出来了
这个题大意就是有杯茶,还有个人,每个人最多可以喝毫升茶,杯子里有毫升茶,然后每一个在喝了杯茶后,又会再去和杯茶,每个人喝的时间是一样的,大致就是在第一轮是,每一个都在喝第杯茶,在第二轮是,每一个都在喝第杯茶,问我们每个人可以喝到多少毫升茶
考虑到比较大,所以我们不可以一个一个暴力
然后我就想到了对于每一杯茶,如果不考虑那个人喝不喝得到,对于第杯茶,这些人都可以喝到这个杯子里面的茶
然后我们就可以考虑到从到这一个部分的人都是可以喝到自己的最大量,然后后面还可能会有一个人喝不满,那么我们就让那个人喝下最后剩下的
但是呢,每一个人的都不一样,一个一个加是不现实的,所以我们只需要统计每个人喝足量的数量,然后我们还需要开一个数组,是那个人没有喝到足量的茶的时候的喝的量
对于每一杯茶,喝足量的人每次都是连续的,所以我们可以用到差分前缀的思想
当然我们还需要利用二分来寻找的位置
还要注意使用的时里面的每一个都要有一个具体的数,并且是有序的,比如这个我把开到了的空间,但是里面最后只有个数,所以就用不了,所以这一点要注意
#include <iostream>
#include <string>
#include <map>
#include <algorithm>
#include <vector>
using namespace std;
#define int long long
const int maxn=2e5+10;
int t,n,k;
vector<int>a,b,ans,x;
vector<int>sum;
void solve()
{
cin>>n;
x=ans=a=b=vector<int>(n+10,0);
for (int i=1;i<=n;i++)
{
cin>>a[i];
}
sum=vector<int>(n+1);
sum[0]=0;
for (int i=1;i<=n;i++)
{
cin>>b[i];
sum[i]=sum[i-1]+b[i];
}
for (int i=1;i<=n;i++)
{
int now=a[i]+sum[i-1];
int len=upper_bound(sum.begin(),sum.end(),now)-sum.begin();
if (sum[len]>=now&&len>=i)
{
if (len==i)
{
x[i]+=a[i];
}
else
{
ans[i]++;
ans[len]--;
x[len]+=min(b[len],now-sum[len-1]);
}
}
else
{
ans[i]++;
ans[n+1]--;
}
}
for (int i=1;i<=n;i++)
{
ans[i]=ans[i-1]+ans[i];
}
for (int i=1;i<=n;i++)
{
ans[i]*=b[i];
ans[i]+=x[i];
cout<<ans[i]<<" ";
}
cout<<'\n';
return ;
}
signed main ()
{
cin>>t;
while (t--)
{
solve();
}
system ("pause");
return 0;
}
D
D
这个题大意就是有个点,每三个点可以构成一个三角形,然后我们需要把这个三角形染色,总共有两种颜色,但是有一个要求就是这三个点必须染色必须有两个相同的,一个不同的,并且,最后两种颜色染色的点的数量都一样。
然后对于两个不同色的点之间的权值我们会加到里面,(是所以可得的权值之和的最大的那一个条件),问得到这个可以有多少种方案
对于这些条件,我们知道每一个三角形都一定会有两个边是可以选择的,所以在不考虑颜色的情况下,三点之间的选择也有不同的数量
如果三个点都是一样的,那么会有种选择,这个情况有个
如果最大点只有一个,次大点有两个,除了最大的那个点是确定的,次大点有两个选择,即会有种选择,有个
那个这个分配方案个数为
然后我们考虑颜色的分配,例如,对于一个三角形的颜色是,那么另外一个三角形一定是,所以总共有个选择,总共有个三角形,所以这就是一个组合数
#include <iostream>
#include <algorithm>
using namespace std;
const int maxn=1e5+10;
#define int long long
int mod=998244353;
int t,n,w[maxn];
int f[maxn],invf[maxn];
int ksm(int x,int p)
{
int res=1;
while (p)
{
if (p&1)
{
res=(res*x)%mod;
}
x=(x*x)%mod;
p>>=1;
}
return res%mod;
}
void init(int mx)
{
f[0]=f[1]=1;
for (int i=2;i<=mx;i++)
{
f[i]=f[i-1]*i%mod;
}
invf[mx]=ksm(f[mx],mod-2);
for (int i=mx-1;i>=0;i--)
{
invf[i]=1ll*invf[i+1]*(i+1ll)%mod;
}
return ;
}
int C(int n,int m)
{
if (n==m&&m==-1) return 1;
if (n<0||m<0) return 0;
return f[n]*invf[n-m]%mod*invf[m]%mod;
}
void solve()
{
cin>>n;
init(n/3+6);
int cnt1=0,cnt2=0;
for (int i=1;i<=n/3;i++)
{
for (int j=1;j<=3;j++)
{
cin>>w[j];
}
if (w[1]==w[2]&&w[2]==w[3])
{
cnt1++;
}
else
{
sort(w+1,w+4);
if (w[2]==w[1]) cnt2++;
}
}
int ans=ksm(3,cnt1)*ksm(2,cnt2)%mod;
ans=(ans*C(n/3,n/6))%mod;
cout<<ans<<'\n';
return ;
}
signed main ()
{
t=1;
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)