题面

洛谷

题解

首先我们有个非常显然的思路,

就是直接拓扑排序,用小根堆代替队列再按顺序输出,但是很显然是错的,

因为这只保证了字典序最小,而无法保证答案最优,\(<2,4>,<3,1>\)就是一个例子。

可以发现,让编号大的尽量在后面被选答案一定最优,所以在反图上大根堆+拓扑排序在逆序输出即可。

代码

代码是以前的,不贴在这里了。

最新文章

  1. jQuery获取Select选中的Text和Value
  2. python+selenium生成测试报告后自动发送邮件
  3. [bzoj2743][HEOI2012]采花(树状数组+离线)
  4. Web.config配置文件详解
  5. Erlang ERTS的Trap机制的设计及其用途
  6. bzoj 1800: [Ahoi2009]fly 飞行棋 暴力
  7. 实战 SSH 端口转发
  8. SOA体系结构之基础培训教程-大纲篇
  9. 获取checkbox 的选中状态的id、checkbox的一些操作
  10. 微信公众号中ip白名单用谁的ip
  11. 爬虫基础--IO多路复用单线程异步非阻塞
  12. Faster R-CNN:详解目标检测的实现过程
  13. shell 文件描述符
  14. TM-align TM-score安装
  15. SSL 链接安全协议的enum
  16. android 监听声音变化
  17. canvas基础一
  18. 三、spark简介
  19. Python网络爬虫 - 2. Beautiful Soup小试牛刀
  20. vue-route-transition路由前进后退动画

热门文章

  1. iOS动画的逻辑结构:动画的定义--动画是采用连续播放静止图像的方法产生物体运动的效果。
  2. oc js 调用 函数调用栈
  3. Linux环境编程之IPC进程间通信(五):Posix消息队列1
  4. 【node.js】事件循环、EventEmitter
  5. 2048总结 JavaScript+jQuery(取元素方便,.css,text方法)
  6. 关于IntelliJ IDEA 文档无法编辑的解决办法
  7. 算法-求两个有序数组两两相加的值最小的K个数
  8. 【Linux资源管理】iotop命令监控磁盘使用情况
  9. Java并发编程(三)什么是线程池
  10. JBDC—③数据库连接池的介绍、使用和配置