当前位置: 首页 > news >正文

带权格路计数

模拟赛碰到了这个东西,感觉转移的形式很眼熟,想了很长时间也没想出来究竟是什么,还是菜完了。

先阅读格路计数好文:格路计数和反射容斥。

里面提到了一种利用格路计数优化 dp,最一般的转移形式是 \(f_{i,j}=f_{i-1,j}+f_{i,j-1}\),这是我们司空见惯的,组合意义很显然。从这个转移出发,如果我们总能将转移写成左下方转移过来,那么可以通过反射容斥解决。其实文章里说的很清楚了。

忘了是谁说的,可能是 zlx,这种题大多都可以生成函数解决。

CF1821F

\[f_{i+t,j+1}=f_{i,j}+(t>2k?1:2),t>k \]

这个转移和 \(j\) 无关,尝试写出 \(j\to j+1\) 的生成函数,直接考察转移得到:

\[2x^{k+1}+2x^{k+2}+\dots+2x^{2k}+x^{2k+1}+\dots \]

封闭形式:\(\frac{2x^{k+1}-x^{2k+1}}{1-x}\)\(m\) 次幂后提取系数即可,上下都可以用广义二项式定理,时间复杂度 \(O(n)\)


将转移放在二维平面上,具体图示见上面那篇文章,套路地将每行平移,总之最后变成了一个非常好看的东西,反正就能做了。

UOJ981

日本人会不会写题解啊??

ZR3257

睡觉。

http://www.sczhlp.com/news/11128/

相关文章:

  • 进程前后台切换方案
  • 多线程基本知识
  • AOP服务切面编程初探
  • 如何使用 Netty 实现 NIO 方式发送 HTTP 请求
  • eVTOL 制造:深入探讨当前趋势和未来机遇
  • 读AI繁荣01AI之屋
  • 查看命令
  • 字符串001怎么加减
  • Linux 离线安装 .NET8 环境
  • 【CAPL】创建自动化测试脚本
  • Vue2 中 JavaScript 与 TypeScript 的语法区别详解
  • 进程的工作流程详解
  • Apache RocketMQ EventBridge:为什么 GenAI 需要 EDA?
  • CF1943D2 Counting Is Fun (Hard Version)
  • (简记)差分约束
  • 跨平台 CMake 项目结构示例,从telegram借鉴
  • 关于使用思源笔记实现Typecho博客手机、电脑更新
  • SWITCH1 塞尔达传说:王国之泪 V1.4.2 降级至 V1.0.0 与 升级至任意版本!
  • export 变量的作用
  • AI写的文本怕被查?解析AIGC检测底层逻辑,实测3类降AI率工具真实能力
  • 《第四纪元》玩得轻松,构建也轻松 | 阿里云云原生 API 网关、函数计算助力 IGame 快速构建轻休闲游戏
  • 虚拟环境安装包后,vs code仍然显示找不到包的解决办法
  • 使用uniapp的语法写一个vue-signature-pad vue2版本的电子签名
  • AC 自动机
  • Linux 离线安装软件?设置 ISO 镜像为本地 Yum 源了解一下!
  • python pydantic数据校验和typing注解
  • C#超市商品管理系统入门级实现
  • 讯睿sitemap配置伪静态 宝塔面板
  • CentOS 在线与离线安装宋体字体
  • 面经学习-HTTP3(*)