对于 Newton Expansion,式子本身的证明其实无甚可翻新的花样,但是题还是很有意思的。比如 codeforces - 1332E Height All the Same 这个。

首先给出几个性质:每个 cell 上的数字奇偶性才是需要关注的;如果 \(n\times m\) 为奇数,永远有解;如果 \(n\times m\) 为偶数,当 \(\sum\sum a_{i,j}\bmod2\) 为偶数时有解。应该都不需要证明。

奇数的答案不赘,我们可以写出偶数的答案式子:\(\displaystyle\sum_{i=0}^{\lfloor\frac{nm}{2}\rfloor}a^{2i}b^{nm-2i}\binom{nm}{2i}\),\(a,b\) 分别是 \([l,r]\) 中偶 / 奇的数量。然后你注意这个式子长得很像 Newton Expansion 的形式,容易构造出答案为 \(\frac{(a+b)^{nm}+(a+b)^{nm}}{2}\)。


我们来看几个一般的组合恒等式。

  1. \(\displaystyle\binom{n}{k}=\frac{n}{k}\binom{n-1}{k-1}\);
  2. \(\displaystyle\binom{n}{k}=\binom{n-1}{k-1}+\binom{n-1}{k}\);
  3. \(\displaystyle\sum_{k=0}^nk\binom{n}{k}=n2^{n-1}\);
  4. \(\displaystyle\sum_{k=0}^{n}k^2\binom{n}{k}=n(n+1)2^{n-2}\);
  5. \(\displaystyle\sum_{l=0}^n\binom{l}{k}=\binom{n+1}{k+1}\Longrightarrow\sum_{k=0}^n\binom{r+k}{k}=\binom{r+n+1}{r+1}=\binom{r+n+1}{n}\);
  6. \(\displaystyle\binom{n}{k}=(-1)^k\binom{k-n-1}{k}\);
  7. \(\displaystyle\sum_{k=0}^m(-1)^k\binom{n}{k}=(-1)^m\binom{n-1}{m}\);
  8. \(\displaystyle\binom{n}{r}\binom{r}{k}=\binom{n}{k}\binom{n-k}{r-k}\);
  9. \(\displaystyle\sum_{k=0}^r\binom{m}{k}\binom{n}{r-k}=\binom{m+n}{r}\);(Vandermonde Convolution)

我们一个一个的来看。

  1. 这个我无法找到除了代数解释以外的方法来诠释它的含义;
  2. 经典的 Pascal's Formula,组合意义即钦定一个物品不选。适用场景很多,经常反过来用;
  3. 带权变下项求和,考虑这样的组合意义:在 \(n\) 个物品中选出 \(k\) 个,再从这 \(k\) 个物品中选出一个组成 1-tuples 的方案数。对应到 r.h.s.,反过来钦定 1-tuples,然后计算系数。
  4. 同理,组合意义即在 \(n\) 个物品中选出 \(k\) 个,再从这 \(k\) 个物品中可重地选出两个物品组成无序 2-tuples 的方案数。对应到 r.h.s.,反过来钦定 2-tuples,再考虑系数。需要分类讨论,当选出的物品不相同,为 \(n(n-1)2^{n-2}\),当相同时,为 \(n^22^{n-1}\),加在一起即 \(n(3n-1)2^{n-2}\)。
  5. 变上项求和,考虑 \(n+1\) 个物品,每次钦定第 \(1,2,\dots,n+1\) 个不选,左右两式即相等,例题 codechef - CSEQ Count Sequences
  6. 这个式子我理解不能,但是运算有封闭性,再算一次可以变回去。
  7. 用式 6,得 \(\displaystyle \sum_{k=0}^m(-1)^k\binom{n}{k}=\sum_{k=0}^m\binom{k-n-1}{k}=\sum_{k=0}^m\binom{k-n-1}{}\) 。
  8. 组合意义:\(\{a_{n}\}\) 的 \(r\)-subsets 的 \(k\)-subsets 数,r.h.s. 即在 \(\{a_n\}\) 中选出 \(k\)-subsets,再在 \({a_n}\setminus k\text{-subsets}\) 中选 \(r-k\)-subsets。
  9. l.h.s. 和 r.h.s. 的意义都是 \(\{a_{m+n}\}\) 的 \(r\)-subsets 数。

来看一些题。

  • 「acmhdu - 5794」A Simple Chess link:首先注意到这个走路的方式就是象棋马走日,然后做一个像 codeforces - 559C Gerald and Giant Chess 一样的 dp,有些细节需要注意。
  • 「codeforces - 839D」Winter is here link:数数日门题。考虑反过来算每种 \(\gcd\) 的贡献次数。

小札 Combinatorics 2的更多相关文章

  1. PC端一些非经典兼容性问题小札

    IE10默认在input框中输入内容后会显示一个‘X’按钮,方便删除输入的所有内容. 在password输入框显示一个眼睛的按钮,去掉叉叉和眼睛的方法如下: ::-ms-clear { display ...

  2. Python小札

    在Python中,等号(=)是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量如: a = 123 #a是整数 print(a) a = 'ABC' #a变为字 ...

  3. 曲率已驱动了头发——深度分析谷歌AlphaGo击败职业棋手

    这篇是我们自开设星际随笔以来写得最长的一篇.我们也花了不少力气.包括把那5盘棋各打了两遍的谱,包括从Nature官网上把那篇谷歌的报告花了200元下载下来研究它的算法(后来发现谷 歌网站上可以免费下载 ...

  4. .NET平台开源项目速览-最快的对象映射组件Tiny Mapper之项目实践

    心情小札:近期换了工作,苦逼于22:00后下班,房间一篇狼藉~ 小翠鄙视到:"你就适合生活在垃圾堆中!!!" 晚上浏览博客园 看到一篇非常实用的博客:.NET平台开源项目速览(14 ...

  5. Ruby 连接MySQL数据库

    使用Ruby连接数据库的过程还真的是坎坷,于是写点文字记录一下. 简介 Ruby简介 RubyGems简介 包管理之道 比较著名的包管理举例 细说gem 常用的命令 准备 驱动下载 dbi mysql ...

  6. 读吴恩达算-EM算法笔记

    最近感觉对EM算法有一点遗忘,在表述的时候,还是有一点说不清,于是重新去看了这篇<CS229 Lecture notes>笔记. 于是有了这篇小札. 关于Jensen's inequali ...

  7. SQL SERVER 事务的使用(tran)

    sql server事务的使用是为了确保数据的一致性. 通常写法 begin tran --sql 语句1 --sql 语句2 --sql 语句3 commit tran 上面写法存在隐患,当操作(增 ...

  8. 关于SpringBoot如何返回视图

    别人已经写过了,我就不重复造轮子了.我赞成他的方案:Spring Boot使用方法小札(1):Web应用返回jsp页面 如果配置完之后,访问相应的Controller 还是得不到对应的页面,考虑用以下 ...

  9. Facebook也炒币吗?Libra币是什么?

    Facebook 在上周发布了加密数字货币,称为 Libra币. 太火爆了,很多人都在关注和讨论,包括一些科技大佬们都很积极的讨论(当然,这里指的是真正的科技大佬,比如 马化腾.王兴等,而不是指哪些割 ...

  10. Libra和中国央行数字货币(DCEP)的对比

    最近偶然和朋友讨论起Libra,对Libra和央行的数字货币方案很感兴趣.梳理了阅读资料(参考见文末)和自己的思考,发知乎留个记录. Libra 是什么? 无国界货币 + 为全球数十亿人服务的金融基础 ...

随机推荐

  1. Galaxy Release 20.05 发布,新增多项可视化体验

    Galaxy Project(https://galaxyproject.org/)是在云计算背景下诞生的一个生物信息学可视化分析开源项目. 该项目由美国国家科学基金会(NSF).美国国家人类基因组研 ...

  2. 5个 Istio 访问外部服务流量控制最常用的例子,你知道几个?

    5 个 Istio 访问外部服务的流量控制常用例子,强烈建议收藏起来,以备不时之需. 环境准备 部署 sleep 服务,作为发送请求的测试源: kubectl apply -f samples/sle ...

  3. LLE算法在自然语言处理中的应用:从文本到实体识别和关系抽取

    目录 文章介绍: 自然语言处理(Natural Language Processing,NLP)是人工智能领域的重要分支,它研究如何将人类语言转化为计算机可理解的格式.NLP的应用非常广泛,从语言翻译 ...

  4. 开发自己的Prometheus Exporter、实现自定义指标

    Prometheus Exporter基础知识 Prometheus Exporter的概念.工作原理  Prometheus Exporter是一个用来收集和暴露指标数据的工具,通过与Prometh ...

  5. Solon v2.4.0 发布,Java 生态的新星燃起

    Solon 是什么开源项目? 一个,Java 新的生态型应用开发框架.它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模).与其他框架相比,它解决了两个重要的痛点:启动慢 ...

  6. MariaDB start 报错:mysql-bin.index' not found (Errcode: 2) (Errcode: 13)

    问题是修改配置log-bin=/data/mysql/binlog/mysql-bin后出现的. 报错:Errcode: 2 mkdir -p /data/mysql/binlog ## 和正常的DB ...

  7. Django: request.query_params取值

    取值 request.query_params.dict(),将querydict对象转换为字典 参考链接 https://www.jianshu.com/p/f2f73c426623 https:/ ...

  8. VIM编辑器和Shell命令脚本

    注意:在Linux中一切皆文件,而配置一个服务就是在修改其配置文件的参数. VIM编辑器有三种模式: 命令模式:控制光标移动,可对文本进行复制.粘贴.删除和查找等工作 在该模式下不能对文件直接编辑,可 ...

  9. Oracle 11gR2 单实例 For linux6

    第一章         准备工作 1.1   系统硬件和软件环境检查 Ø  物理内存至少1G # grep MemTotal /proc/meminfo Ø  swap物理内存小于2G时设置为物理内存 ...

  10. 这些年写过的花式sql - 第3句 今日流失用户

    第3句 今日流失用户 需求: 当日流失用户的定义:昨天登录的,今天没登录的用户数 有一张用户登录日志表,有字段 date_stamp(日期时间戳),用户id(uid).如果用户在某天登录了,该表会有一 ...