首页 > 其他分享 >ABC370 Review

ABC370 Review

时间:2024-09-08 20:05:14浏览次数:3  
标签:改小 val int Review 位置 erase ABC370

ABC 370 Review

A

模拟题,过

B

模拟题,过

C

很明显的贪心思路是把需要更改的字母分为两类:改大和改小。

首先我们要明确的是要让输出的串尽量拥有小的字典序,且字典序比较的第一关键字是位置,第二是长度

所以对于改小的部分,改的位置越靠前我们就放在越前面操作;

对于改大的部分,改的位置越靠前我们反而放在越后面操作;

这样排序下来就会是最优的。

D

考试的时候打了一个链表发现假了,根本无法维护现有的。

想起之前做过一道 \(EC Final\) 的题也是通过 \(set\) 来维护同一行和同一列的关系,以后就要记性了。

简单来说就是通过二分查找\((lower\)_\(bound)\)来快速地确定应该修改的位置。

以前的知识

set<int> s;
s.size();
s.count(int val);
s.lower_bound(int val);
s.erase(auto it/int val);

新学到的知识

vector<set<int>> s(n);可以预先声明大小
    
auto erase = [&](int x, int y) 
{
    h[x].erase(y);
    l[y].erase(x);
};可以创建闭包在主函数使用临时函数 用 erase(x,y) 的格式调用
    
prev(it) 可以查找当前迭代器的上一个位置的迭代器(begin()小心越界)

其他都没有什么需要注意的地方了

E,F,G

以后一定回来填坑

标签:改小,val,int,Review,位置,erase,ABC370
From: https://www.cnblogs.com/Hanggoash/p/18403332

相关文章

  • トヨタ自動車プログラミングコンテスト2024#9(ABC370)
    A.RaiseBothHands\(\texttt{Diff}11\)#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'#definevoidinlinevoid//#defineONLINE_JUDGE#ifndefONLINE_JUDGE#definetest(i)cout<<"test:"<<i<<......
  • [ABC370C] Word Ladder 题解
    题目描述:给予两个相等长度的序列,\(S\)与\(T\),以及一个空数组\(X\),每在\(S\)上修改一个字符,便将修改后的\(S\)加入\(X\)中,直到\(S\)与\(T\)相同。(输出字典序最小的\(X\)数组)拿过题一看,感觉还是蛮简单的,本题主要的难点在字符串的字典序上。字符串字典序的定义......
  • 使用 nuxi preview 命令预览 Nuxt 应用
    title:使用nuxipreview命令预览Nuxt应用date:2024/9/8updated:2024/9/8author:cmdragonexcerpt:摘要:本文介绍了如何使用nuxipreview命令预览Nuxt.js应用,包括安装和准备环境、启动预览服务器的步骤,以及如何指定根目录和使用自定义.env文件等高级用法。通过nuxip......
  • 题解:AT_abc370_c [ABC370C] Word Ladder
    说句闲话并不会有更好的阅读体验。这题是一个比较奇葩的贪心、构造。也可以认为是一个数据结构略有难度的练习题。理论部分?>注:使用\(N\)表示字符串长度。一句段话题意:三个字符串\(S\)、\(T\)、\(X\),其中\(S\)和\(T\)仅包含小写字母且等长,\(X\)为空。每一个操作可以......
  • abc370 A-E题解 (AtCoder Beginner Contest 370)
     A这类简单题,看清楚:OutputPrint Yes, No,or Invalid accordingtotheinstructionsintheproblemstatement. B Cstd,这样写(0->n-1,n-1->0),可以少写一个vector1#include<bits/stdc++.h>2usingnamespacestd;34intmain(){5strings,......
  • ABC370掉分寄
    在数月不打ABC后,我为了找回打比赛的手感开始打ABC,结果挂得不堪入目。开场前15min,在360的可爱操作下我的AtcoderBetter被卸了,我就重装,然后在油叉里一不小心点了两遍,重装了俩,一登界面发现两个还一块使,导致交替的时候完全找不到提交按钮,极速换浏览器,可是看不了中文题面了。......
  • J.U.C Review - ThreadLocal原理源码分析
    文章目录一致性问题一致性问题简介解决一致性问题的常见方法ThreadLocal什么是ThreadLocalThreadLocal的线程模型ThreadLocal的工作原理使用场景ThreadLocal的基本API1.构造函数`ThreadLocal()`2.初始化方法`initialValue()`3.访问器`get()`和`set()`4.......
  • J.U.C Review - 计划任务ScheduledThreadPoolExecutor源码分析
    文章目录TimeVSScheduledThreadPoolExecutor小DemoScheduledThreadPoolExecutor类结构ScheduledThreadPoolExecutor主要方法介绍scheduleDelayed接口ScheduledFuture接口RunnableScheduledFuture接口ScheduledFutureTask类scheduleAtFixedRatescheduleWithFixedDelayd......
  • 【零基础 快速学Java】韩顺平 零基础30天学会Java--- 常用类(2024JavaReview)
    包装类包装类的分类(针对八种基本数据类型相应的引用类型—包装类)(有了类的特点,就可以调用类中的方法)(实现了接口Serializable【String可以串行化:可以在网络传输】)(实现了接口Comparable[String对象可以比较大小])包装类和基本数据的转换(jdk5前的手动装箱和拆箱方式,jdk5以后(含j......
  • 【零基础 快速学Java】韩顺平 零基础30天学会Java--- 面向对象编程(中级部分)(2024Jav
    IDEA常用快捷键添加注释和取消注释ctrl+/【第一次是添加注释,第二次是取消注释】导入该行需要的类先配置autoimport,然后使用alt+enter即可快速格式化代码ctrl+alt+L生成构造器等alt+insert[提高开发效率]查看一个类的层级关系ctrl+H[学习继承后,非常有用]......