「LibreOJ#516」DP 一般看规律
首先对于序列上一点,它对答案的贡献只有与它的前驱和后驱(前提颜色相同)构成的点对,
于是想到用set维护每个颜色,修改操作就是将2个set暴力合并(小的向大的合并),每次插入时更新答案即可
颜色数要离散化,或者用map也行
Code
#include <cstdio>
#include <set>
#include <map>
#define N 100010
using namespace std;int n,m,Ans=2147483647;
map<int,set<int>> A;inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}void upd(int c,int p){auto it=A[c].lower_bound(p);if(it!=A[c].end()) Ans=min(Ans,(*it)-p);if(it!=A[c].begin()) --it,Ans=min(Ans,p-(*it));A[c].insert(p);
}int main(){n=read(),m=read();for(int i=1;i<=n;++i){int x=read();upd(x,i);}for(;m--;){int x=read(),y=read();if(x==y){printf("%d\n",Ans);continue;}//考虑特殊情况if(A[x].size()>A[y].size()) swap(A[x],A[y]);for(int it:A[x]) upd(y,it);A[x].clear();//合并后应清空printf("%d\n",Ans);}return 0;
}
转载于:https://www.cnblogs.com/void-f/p/9325630.html
「LibreOJ#516」DP 一般看规律相关推荐
- LOJ #516. 「LibreOJ β Round #2」DP 一般看规律
题目描述 给定一个长度为 n 的序列 a,一共有 m 个操作. 每次操作的内容为:给定 x,y,序列中所有 x 会变成 y. 同时我们有一份代码: int ans = 2147483647; for ...
- 「SAP技术」SAP 如何看序列号被包在哪些HU里?
「SAP技术」SAP 如何看序列号被包在哪些HU里? 事务代码SE16 ,表名OBJK, 输入物料号,序列号,HeadTable 输入值SER06, 查询结果如下, 根据objlist, 去表ser0 ...
- 官方出台「码农计划」,3年培养10万「码农」,我看必须点赞
loonggg 读完需要 6 分钟 速读仅需 2 分钟 大家好,我是校长. 最近有一件事郑州市人民政府出圈了,那就是前几天郑州市人民政府出台了<大数据人才培养"码农计划"实施 ...
- 教科书级「时间轴」画法,看完我服了!
上次给大家分享PPT时间轴绘制技巧后,我们在后台众多"涨知识了"的夸夸声中,发现了一条(不太和谐)颇有见地的提问,"如果时间节点特别多,比如历史时间轴这种,该怎么画更方便 ...
- 阅读量超1亿!应聘要求自曝「恋爱经历」你怎么看?
昨日,一则 #女子应聘人事被要求写恋爱经历# 的消息登上热搜,点进去一看,阅读量已超过1亿,吸引了无数网友的关注. 事情是这样的,有网友反映,在应聘江西南昌某家公司时,工作人员给的<应聘人员登记 ...
- 「高分收藏」初学者必看的C语言基础知识体系
C语言简洁,使用方便灵活,能直接访问物理地址,并进行高效的位运算.生成的目标文件质量高,执行效率高,但这是相对而言的,比汇编语言的效率还是低了15%左右.数据处理尤其是图像处理能力强,可移植性也好. ...
- 多线程必考的「生产者 - 消费者」模型,看乔戈里这篇文章就够了
这里是<壹齐学多线程>系列的第 3 篇 生产者 - 消费者模型 Producer-consumer problem 是一个非常经典的多线程并发协作的模型,在分布式系统里非常常见.也是面试中 ...
- LOJ504「LibreOJ β Round」ZQC 的手办
https://loj.ac/problem/504 题解 对于区间取\(\max\),这个比较好办,直接在线段树上打标记就行了. 如果让我们弹出前\(n\)个数,我们可以用类似超级钢琴的思想,队列中 ...
- 第3大品牌「鞋王」沦陷,看历史王者的产品史
百丽.富贵鸟.达芙妮,这些耳熟能详的品牌鞋企你还记得吗? 俗称"三驾马车"的三大品牌鞋王近几年相继落市: 2017年百丽国际退市 2019年富贵鸟宣告破产, 2020年达芙妮贴牌求 ...
- 从「搭子」文化,看融云如何助力垂类社交应用增长
互联网人拜佛 be like
最新文章
- Docker怎么修改hosts
- anaconda怎么查看python版本-anaconda如何查看并管理python环境
- 手动配置mysql_手动配置Mysql,无需安装的方法以及Mysql的一些基本命令
- JSP的三六九四七(三大指令、六大标签、九大内置对象、四大作用域、七个动作指令)
- powerdesigner15(pd)+Oracle 11g 开发小问题
- mysql5.7转移_mysql从5.7.17迁移到5.7.22业务报错
- python的ctypes模块详解数组_python ctypes结构数组
- Django-2- 模板路径查找,模板变量,模板过滤器,静态文件引用
- 对于大家族Sring这些你究竟了解吗
- [VB.net]飞龙·网页及贴吧操作II
- Django可扩展吗? [关闭]
- VB.NET水晶报表控件经验总结
- VEGAS Pro 18序列号 PC上最佳的入门级视频编辑软件
- 极域电子教室卸载、忘记密码解决方案
- libtorch-gpu推理时占用CPU 100%问题解决
- Json文件简单读写
- java工具类书写规范
- 小牛电动为何沉迷于打造“社区文化”?
- 去除最新版WinRAR的弹窗广告
- java tcp 多人聊天_Java TCP简易多人聊天室内