首页 > 其他分享 >ABC 337

ABC 337

时间:2024-01-21 12:56:41浏览次数:33  
标签:cnt ABC 记录 less 337 texttt dp

较简单的场。submissions.

很久以后复健 abc 第一场。G 题开太慢没 \(2400\) 差评。

A

直接加。

B

如果 \(s=\texttt{rev}(s)\),则是 Yes,否则是 No

C

There is exactly one way to arrange the \(N\) people consistent with the information given.

所以给出的是一条链。直接记录后继即可。

D

码量最大的一题。(我写的)

可以记录一个地方最多往右、下最多走几步,再对每个点开始枚举。

当然可以不记录最多往右、下最多走几步,遇到 x 就 break,见最短代码

E

小思维。

知道坏肚子的人的集合等同于知道是哪瓶,也就是说每一瓶给到的人的集合互不相同。所以最少要 \(\log (N)\) 个人品尝。

构造很简单。

F

本场最难的。我开始以为程序难写就跳过了。

显然要预处理每个颜色有多少球,把 \(c\) 复制一遍接到结尾。

从左往右移球,记录一个指针指到最后一个占了一个盒子的求。当我们发现有空盒子的时候,指针往后挪,加入新盒子的时候(颜色放不下多开一个或者出现新的颜色),就放进去。删除球,可以直接减。

代码很简单。所有里面第四短。

G

dp 题。所有里面第 \(11\) 短。是不是换根 dp()。

预处理出以 \(1\) 为根,每个节点儿子里面的答案,设为 \(cnt_u\)。\(cnt_u=\sum_{v\in G_u}cnt_v+\texttt{# of nodes less than }u\texttt{ in the sons}\)。后面这个可以用 bit 处理。

设 \(dp_u\) 为最终答案。那么,\(dp_{v}=cnt_v+dp_u-cnt_v-\texttt{# of sons in }v \texttt{ including }v\texttt{ that is less than }u\)。后面这个也就是前面可以一起处理的。

对着图很好理解。

标签:cnt,ABC,记录,less,337,texttt,dp
From: https://www.cnblogs.com/SFlyer/p/17977728

相关文章

  • ABC337 D Cheating Gomoku Narabe 题解
    QuestionABC337DCheatingGomokuNarabe给出一个\(H\timesW\)的矩阵,由o,x,.组成,一次操作为把一个.变成o,问需要最少多少次操作使得横着或竖着有连续的\(K\)个oSolution先来考虑只有一行的情况,我们定义一个长度为\(K\)的"窗口",假设需要把这个"窗口"里面的所有......
  • Toyota Programming Contest 2024#1(AtCoder Beginner Contest 337)
    ToyotaProgrammingContest2024#1(AtCoderBeginnerContest337)比赛链接A-Scoreboard思路简单的模拟,统计一下总分数就可以了Code#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongvoidsolve(){ intn; intans1=0; intans2=0; cin>>n; for......
  • AtCoder Beginner Contest 337
    AtCoderBeginnerContest337赛后总结A题不多说,纯水。B题对题目要求没有理解太透(不知道是英语问题,还是它样例给的不够全,没太能理解最后的那个判断结果)卡c题上了c题感觉其实是个比较有意思的题,但是只要理解了题目就知道本质是一个求数组对应的下标,再以数组的下标所对应的数组......
  • ABC337
    T1:Scoreboard模拟代码实现n=int(input())st,sa=0,0foriinrange(n):x,y=map(int,input().split())st+=x;sa+=yifst<sa:print('Aoki')ifst==sa:print('Draw')ifst>sa:print('......
  • AtCoder Beginner Contest 337
    AtCoderBeginnerContest337做题顺序有点奇怪。先做的C。套路题。令\(to_i\)表示\(i\)的下一个点是什么。2min过了。再做的B。智障题。令\(now\)表示现在在哪个字符(A或B或C),然后挨个字符跳。结果真成智障了,第一发没判断A跳到C的情况,罚时+1。又做的A。入......
  • AtCoder Beginner Contest 337
    A-Scoreboard思路&&Code/*高桥和青木N场比赛xy得分情况分别为x1y1.....xnyn计算高桥的总得分与青木的总得分进行比较高桥得分>青木得分输出Takahashi==输出Draw<输出Aoki*......
  • AT_abc303_d
    看到本题,很容易想到贪心,对每一段相同的子串计算最小代价。但这种思路的评测结果显示有\(3\)个测试点WA了,因此解法错误。既然贪心行不通,我们不妨使用dp,对每一位进行分类讨论并求最小耗时。设\(dp_{i,j}\)表示Capslock状态为\(j\)时(\(j\)为\(0\)或\(1\),\(0\)表示熄......
  • AT_abc179_e
    题意定义\(f(x,m)=x\bmodm\)。有一个序列\(a\),满足\(a_1=1\),\(a_i=f(a_{i-1}^2,m)\)。求\[\sum_{i=1}^na_i\]思路这道题\(n\)的数据范围很大,但\(m\)最多只有\(10^5\),因此考虑以此为突破口。需要用到如下的同余性质:\[(a\timesb)\bmodm=(a\bmodm\times......
  • AT_abc180_d
    贪心思想,STR值增长得越慢,可能得到的EXP值就越多。根据此,我们在\(x\)较小时,可以乘\(a\)也可以加\(b\),选择运算后较小的一种情况。在某一时刻,当\(x\timesa>x+b\)时,可知一直到最后都应选择加\(b\)(前者是几何级增长,后者是算术级增长)。然后计算能加的次数即可。具体......
  • AT_abc294_d
    题意有\(n\)个人在银行里排队等待工作人员叫号。接下来有\(q\)个事件,事件的类型分为\(3\)种。1工作人员叫一个当前未被叫号的人过来。2x代表编号为\(x\)的人来了(保证\(x\)至少被叫号一次)。3重复呼叫没有来的人当中编号最小的,并要求输出其编号。思路......