尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
AtCoder-arc227_b Know Your Place 题解
Solution我们从小到大依次枚举值xxx并将所有xxx插入序列。初始时序列为空。设当前值为xxx的数出现了yyy次。由于目前序列里所有数都xxx我们一定会在当前序列的第xxx位后插入yyy个xxx。如果答案序列长度不够则一定无解。模拟上述过程用 FHQ Treap 维护答案序列即可。Code#includebits/stdc.h#definerep(i,a,b)for(inti(a);ib;i)#definels(p)t[p].ls#definers(p)t[p].rsusingnamespacestd;constintN5e55;inta[N],ans[N],rt,n,m,j,len,l,r;structNode{intls,rs,pri,sz,ch;}t[N];inlineintnwnode(intc){returnt[m]{0,0,rand(),1,c},m;}inlinevoidpushup(intp){t[p].szt[ls(p)].szt[rs(p)].sz1;}voiddfs(intp){if(ls(p))dfs(ls(p));coutt[p].ch ;if(rs(p))dfs(rs(p));}voidsplit(intp,intx,intl,intr){if(!p)returnlr0,void();if(t[ls(p)].sz1x)lp,split(rs(p),x-t[ls(p)].sz-1,rs(p),r);elserp,split(ls(p),x,l,ls(p));pushup(p);}intmerge(intl,intr){if(!l||!r)returnl|r;if(t[l].prit[r].pri)returnrs(l)merge(rs(l),r),pushup(l),l;elsereturnls(r)merge(l,ls(r)),pushup(r),r;}signedmain(){cin.tie(0)-sync_with_stdio(0);cinn;rep(i,0,n)cina[i];sort(a,an);a[n]N;rep(i,1,n){if(a[i]^a[j]){// 值为a[j]出现了i-j次if(lena[j])returncoutNo,0;intl,r;split(rt,a[j],l,r);rep(_,0,i-j)lmerge(l,nwnode(a[j]));rtmerge(l,r);leni-j;ji;}}coutYes\n;dfs(rt);return0;}
RELATED

相关推荐

体育教育毕业论文怎么写?这个AI论文工具从选题到论文全搞定✨

体育教育毕业论文怎么写?这个AI论文工具从选题到论文全搞定✨

体育教育专业的毕业论文,写起来比很多同学预想的要棘手。选题要贴合体育教学、运动训练、体育人文社会学或运动人体科学方向,理论框架得从运动技能学习理论、体育教学论、TPACK模型、体育核心素养理论里挑合适的来套,数据收集要涉及体能测试、…

📅 2026/10/7 2:37:03
Beaker 内置 LitElement 版本演进全解:从 CHANGELOG 看属性系统、样式机制与更新生命周期的 API 变迁

Beaker 内置 LitElement 版本演进全解:从 CHANGELOG 看属性系统、样式机制与更新生命周期的 API 变迁

前端 【免费下载链接】beaker An experimental peer-to-peer Web browser 项目地址: https://gitcode.com/gh_mirrors/be/beaker 点击查看 免费下载 导读 Beaker(app/)是一个实验性的 P2P 浏览器,其默认应用统一依赖一套名为 &q…

📅 2026/10/7 2:32:03
VS Code 文档仓库专用 Markdown 写作助手:doc-assistant 扩展的完整实现解析

VS Code 文档仓库专用 Markdown 写作助手:doc-assistant 扩展的完整实现解析

文档教程 【免费下载链接】vscode-docs Public documentation for Visual Studio Code 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-docs 点击查看 免费下载 本指南深入剖析 vscode-docs 仓库中内置的 VS Code Doc AI Assistant(.vscode/exten…

📅 2026/10/7 2:32:03
MORE NEWS

更多资讯

📰

基于编辑距离的VB文本相似行比对工具实现

先交代个背景:上个月帮朋友处理两批业务导出数据,一份是前一天的系统快照,一份是后一天的,总共一万多行,行长几乎一样,区别就躲在某些字段里。拿Beyond Compare直接比,全是红的;拿Di…

📰

LM358运放打造纯硬件呼吸灯:从原理到调试的完整指南

1. 从一个经典需求说起:为什么要用LM358做呼吸灯呼吸灯这个效果,做过电子产品的人都不陌生——手机上的通知灯、路由器上的状态灯、笔记本的电源键,那种一亮一暗、像人在呼吸一样柔和渐变的光效,背后其实就是一个简单的模拟电路在…

📰

LM358呼吸灯电路从入门到精通:三角波振荡器原理与调试指南

1. 为什么LM358是呼吸灯入门的"黄金搭档"呼吸灯这个效果,很多人第一次见是在笔记本电脑的电源指示灯上——一亮一暗,像人在呼吸。看起来简单,但真动手做,你会发现它比"LED闪烁"复杂得多。闪烁只需要高低电平切…

📰

教育站群文件上传下载:分布式存储与负载均衡实战

做教育行业站群,越做到后面越会发现,文件上传下载这件事,远远不是写个MultipartFile接参那么简单。举一个真实场景:一套面向中小学的在线学习平台群,下面挂着主站、学科子站、题库站、作业站、直播回放站,课…

📰

Git实战:理解工作流,搞定提交、分支合并与SSH认证排坑

很多初学者学Git的时候,最容易犯的一个错误就是去背命令清单。git add、git commit、git push背得滚瓜烂熟,可真到项目里遇到提交错文件、分支合并不了、SSH认证失败,整个人就懵了。我当初也是这么过来的:本地写了好几天的代码&am…

📰

TensorFlow+CNN预测股票:从K线特征到滚动回测实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬