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 855 (Div. 3)(E,F)
在 受虐久了,这次 打的还蛮顺利的(虽然 了好几次)
E
E
题目大意就是有两个字符串,我们要通过以下两种操作把第一个字符变成第二个字符
操作 就是我们可以把第 个字符和第 个字符进行交换,操作 就是我们可以把第 个字符和第 个字符进行交换,问是否可以变成第二个字符串
第一个要满足的条件就是字母的种类和数量是否一样,然后再考虑其他的
我们可以发现每相邻的两个是可以交换的,如 可以和 交换,然后再用 和 进行交换即可,那么就意味着对于所有可以实现相邻两个可以交换的字符的位置可以随意改变,那么我们就假设这一段的字符都是可以匹配成功的,那么对于那些不可以进行一次交换的,是一定不能动的,只有这些位置上的字符都是是符合的才可能成功,否则就失败
#include <iostream>
#include <string>
#include <map>
#include <vector>
#include <set>
using namespace std ;
int tt,n,k;
string s,t;
void solve ()
{
cin >>n>>k;
cin >>s>>t;
vector <int >cnt1(30 ),cnt2(30 );
for (int i=0 ;i<n;i++)
{
cnt1[s[i]-'a' ]++;
cnt2[t[i]-'a' ]++;
}
for (int i=0 ;i<26 ;i++)
{
if (cnt1[i]!=cnt2[i])
{
cout <<"NO\n" ;
return ;
}
}
for (int i=0 ;i<n;i++)
{
if (i-k<0 &&i+k>=n)
{
if (s[i]!=t[i])
{
cout <<"NO\n" ;
return ;
}
}
}
cout <<"YES\n" ;
return ;
}
signed main ()
{
cin >>tt;
while (tt--)
{
solve();
}
system ("pause" );
return 0 ;
}
F
F
这个题大意是给你 个字符串,然后我们需要找到两个字符串,满足这两个字符串里面字母的种类一定是 种,并且每一种字母的数量一定是奇数个,问这样的搭配有多少个
对于两个字符串的字母种类都只有 个,那么都是缺少了某一个字符,其他的字母一定是奇数个
然后我们知道
那么对于这其余的 个字母,在每一个字符串里面的数量的奇偶性一定是不同的,而且只要满足以上条件,那么其他的字母一定是不等于 的,恰好只少了一个字符
那么我们可以对于这 字母的数量的奇偶性用二进制来表示,然后每一次奇偶性的变化和异或 是一样的变化
那么对于此时有的一种状态,分别找缺少某一个字母的另外一个状态的数量
例如对于下面(假设总共只有 个字母)
,对于缺少第 个字母,我们需要找同样缺少第 个字母的,然后再要让其余的字母的数量都变成奇数个,那么我们只要让 除了第四位以外其余的每位都异或上 (存在的都是不一样的),那么就是 ,那么第 也是存在的,所以刚好是除了我们所指定的那个字符缺少,其余的一定会存在的
所以我们可以用一个二维的 来记录( 可能会超时),第一维表示我们所指定缺失的那一个状态,第二位指的是这 个字母的数量的奇偶性分布(用二进制 表示)
那么对于那些除了某一位不用异或,其他的都要异或,我们可以预先处理
具体的细节就看代码吧
#include <iostream>
#include <string>
#include <vector>
#include <unordered_map>
using namespace std ;
#define int long long
int n;
string s;
int sum=0 ;
int tar[26 ];
bool vis[26 ];
int c[26 ];
unordered_map <int ,int >ans[26 ];
void init ()
{
for (int i=0 ;i<26 ;++i) tar[i]=((1 <<26 )-1 )^(1 <<i);
return ;
}
signed main ()
{
std ::ios::sync_with_stdio(false );
std ::cin .tie(0 );
cin >>n;
init();
while (n--)
{
cin >>s;
int m=s.size();
for (int i=0 ;i<26 ;i++)
{
c[i]=0 ;
vis[i]=false ;
}
for (int i=0 ;i<m;i++)
{
int now=s[i]-'a' ;
vis[now]=true ;
c[now]^=1 ;
}
int cur=0 ;
for (int i=0 ;i<26 ;i++)
{
cur|=(c[i]<<i);
}
for (int i=0 ;i<26 ;i++)
{
if (!vis[i])
{
ans[i][cur]++;
}
}
for (int i=0 ;i<26 ;i++)
{
if (!vis[i])
{
sum+=ans[i][cur^tar[i]];
}
}
}
cout <<sum<<'\n' ;
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)