P5462 X龙珠

题面

这道题做得我七窍生烟.

一开始毫不犹豫地打了个\(vector\)来模拟,结果理解错了字典序的概念,惨得\(20\)分.\(4\)个 \(WA\) \(4\)个 \(TLE\).

然后觉得\(vector\)太慢了,写了一个双向链表.

wty大佬的毒奶之下,惨得\(60\)分,\(4\)个 \(TLE\).

最后加了一个优先队列优化,总算\(A\)了这道题.

题意分析

从一串数里取出连续的两个数并去除掉取走后的空隙,放在另一个队列尾部,输出字典序最大的组合.

同志们每次让大的数尽量排在前面,因为是字典序,按位比较,满足贪心策略.

用一个优先队列,存一个双关键字,第一关键字是数的大小,第二关键字是数的编号.

用一个双向链表记录某个位置的数的前驱和后驱结点,每次取走数字的时候更新第一个数字的前驱的后驱,更新第二个数字的后驱的前驱,实现清除拿走之后空隙的目的.

代码


#include "cstdio"
#include "cstring"
#include "algorithm"
#include "iostream"
#include "queue"
#include "map"
#include "vector"#define ll long long
#define INF 2147483647
#define debug(x) printf("debug:%lld\n",x)using namespace std;priority_queue<pair<ll,ll> >q;ll n,tot;
ll num[100010],to[100010],from[100010];
bool flag[100010];signed main(void)
{scanf("%lld",&n);tot=n;for(ll _=1;_<=n;_++){scanf("%lld",num+_);q.push(make_pair(num[_],_));}for(ll _=0;_<=n+1;_++){to[_]=_+1;from[_]=_-1;}while(tot){ll id1=q.top().second;ll id2=to[id1];q.pop();if(flag[id1]==true||flag[id2]==true||to[id1]==n+1){continue;}printf("%lld %lld ",num[id1],num[id2]);to[from[id1]]=to[id2];from[to[id2]]=from[id1];flag[id1]=true;flag[id2]=true;tot-=2;}
return 0;
}

转载于:https://www.cnblogs.com/Lemir3/p/11200160.html

P5462_X龙珠邪教组织被我部侦破相关推荐

  1. 有一部龙珠上是打超级计算机的是哪一部,这20部七龙珠剧场版都没全部看完,还好意思说自己是龙珠迷?...

    龙珠动画自1986年首次上映至今已有32余年,这恐怕比许多粉丝的年龄还大! 而在这32年间除了<七龙珠><七龙珠Z><龙珠超>这几部官方主线动画外,龙珠系列还有20 ...

  2. 一年代码功能点的创新性怎么写_部编版教材的七个创新点

    原标题:部编版教材的七个创新点 1.以选文强调四个标准 大家比较关注选文,先说说"部编本"语文教材课文数量的变化.和原来人教版作比较,课文数量总的是减少了. 一上原来共41课,包括 ...

  3. 知识图谱中的关系方向与强度研究

    知识图谱中的关系方向与强度研究 臧根林1,2, 王亚强1,2, 吴庆蓉1,2, 占春丽1,2, 谢新扬1,2 1 拓尔思知识图谱研究院,广东 广州 510665 2 广州拓尔思大数据有限公司,广东 广 ...

  4. 在c语言程序中main函数的位置,在C语言程序中,main函数的位置_________。

    在C语言程序中,main函数的位置_________. 答:可以放在任意位置 一切邪教组织及其活动都是诡秘的.邪恶的.危害社会的.非法的 答:正确 产品可以根据其耐用性和是否有形而分为( ) 答:非耐 ...

  5. 杂七杂八的网络安全知识

    杂七杂八的网络安全知识 博客链接:https://www.blog.23day.site/articles/81 一.信息安全概述 1.信息与信息安全 信息与信息技术 信息奠基人:香农:信息是用来消除 ...

  6. java并发编程:lock_编程的第五个十年:J代表Java

    java并发编程:lock 一段非常个人的编程历史中的第五章第一部分 在自己的一类 尽管Microsoft并不认同Oracle对Java的所有雄心壮志,但我们同意它对于软件开发人员来说是非常有价值的工 ...

  7. 2008年攻读金庸武侠硕士研究生入学统一考试试题

    2008年攻读金庸武侠硕士研究生入学统一考试试题 满分:150分 时间:180分钟 一.单项选择题(每空1 分,共30分) 1. 张无忌和赵敏第一次相遇是在______. A.听香水榭B.琴韵小筑 C ...

  8. 宫崎骏の感官世界......

    就跟日本历史和中国历史的紧密相关一样,日本动画历史的起源也跟中国动画有关.话说1943年,一个日本孩子在电影院看了一部来自中国的动画,深受 触动,决心创作出日本的动画世界来,于是,历史的第一页揭开了. ...

  9. X-Files 目录及剧情简介

    X-Files 第(1)季目录及剧情简介 1X01 领航员 Pilot 1X02 深喉咙 DEEP THROAT 1X03 突变异种 SQUEEZE 1X04 奥卡布基湖奇案 CONDUIT 1X05 ...

最新文章

  1. 【Web安全】DVWA+CSRF跨站请求伪造-生成链接修改password
  2. 正则表达式(开源框架)
  3. python2中的unicode_在python 3和2中工作的Unicode文字
  4. UVA - 213 Message Decoding
  5. Python 中的 10 个常见安全漏洞,以及如何避免(上)
  6. 「leetcode」463. 岛屿的周长【模拟便可】详解
  7. 最保值电子产品绝对是它:后悔没多收几台
  8. 【Tools】OBS Studio录制视频教程
  9. 取手机号码php正则表达式,PHP获取手机号码的正则表达式写法
  10. 2022年十大科技应用趋势
  11. SpringBoot系列之Spring Data MongoDB教程
  12. 全媒体运营师胡耀文教你:拆解电商运营万能公式
  13. H.265视频流媒体EasyPlayer播放器无法禁用自动播放的问题修复
  14. 微信小程序中裁剪图片以及压缩到指定尺寸并上传
  15. html5 plus 支付,h5+ app 第三方支付调用步骤
  16. 喜马拉雅的增量市场,AIOT能够承载多少空间?
  17. 总结运用kali破解WIFI密码的多种方法
  18. CC1101调试入门
  19. Linux之条件变量
  20. 大数据人才能炙手可热 薪酬更高发展更全面

热门文章

  1. RFID消防装备管理系统——RFID消防器材管理系统
  2. SQL SELECT TOP 子句详解
  3. 使用163邮箱的朋友请换个邮箱地址给我写信
  4. 《高等数学》中的积分中值定理
  5. 银行联行号cnasp
  6. 嘿来电app v6.6.6.1
  7. hydra 爆破1433端口 sql service 服务
  8. [xhr4412][extension 6] 使用 Ralink USB_DEVICE(0x148f, 0x3070) 无线网卡
  9. 《大数据内功修炼到企业实战2.0》全新完整版!!! 无加密,免费送!!!
  10. 查看电脑重启日志_详解各个系统主机日志及数据库日志收集--AIX、redhat、HP-UX等...