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 2022
47.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)
Codeforces Round #841 (Div. 2) and Divide by Zero 2022
o(╥﹏╥)o
2022的最后一场也没打好
B题反正我是理解错了,我看到题目上写着要相乘再取模,结果就真的去先乘再取模,这样想都不用想会爆,真无语,反正B没写好我后面的也不想看了,C题也没怎么看就直接看答案了(不过要是我看了也不会想到那么巧妙的解题方法的)
B
B
还有一点我没有做出来的一点是,我推出了答案是
而我就好像只知道第一个怎么推导,后面一个我竟然用循环求答案(现在想起就无语,这真的是我吗)
然后我换了一种策略,我发现题目给的案列的答案最后一个不能被2022整除,于是我就异想天开,以为后面的答案都是同一个数(我脑子呢,后面还要取余呀)
以上是我的愚蠢行为
后面我发现上面那一个公式可以推导为
这样就很好算了(括号是个很麻烦的东西,但需要求累和的时候,尽量把括号解决)
还有,在求这个答案的时候可以取余的哦,不要被题目后面的话误导了
还有一个问题是我在求这一个答案中和队友们想明白的问题
就是在一个既有取余,又有除法的求值过程中,如果直接按照乘法的那种直接取余
如
6%4/3和6/3%4答案是不同的,取余后和取余前除出来的数不同
我想起以前看到一些大佬求除法都是以逆元的形式,以前想不明白,现在想起觉得任何事都有它的理由,现在可能不知道,到后面你有可能就会明白了,这种感觉太妙了
#include <iostream>
using namespace std;
#define int long long
const int mod=1e9+7;
int n,t;
int two,three;
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;
}
int fun(int n)
{
int ans=n*(n+1)%mod*(2*n+1)%mod*three%mod;
ans=(ans-(n*(n+1)%mod*two%mod));
ans=(ans%mod+mod)%mod;
ans=(ans*2022)%mod;
return ans;
}
void solve()
{
cin>>n;
cout<<fun(n)<<'\n';
return ;
}
signed main ()
{
cin>>t;
two=ksm(2,mod-2);
three=ksm(3,mod-2);
while (t--)
{
solve();
}
system ("pause");
return 0;
}
C
C
这道题我感觉妙不可言的地方就在它运用了正难则反的思想
还用到了“前缀和”来求一段的异或值
其他的看代码感受
#include <iostream>
#include <map>
#include <vector>
using namespace std;
const int maxn=2e5+10;
#define int long long
int n,t;
void solve()
{
cin>>n;
vector<int> a(n+1), cnt(2 * n+2);
cnt[0]++;
long long ans=n*(n+1)/2;
int pp=0;
for (int i=1;i<=n;i++)
{
cin>>a[i];
a[i]=a[i-1]^a[i];
for (int j=0;j*j<=2*n;j++)
{
int now=j*j;
int p=now^a[i];
if (p>2*n) break;
pp+=cnt[p];
}
cnt[a[i]]++;
}
cout<<ans-pp<<'\n';
return ;
}
signed main ()
{
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
cin>>t;
while (t--)
{
solve();
}
system ("pause");
return 0;
}
还有一个气愤的是我cnt用 map存就超时了,后来查了一下,map的查询是O(logn),而数组是O(1)
D
D
这一道题的存数组的大小不好控制,我这里用了二维vector
然后但一个l是满足条件的时候,比l小的一定是满足条件的,由此,这一道题可以用二分来做
而且,这一道题还用到了二维前缀和,来判断这一个区域是不是都>l
#include <iostream>
#include <stdlib.h>
#include <vector>
using namespace std;
int n,t,m;
bool check(int x,vector<vector<int>>c)
{
vector<vector<int>>b(n+1,vector<int>(m+1));
for (int i=1;i<=n;i++)
{
for (int j=1;j<=m;j++)
{
int now=0;
if (c[i][j]>=x) now=1;
b[i][j]=b[i-1][j]+b[i][j-1]-b[i-1][j-1]+now;
}
}
for (int i=x;i<=n;i++)
{
for (int j=x;j<=m;j++)
{
int now=b[i][j]-b[i][j-x]-b[i-x][j]+b[i-x][j-x];
if (now==x*x) return true;
}
}
return false;
}
void solve()
{
cin>>n>>m;
vector<vector<int>>a(n+1,vector<int>(m+1));
for (int i=1;i<=n;i++)
{
for (int j=1;j<=m;j++)
{
cin>>a[i][j];
}
}
int l=1,r=min(n,m)+1;
int ans=-1,mid;
while (l<=r)
{
mid=(l+r)>>1;
if (check(mid,a))
{
l=mid+1;
ans=mid;
}
else r=mid-1;
}
cout<<ans<<'\n';
return ;
}
int 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)