魍魉的小窝


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

  • 搜索

洛谷P1382 楼房

发表于 2018-08-11 | 分类于 OI
字数统计: 429 | 阅读时长 ≈ 2

线段树实现起来细节有点多,用了multiset
参考了一下大佬的题解

排序时需要注意顺序问题

  • 先左后右
  • 先入后出
  • 入边从高到低
  • 出边从低到高

感性理解一下即可

加入边时考虑是否会变高
删除边时考虑是否会变低

阅读全文 »

[USACO5.5]Picture

发表于 2018-08-11 | 分类于 OI
字数统计: 553 | 阅读时长 ≈ 3

扫描线参考HDU1542 Atlantis
可以横竖各做一遍
需要注意的是会重复计算,需要与上一次结果作差

也可以只做一遍
用数组记录宽度,数组记录竖线数量
还需要,记录是否有左右端点竖线
需要注意的是端点竖线重合和顺序问题
高度相同时先做覆盖再做取消覆盖,否则会重叠线段会多次计算

阅读全文 »

HDU1255 覆盖的面积

发表于 2018-08-11 | 分类于 OI
字数统计: 494 | 阅读时长 ≈ 3

扫描线参考HDU1542 Atlantis
需要修改的只有函数
用数组记录被覆盖到两次或以上的宽度
用数组记录被覆盖到一次的宽度

具体细节看代码

阅读全文 »

[USACO07OPEN]城市的地平线

发表于 2018-08-11 | 分类于 OI
字数统计: 358 | 阅读时长 ≈ 2

竖版的扫描线
扫描线参考HDU1542 Atlantis

阅读全文 »

HDU1542 Atlantis

发表于 2018-08-11 | 分类于 OI
字数统计: 449 | 阅读时长 ≈ 3

扫描线入门题

借用一下某位大佬的图
T1
T2
T3
T4
T5
T6

先离散化横坐标
每个矩形分成上下两条线,下入上出
用数组记录当前区间被覆盖宽度
具体细节看代码

阅读全文 »

洛谷P4388 付公主的矩形

发表于 2018-08-11 | 分类于 OI
字数统计: 341 | 阅读时长 ≈ 1

首先有一个结论
对于一个的矩形,经过格子数目为个
更一般的,可由上式化简,对于,经过格子数目为

证明有多种
给出一种我当时想出来的

  • 中对角线只有初末位置在格点上
  • 当对角线穿过某一网格边时,必然会在两边经过各一个格子
  • 对角线穿过的网格边数显然为
  • 由于中间无格点,按照上述计算时中间每个格子会被计算到两次
  • 初末位置的格子仅会被计算到一次
  • 化简后可得格子数为

暴力统计就能过了,复杂度比较玄学,大概是,为一个不是很大常数(我猜的)

其实还有更有理有据的做法

每一对都会被算到两次,但只会被算到一次
复杂度

代码为暴力统计

阅读全文 »

[SCOI2005]骑士精神

发表于 2018-08-11 | 分类于 OI
字数统计: 452 | 阅读时长 ≈ 3

每次移动空位而不是骑士

设当前搜到第步,剩下个骑士未回到位置
若,则返回
跑得飞快

其实还可以加点什么小剪枝
若当前和交换,则下次不换回去
既然直接搜能过(实现起来有点小烦),就没加这个剪枝

阅读全文 »

[NOI1999]生日蛋糕

发表于 2018-08-11 | 分类于 OI
字数统计: 269 | 阅读时长 ≈ 1

很综合的一道搜索题

从下往上搜
记为1-k 层最小体积,为1-k 层最小面积
记为剩余体积,为当前面积
对于第层

可行性剪枝

  • 若,则返回

最优化剪枝

  • 若,则返回
  • 若,则返回

对于最后一种剪枝的证明

阅读全文 »

[USACO08DEC]农场的万圣节

发表于 2018-08-11 | 分类于 OI
字数统计: 392 | 阅读时长 ≈ 2

缩完点之后,求一遍每个点到终点的路径长即可

阅读全文 »

[USACO06NOV]玉米田

发表于 2018-08-11 | 分类于 OI
字数统计: 293 | 阅读时长 ≈ 2

用一下上次的配图
mtrx

不为草地直接转移
若要种草则需要不为草地,且当前位置适合种草
需要注意的是,若当前位置为行首则不需要考虑

阅读全文 »
1…345…12
CWHer

CWHer

OIer/ACGN

120 日志
1 分类
58 标签
RSS
GitHub ZhiHu
Links
  • 洛谷
© 2018 | CWHer
本站访客数:
|
博客全站共54.4k字