Codeforces Round 942 (Div. 2)

💡 原文中文,约3200字,阅读约需8分钟。
📝

内容提要

A. 给定两个排序数组,将值添加到一个数组的前面并从另一个数组的末尾移除值,以确保第一个数组中的每个元素小于或等于第二个数组中的对应元素。B. 两个人玩硬币游戏,他们可以移除一个正面朝上的硬币并翻转剩下的两个连续硬币,确定谁将做最后一步。C. 排列计数:给定一组具有不同数量的卡片,添加额外的卡片以最大化形成[1,n]的排列的子字符串数量。D1. 反转卡(简单版本):找到满足条件(a + b)mod b * gcd(a,b)= 0的配对(a,b)。D2. 反转卡(困难版本):找到满足条件b * gcd(a,b)mod(a + b)= 0的配对(a,b)。

🎯

关键要点

  • 给定两个排序数组,往第一个数组前面添加值并从第二个数组末尾移除值,以确保第一个数组中的每个元素小于或等于第二个数组中的对应元素。
  • 两个人玩硬币游戏,可以移走一个正面朝上的硬币并翻转剩下的两个连续硬币,确定谁将做最后一步。
  • 给定一组不同数量的卡片,允许增加额外的卡片以最大化形成[1,n]的排列的子字符串数量。
  • 反转卡(简单版本):找到满足条件(a + b) mod b * gcd(a, b) = 0的配对(a, b)。
  • 反转卡(困难版本):找到满足条件b * gcd(a, b) mod (a + b) = 0的配对(a, b)。
➡️

继续阅读