1. AtCoder Beginner Contest 293(C,D ,E,F) 2023-03-17 2. Educational Codeforces Round 115 (Rated for Div. 2)(D,E) 2023-03-18 3. AtCoder Beginner Contest 294(E,F,G) 2023-04-03 4. AtCoder Beginner Contest 246 2023-03-29 5. 中国石油大学(北京)第三届“骏码杯”程序设计竞赛(同步赛)(D,E,F) 2023-03-25 6. Codeforces Global Round 16(D,E,F) 2023-03-25 7. AtCoder Beginner Contest 209(D,E) 2023-05-08 8. Monoxer Programming Contest 2022(AtCoder Beginner Contest 238)(E,F) 2023-05-07 9. AtCoder Beginner Contest 285(B,D,E,F) 2023-05-06 10. AtCoder Beginner Contest 242(D,E) 2023-05-03 11. AtCoder Beginner Contest 223(D,E,F) 2023-04-15 12. AtCoder Beginner Contest 207(D,E) 2023-04-11 13. AtCoder Beginner Contest 247(E,F) 2023-04-10 14. AtCoder Beginner Contest 226(E,F,G) 2023-04-05 15. AtCoder Beginner Contest 229(F,G) 2023-06-23 16. AtCoder Beginner Contest 273(E) 2023-06-13 17. AtCoder Beginner Contest 286(G) 2023-06-02 18. AtCoder Beginner Contest 287(C,D,E,F) 2023-06-01 19. AtCoder Beginner Contest 288(D,E,F) 2023-05-31 20. AtCoder Beginner Contest 289(E,F) 2023-05-30 21. AtCoder Beginner Contest 290(D,E) 2023-05-29 22. AtCoder Beginner Contest 292(E,F,G) 2023-05-28 23. AtCoder Beginner Contest 298(D,F) 2023-05-27 24. AtCoder Beginner Contest 299(E,F) 2023-05-27 25. AtCoder Beginner Contest 300(E,F) 2023-05-25 26. AtCoder Beginner Contest 302(E,F,G) 2023-05-24 27. AtCoder Beginner Contest 253(E,F) 2023-05-17 28. AtCoder Beginner Contest 245(D,E,F) 2023-05-15 29. AtCoder Beginner Contest 248(D,E,F) 2023-05-14 30. AtCoder Beginner Contest 206(Sponsored by Panasonic)(E,F) 2023-05-09 31. Codeforces Round 875 (Div. 2)(D) 2023-07-08 32. AtCoder Beginner Contest 178(E,F) 2023-07-08 33. AtCoder Beginner Contest 307(E,F,G) 2023-07-01 34. CodeTON Round 5 (Div. 1 + Div. 2, Rated, Prizes!)C 2023-06-30 35. Educational Codeforces Round 151 (Rated for Div. 2)(C,D) 2023-06-30 36. AtCoder Beginner Contest 212(E,F) 2023-06-24 37. 牛客小白月赛51 2022-12-09 38. 2022年浙大城市学院新生程序设计竞赛(同步赛)(补题) 2022-12-11 39. Codeforces Round #770 (Div. 2)B,C 2022-12-24 40. Codeforces Global Round 24(B,C) 2022-12-23 41. Codeforces Round #836 (Div. 2)C 2022-12-21 42. Codeforces Round #840 (Div. 2) C 2022-12-20 43. Good Bye 2022: 2023 is NEAR C 2022-12-31 44. Codeforces Round #765 (Div. 2)A,B,C 2022-12-31 45. Codeforces Round #766 (Div. 2)C,D 2022-12-29 46. Codeforces Round #841 (Div. 2) and Divide by Zero 2022 2022-12-28 47. Codeforces Round #767 (Div. 2)C ,D 2022-12-27 48. Codeforces Round #768 (Div. 2)C ,D 2022-12-26 49. Codeforces Round #769 (Div. 2) B,C 2022-12-25 50. Educational Codeforces Round 122 (Rated for Div. 2),C,D 2022-12-25 51. Educational Codeforces Round 119 (Rated for Div. 2) 2023-01-14 52. AtCoder Beginner Contest 258 2023-01-13 53. Codeforces Round #763 (Div. 2)C 2023-01-12 54. Codeforces Round #843 (Div. 2)(B,C,D,E) 2023-01-12 55. Educational Codeforces Round 141 (Rated for Div. 2)(B,C,D) 2023-01-10 56. AtCoder Beginner Contest 275(B,C,D,E,F) 2023-01-09 57. Codeforces Round #842 (Div. 2)(B,D,E) 2023-01-09 58. AtCoder Beginner Contest 284(D,E,F) 2023-01-08 59. The 14th Jilin Provincial Collegiate Programming Contest(补题) 2023-01-07 60. 牛客小白月赛65(C,D,E,F) 2023-01-07 61. AtCoder Beginner Contest 281(D,E,F) 2023-01-05 62. Good Bye 2021: 2022 is NEAR D 2023-01-05 63. Hello 2023 2023-01-04 64. The 15th Jilin Provincial Collegiate Programming Contest(补题) 2023-01-03 65. Codeforces Round #781 (Div. 2)C 2023-01-02 66. Hello 2022(B,D) 2023-01-01 67. AtCoder Beginner Contest 272(D,E) 2023-03-10 68. Codeforces Round 751 (Div. 2)(D) 2023-03-08 69. Codeforces Round 856 (Div. 2)(C,D) 2023-03-08 70. Codeforces Round 752 (Div. 2)(C,D,E) 2023-03-08
71. Codeforces Round 855 (Div. 3)(E,F) 2023-03-05 72. AtCoder Regular Contest 131(A,B,C) 2023-03-05 73. Educational Codeforces Round 144 (Rated for Div. 2)(A,B,C,D) 2023-03-05 74. Codeforces Round 853 (Div. 2)(C,D) 2023-03-03 75. 牛客练习赛109(C,D) 2023-03-03 76. AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS)(D,E,F) 2023-03-01 77. Educational Codeforces Round 143 (Rated for Div. 2)(A,C,D) 2023-02-28 78. Codeforces Round #852 (Div. 2)(C,D) 2023-02-13 79. Educational Codeforces Round 118 (Rated for Div. 2)(D,E) 2023-02-09 80. AtCoder Beginner Contest 236(D,E,F) 2023-02-09 81. Codeforces Round #850 (Div. 2, based on VK Cup 2022 - Final Round)(B,D) 2023-02-08 82. Codeforces Round #848 (Div. 2)(B,C,D) 2023-02-07 83. TypeDB Forces 2023 (Div. 1 + Div. 2, Rated, Prizes!) (B,C,D) 2023-02-07 84. Codeforces Round #846 (Div. 2)(B,E) 2023-02-07 85. Educational Codeforces Round 142 (Rated for Div. 2)(C,D) 2023-02-04 86. 2023牛客寒假算法基础集训营6 2023-02-04 87. Codeforces Round #845 (Div. 2) and ByteRace 2023(A,B,C) 2023-02-02 88. 2023牛客寒假算法基础集训营5 2023-02-02 89. 2023牛客寒假算法基础集训营3 2023-01-21 90. 2023牛客寒假算法基础集训营2 2023-01-19 91. 2023牛客寒假算法基础集训营1 2023-01-18 92. Educational Codeforces Round 120 (Rated for Div. 2) C,D 2023-01-15 93. AtCoder Beginner Contest 254(C,D,E,F) 2023-01-15
Codeforces Round 752 (Div. 2)(C,D,E)
C
C
这道题的大意就是给你 个数,然后我们可以选择第 个数,如果 ,我们就可以删除这一个数,每次删除之后每一个数的下标都会更新,然后问我们是否可以把这 个数都删除
对于每一个数,我们可能有这些数成为他们的下标,对于 ,从 到 都可能成为这个数的下标,然后我一开始觉得直接模拟就会爆掉,其实不然,因为 ,所以我们最多枚举到 多就可以了
然后我们就直接判断从 到 是否存在不可整除的数,如不存在就一定删除不了
#include <iostream>
#include <algorithm>
using namespace std ;
#define int long long
const int maxn=1e5 +10 ;
int t,n;
int a[maxn];
void solve ()
{
cin >>n;
bool can=true ;
for (int i=1 ;i<=n;i++)
{
cin >>a[i];
bool yes=false ;
for (int j=2 ;j<=i+1 ;j++)
{
if (a[i]%j)
{
yes=true ;
break ;
}
}
if (!yes) can=false ;
}
if (can)
{
cout <<"YES\n" ;
}
else cout <<"NO\n" ;
return ;
}
signed main ()
{
cin >>t;
while (t--)
{
solve();
}
system ("pause" );
return 0 ;
}
D
D
这个虽然做出来了,但是还想记录一下
题目给我们两个数, 和 ,求找到一个 ,满足
这个可以分类讨论
如果 , ,那么
如果 ,那么 ,那么 ,
如果
然后我们就可以写代码了
#include <iostream>
#include <algorithm>
using namespace std ;
#define int long long
int t,n;
void solve ()
{
int x,y;
cin >>x>>y;
int ans;
if (x==y)
{
ans=x;
}
else if (x>y)
{
ans=x+y;
}
else
{
int p=x;
x=y/x;
x=x*p;
ans=(x+y)/2 ;
}
cout <<ans<<'\n' ;
return ;
}
signed main ()
{
cin >>t;
while (t--)
{
solve();
}
system ("pause" );
return 0 ;
}
E
E
这个题大意是给你 个数,然后我们我们选择这 个数里面的子数组,可以选择一个数 ,把 变成 和 ,满足 ,使得这个子数组变成非递减的数组,每一个最后得到的非递减数组经历了 次操作,然后就得到一个价值 ,问这 个数可以得到多少价值
因为我们要满足是非递减数组,所以我们可以根据后面的,得到前面的
对于此时的 ,然后我们可以根据以 这个位置可以得到前面一个位置的数可以是什么
比如此时以 为结尾的,那么我们选择在这个 的前面的那一项的大小可以是多少
我们要满足这个数是满足小于等于 ,那么它前面的那些数比 小的
我们可以得到此时的 ,我们还可以得到上一轮的得到最前面的值为 的分配方法 ,然后 的使用程度是 次,(如对于 ),然后我们还需要把 分成 堆的操作数( ),
我们要求的是满足要求的子数组的价值和
所以我们对于分开 的贡献为到达这一种子数组的子数组数量乘以这一实现这一个子数组的操作数然后乘以他们每一个位置的使用程度
那么
我们可以得到每一种分开方式的贡献
然后这些数组的转移还需要考虑
对于此时的 变成若干个 ,但是 不一定能整除
所以对于在 的前面的那些数的排列可能是 这种的
所以我们还需要判断在这种分配方式的最前面的那一个数是
可以得到状态转移方程为
但是由于这个题的 有点大,开二维空间不够
所以我们这里使用了二进制的变化来代表此时的 和前一轮的 值,实际上我们也只需要这两个 值
然后具体看代码
#include <iostream>
#include <algorithm>
using namespace std ;
#define int long long
const int maxn=1e5 +10 ;
const int mod=998244353 ;
int t,n;
int a[maxn];
int dp[2 ][maxn];
void solve ()
{
cin >>n;
for (int i=1 ;i<=n;i++)
{
cin >>a[i];
}
int ans=0 ;
dp[n&1 ][a[n]]=1 ;
int now=n&1 ;
for (int i=n-1 ;i>=1 ;i--)
{
for (int j=1 ;j<=a[i+1 ];)
{
int cur=a[i+1 ]/j;
int u=dp[now][cur];
int v=(a[i]+cur-1 )/cur;
int next=a[i]/v;
ans=(ans+i*u%mod*(v-1 )%mod)%mod;
dp[now^1 ][next]+=u;
dp[now][cur]=0 ;
j=a[i+1 ]/cur+1 ;
}
dp[now^1 ][a[i]]++;
now^=1 ;
}
cout <<ans<<'\n' ;
for (int i=1 ;i<maxn;i++)
{
dp[0 ][i]=dp[1 ][i]=0 ;
}
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)