首页 > 其他分享 >Atcoder abc301 复盘(更新中)

Atcoder abc301 复盘(更新中)

时间:2023-12-10 21:44:06浏览次数:29  
标签:Atcoder AC abc301 高桥 简述 方格 如果 青木 复盘

跳转比赛链接

A - Overall Winner

简述:
高桥和青木下了 \(N\) 盘棋。给你一个长度为 \(N\) 的字符串 \(S\),表示这两盘棋的结果。如果 \(S\) 的 \(i\) 个字符是 t,那么高桥赢得了 \(i\) 局;如果 \(S\) 的 \(i\) 个字符是 A,那么青木赢得了这局。
高桥和青木之间的胜负关系是谁赢的局数多于谁。如果两人的胜局数相同,则先达到胜局数的一方为总冠军。找出总冠军:高桥或青木。

思路:不会有人红题不会吧?字符串处理,依次遍历即可。要注意胜负相等的情况。

AC 代码

B - Fill the Gaps

简述:
我们有一个长度为 \(N\) 的序列,由正整数 \(A=(A_1,\ldots,A_N)\) 组成。任何相邻的两个项都有不同的值。
让我们按以下步骤在这个数列中插入一些数字。

  1. 如果 \(A\) 中每一对相邻项的绝对差值都是 \(1\),则终止程序。
  2. 假设 \(A_i, A_{i+1}\) 是最接近 \(A\) 开头的一对相邻项,其绝对差不是 \(1\)。
    - 如果是\(A_i < A_{i+1}\),则在\(A_i\)和\(A_{i+1}\)之间插入\(A_i+1,A_i+2,\ldots,A_{i+1}-1\)。
    - 如果是\(A_i > A_{i+1}\),则在\(A_i\)和\(A_{i+1}\)之间插入\(A_i-1,A_i-2,\ldots,A_{i+1}+1\)。
  3. 返回步骤 1。

程序结束时打印序列。

思路:依次遍历处理,如遇绝对值差大于 \(1\),循环插入即可。

AC 代码

C - AtCoder Cards

简述:

问题陈述

AtCoder 公司流行一种单人纸牌游戏。游戏中的每张牌上都写有一个小写英文字母或符号 @。每种牌都有很多张。游戏过程如下

  1. 将相同数量的纸牌排成两行。
  2. 将每张带@的牌换成以下其中一张牌:atcoder
  3. 如果两排牌重合,您就赢了。否则,您输。

要赢得这个游戏,您需要进行以下作弊。

  • 在步骤 1 之后,无论何时都可以自由地重新排列一行中的纸牌。
    给你两个字符串 \(S\) 和 \(T\),分别代表步骤 1 之后的两行。判断在允许作弊的情况下是否有可能获胜。

思路:记录两个字符串中不同字符出现的数量(包括字符 @)。判断:如果字符不为 atcoder 中的一个,失败;如果剩余 @ 不够来替换,失败。

AC 代码

D - Bitmask

简述:
给你一个整数 \(N\) 和一个由 01? 组成的字符串 \(S\)。假设 \(T\) 是将 \(S\) 中的每个 ? 替换为 01 并将结果解释为二进制整数后得到的值的集合。例如,如果 \(S=\) ?0?,则有 \(T=\lbrace 000_{(2)},001_{(2)},100_{(2)},101_{(2)}\rbrace=\lbrace 0,1,4,5\rbrace\)。
打印 \(T\) 中小于或等于 \(N\) 的最大值(十进制整数)。如果 \(T\) 中没有小于或等于 \(N\) 的值,则打印 -1

思路:由于 \(2^n > 2^{n-1}+...+2^1\),所以肯定优先选择更高位的,之后依次向低位枚举即可。

AC 代码

E - Pac-Takahashi

简述:

问题陈述

我们有一个行数为 \(H\) 列数为 \(W\) 的网格。让 \((i,j)\) 表示从上往下第 \(i\) 行,从左往上第 \(j\) 列的方格。网格中的每个方格都是以下几种方格之一:起点方格、目标方格、空方格、墙壁方格和糖果方格。\((i,j)\) 用字符 \(A_{i,j}\) 表示,如果 \(A_{i,j}=\) S ,则 \((i,j)\) 为起始方格;如果 \(A_{i,j}=\)G,则\(A_{i,j}=\)为目标方格,\(A_{i,j}=\). 为空方格,\(A_{i,j}=\)# 时为墙方格,\(A_{i,j}=\)o 时为糖果方格。在这里,可以保证正好有一个起点方格、正好有一个目标方格和 最多 \(18\) 个糖果方格。
高桥现在位于起点方格。他可以重复移动到垂直或水平相邻的非墙方格。他希望最多移动 \(T\) 步到达目标方格。判断这是否可能。如果可能,找出他在到达目标方格的途中最多可以到达的糖果方格数,他必须在目标方格完成。每个糖果方格只计算一次,即使它被访问了多次。

思路:

AC 代码:

标签:Atcoder,AC,abc301,高桥,简述,方格,如果,青木,复盘
From: https://www.cnblogs.com/ziyistudy/p/17893285.html

相关文章

  • ABC312 复盘
    ABC312复盘At链接LG链接AChord思路解析:水题,一个if即可#include<bits/stdc++.h>usingnamespacestd;strings;intmain(){ cin>>s; if(s=="ACE"||s=="BDF"||s=="CEG"||s=="DFA"||s=="EGB&qu......
  • ABC301 复盘
    ABC301复盘At链接LG链接[ABC301A]OverallWinner思路解析:从头开始遍历字符串,遇到一个字符就给对应的一方加分,输出第一个胜场大于\(\lceiln/2\rceil\)的一方。#include<bits/stdc++.h>usingnamespacestd;intn;stringstr;intmain(){ cin>>n; cin>>str......
  • AtCoder Beginner Contest 331 G - Collect Them All【概率期望+容斥+多项式】
    题目链接:ABC331_G写在前面将来如果回顾这道题,建议自己看完题意一定先重新推一遍。如果还是不够熟练,多去做一些同类型的题目吧。题意:盒子里有\(N\)张卡片,每张卡片上写着一个数字,数字的范围是\(1,...,M\),写着数字\(i\)的卡片有\(C_i\)张\((C_i>0)\)。有放回地抽取卡片,每......
  • AT_abc312复盘
    AT_abc312复盘A一眼过去直接\(if\)秒了ACcode:#include<bits/stdc++.h>usingnamespacestd;strings;intmain(){cin>>s;if(s=="ACE"||s=="BDF"||s=="CEG"||s=="DFA"||s=="E......
  • 【父子进程/AES/XTEA/SMC】赛后复盘
    官方wp:进程重影技术:进程重映像利用了Windows内核中的缓存同步问题,它会导致可执行文件的路径与从该可执行文件创建的映像节区所报告的路径不匹配。通过在一个诱饵路径上加载DLL,然后卸载它,然后从一个新路径加载它,许多WindowsAPI将返回旧路径。这可能可以欺骗安全产品,使其在错误......
  • Daiwa Securities Co. Ltd. Programming Contest 2023(AtCoder Beginner Contest 331)
    DaiwaSecuritiesCo.Ltd.ProgrammingContest2023(AtCoderBeginnerContest331)A-Tomorrow解题思路:模拟。代码:#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;typedefpair<int,int>pii;#definefifirst#definesesecondcons......
  • AtCoder Beginner Contest 331
    A-Tomorrow(abc331A)题目大意给定一年的月数和一月的天数,以及当天日期,问次日的日期。解题思路一个简单的进制加法运算,超出进制数则向前加一。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;intmain(void){ios::sync_with_st......
  • AtCoder Beginner Contest 328
    AtCoderBeginnerContest328链接:ToyotaProgrammingContest2023#7(AtCoderBeginnerContest328)-AtCoderA题意:给定n个数,将小于等于x的数加起来输出。#include<bits/stdc++.h>#defineintlonglong#defineendl'\n';usingnamespacestd;voidsolve(){......
  • AtCoder Beginner Contest 331
    AtCoderBeginnerContest331这场状态好差,下午的校赛也打的好差。A-Tomorrow#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;voidsolve(){intM,D;inty,m,d;cin>>M>>D>>y>>m>&......
  • AtCoder Beginner Contest 331 G Collect Them All
    洛谷传送门AtCoder传送门设数字\(i\)第一次拿到的时间为\(t_i\),所求即为\(E(\max\limits_{i=1}^mt_i)\)。施min-max容斥,有:\[\begin{aligned}E(\max\limits_{i=1}^mt_i)&=\sum\limits_{T\subseteq[1,m]\landT\ne\varnothing}(-1)^{|T|-1}E(\min\l......