【学习笔记】AGC008

Tetromino Tiling

Black Radius

  • 巧妙的题目
  • sb翻译害我想了好久
  • f ( x , d ) f(x,d) f(x,d)表示距离 x x x小于等于 d d d的点的集合
  • 如果 f ( x , d 1 ) = f ( y , d 2 ) f(x,d1)=f(y,d2) f(x,d1)=f(y,d2)
  • 那么对于任意 x → y x\to y xy路径上的点 z z z,存在 d d d满足 f ( z , d ) = f ( x , d 1 ) = f ( y , d 2 ) f(z,d)=f(x,d1)=f(y,d2) f(z,d)=f(x,d1)=f(y,d2)
  • 并且 d d d值是呈 V V V型的(真的好难证 qwq
  • 证明可以考虑 f ( x , d ) f(x,d) f(x,d)的唯一性
  • 那么对于若干同构的 f ( x , d ) f(x,d) f(x,d),我们只在 d d d值最小处计数
  • 如果 d d d是最小的,那么应该满足对于任意与 x x x相邻的 y y y f ( x , d ) ≠ f ( y , d − 1 ) f(x,d)\ne f(y,d-1) f(x,d)=f(y,d1)
  • s z [ x ] sz[x] sz[x]表示从 x x x出发最长链长度, s z 2 [ x ] sz2[x] sz2[x]表示从 x x x出发次长链的长度
  • m x [ x ] mx[x] mx[x]表示节点 x x x最大的合法的 d d d
  • 那么 m x [ x ] = min ⁡ ( s z [ x ] − 1 , s z 2 [ x ] + 1 ) mx[x]=\min(sz[x]-1,sz2[x]+1) mx[x]=min(sz[x]1,sz2[x]+1)
  • 答案是 ∑ ( m x [ x ] + 1 ) + 1 \sum{(mx[x]+1)}+1 (mx[x]+1)+1
  • 如果只有一部分点能作为根呢
  • 考虑对于那些最小的 d d d,找到一个最优秀的替代点
  • 不难发现 d d d具有单调性
  • l w [ x ] lw[x] lw[x]表示节点 x x x最小的能找到替代点 d d d
  • 如果 f ( x , d ) f(x,d) f(x,d)能找到替代点,则存在与 x x x相邻的 y y y,满足 f ( x , d ) = f ( y , d + 1 ) f(x,d)=f(y,d+1) f(x,d)=f(y,d+1)
  • 那么 l w [ x ] = min ⁡ y ∈ s o n [ x ] ( max ⁡ ( s z [ y ] + 1 , l w [ y ] − 1 ) ) lw[x]=\min_{y\in son[x]}(\max(sz[y]+1,lw[y]-1)) lw[x]=minyson[x](max(sz[y]+1,lw[y]1))
  • 显然我们需要换根
  • 然后就做完了
  • 答案是 ∑ ( m x [ x ] − l w [ x ] + 1 ) + 1 \sum(mx[x]-lw[x]+1)+1 (mx[x]lw[x]+1)+1
  • 复杂度 O ( n ) O(n) O(n)

Division into Two

  • 振作起来
  • 巧妙的限制转化
  • 不妨将任意方案抽象成一个 01 01 01序列
  • 直接转移比较恶心
  • 毋宁放弃直接转移
  • 不妨设 A ≥ B A\ge B AB
  • 首先根据鸽巢原理,对于任意 i ≥ 3 i\ge 3 i3 s [ i ] − s [ i − 2 ] ≥ B s[i]-s[i-2]\ge B s[i]s[i2]B
  • 有了这个性质就可以转移了
  • d p [ i ] dp[i] dp[i]表示前 i i i个数,第 i i i个数在 X X X集合中的方案数
  • 显然合法的转移 [ l , r ] [l,r] [l,r] 可以用前缀和优化
  • 复杂度 O ( n ) O(n) O(n)

Rectangle

  • 鸽巢原理构造
  • 应该是不困难的
  • 显然要估算一下值域

Sequence Growing Easy

Sequence Growing Hard


__EOF__

本文作者仰望星空的蚂蚁
本文链接https://www.cnblogs.com/cqbzly/p/17530118.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   仰望星空的蚂蚁  阅读(18)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2021-07-20 【总结】2-sat 模型
2021-07-20 【题解】ABC 210
2021-07-20 【总结】dsu on tree
点击右上角即可分享
微信分享提示