Tetromino Tiling

Black Radius

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

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

Rectangle

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

Sequence Growing Easy

Sequence Growing Hard

【学习笔记】AGC008相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  3. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  5. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  6. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  7. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  8. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  9. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

  10. NuGet学习笔记(3) 搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

最新文章

  1. MapReduce编程初体验
  2. 第163天:js面向对象-对象创建方式总结
  3. 刷墙(左蓝右红或同一色)
  4. 程序启动报错:ORA-12505;PL/SQL却可以登录的解决方法
  5. leetcode-有效的括号(三种语言不同思路)
  6. iOS之实现“摇一摇”与“扫一扫”功能
  7. 让 步( 写的太好了!)
  8. Pytorch cifar100离线加载二进制文件
  9. 第1次作业:阅读优秀博文谈感想
  10. 测试连接oracle数据库耗时
  11. jenkins解决jenkins内存溢出问题
  12. vscode插件开发实践与demo源码
  13. 5分钟了解VMware vSAN的分布式RAID
  14. 基于JAVA+Swing+MYSQL的水果超市管理系统
  15. 构架https服务器
  16. AS3的一些压缩解压缩类库(AS3 ZIP、AS3 GZIP等等)
  17. Git bash使用中...
  18. 高分meta分析质量评价方法
  19. vrep小车模型搭建
  20. 春晚红包花落拼多多 巨头们为何前赴后继抢春晚?

热门文章

  1. Exprimer la cause et la conséquence
  2. 这只是一种解释,未必是唯一的解释——人脑处理信息中混入主观歧义
  3. HTML 转 PDF API 接口
  4. 混合动力节油的秘密-发动机万有特性​​​
  5. 文档,图片有水印很让人头痛!处理起来很麻烦?用Python三秒搞定!
  6. OCZ新Summit系列固态硬盘强悍性能曝光
  7. 又一行业盛会落地深圳!世链“FAF世界区块链3000人大会”全网热度领先
  8. 如何进行网络编程(代码利用UDP socket实现)
  9. 利用搜索命令寻找外链论坛方法
  10. ubuntu:mencoder为我的iriver p7 压带字幕文件的视频