由于太懒了,好久没更新了。发个题解好了。

shoes

首先不难证明鞋子配对一定是从前往后将同一种的左和右配对。

配好对之后首先我们可以假设左在右的左边,然后讨论可知将左边靠前的排在前面更优。

rect

先考虑只有行限制的情况,那么我们考虑从小到大插入,那么每次极大的区间就是符合题意的,这样就可以扣出O(n)个区间。

同时我们可以考虑矩形左上角,对于每个左上角考虑每个行区间的延伸长度,每个列区间的延伸长度,合并的时候是一个扫描线。

此外本题也有不带log的做法,留作习题。

split

假设a<=b<=c,那么显然有a<=n/3,b<=n/2。我们的目标就是要找到两个联通块,满足其中一个大小在[a,n-b](或在[b,n-a])。

我们对[a,n-b]和[b,n-a]都运行以下算法,简记为[l,r]。容易证明l+l<=r。

考虑dfs树。如果树上存在一条符合题意的割边,那么直接输出即可。

否则考虑重心,我们必然有去掉重心之后的每棵子树大小<l,否则这棵子树就符合题意(大小在[l,n/2]之间)。由于只有返祖边,我们只需考虑下属各联通块到重心的祖先是否有边。如果没有,那么它肯定和重心只能同属一个联通块(因为它的大小<l)。如果和重心只能同属一个联通块的大小和>r了那么无解,否则我们先把重心和重心的父亲断开形成两个子树,此时重心子树大小>r,然后我们把能连的子树一个一个抛弃重心往上面连,直到和重心连在一起的大小<=r,这时我们一定有它>=l,由于l+l<=r。

line

考虑螺旋状的构造,那么只有卡在角上的情况才会浪费步数。

把角上单独拎出来搞成两条单调折线。

需要注意的是这个构造并不对所有数据都有效(角被删掉之后会产生新角,新角不一定单调),但是可以获得满分。

vision

如果不转坐标系的话可以直接写个二进制加法器,指令数大概九千多。

转坐标系就是把曼哈顿改成切比雪夫((x+y,x-y)),这样就不用算出准确值了。

walk

首先考虑s=0,t=n-1的情况,这种情况我们肯定不会向左走。所以我们一定是每次先竖直移动一段,然后向右走,重复这个过程。

考虑一座横坐标[l,r]的天桥,如果我们自下而上经过了它,那么不如经过整座天桥。所以我们只需要取出每个天桥断点和断点下方第一个在天桥上的点,跑dijkstra即可。

接下来考虑一般情况,我们发现我们可能需要上一些天桥,但是我们注意到比如我们要从起点开始上一个天桥[l,r],如果起点在[l,r]中,我们可能会为了上这个桥往左或往右拐,但是我们只会拐到第一个能上桥的点,否则改成直接上桥不劣,所以我们只需要把桥在左右第一个能上的地方截开。终点同理。

上述东西都可以用扫描线+set来维护。

Reference:

https://blog.csdn.net/qq_39972971/article/details/99547267

https://blog.csdn.net/qq_39972971/article/details/99868638

最新文章

  1. 【python之路1】python安装与环境变量配置
  2. 号外:MS被开源软件打败了!
  3. [源码]NumberToUpper 数字转中文
  4. 如何下载android官网Lib包
  5. c3p0 泄漏
  6. 咏南WEB开发框架(FOR XE10.1 BERLIN)
  7. C++ const 的全面总结[转]
  8. 【转】Log4.NET mark
  9. 【动态规划】HDU 1081 &amp; XMU 1031 To the Max
  10. Redis与Scrapy
  11. 关于jquery的$.ajax发接口的同步与异步问题
  12. CentOS 7 学习(二) 配置Nginx反向代理
  13. Jquery的过滤选择器分为哪几种?
  14. Python ——报错集锦
  15. Retrofit 2.0 上传文件
  16. 使用FormData格式在前后端传递数据
  17. leetcode581
  18. 微信小程序获取到Openid
  19. CC2 条理分明-----独立思考
  20. hdoj-1503 (LCS解的输出)

热门文章

  1. form表单提交数据给后台
  2. Spring Security 解析(一) —— 授权过程
  3. 换个语言学一下 Golang (7)——使用函数
  4. sdcard不可执行.
  5. HashMap的内部结构与hash冲突
  6. 动画 VUE基础回顾8
  7. business from English bisynes
  8. Python使用numpy进行数据转换
  9. 使用EwoMail搭建属于自己的个人邮件服务器——超详细图文教程
  10. MySQL Percona Toolkit--pt-osc学习