对于 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. webGPU orillusion(一)

    关于架构的理解与认识   Orillusion 核心借鉴了 ECS 结构,遵循 组合优于继承 的开发设计原则,实现了自己的组件系统.我们将传统复杂的逻辑划分为独立的.可重复利用的部分,每个部分可以单独 ...

  2. [随笔]记一此更新win10后mysql服务消失的问题

    十几天前系统自动更新 没在意 几天前用php连mysql的时候 报错 Fatal error: Uncaught PDOException: SQLSTATE[HY000] [2002] 由于目标计算 ...

  3. 【笔试实战】LeetCode题单刷题-编程基础 0 到 1【一】

    1768. 交替合并字符串 题目链接 1768. 交替合并字符串 题目描述 给你两个字符串 word1 和 word2 .请你从 word1 开始,通过交替添加字母来合并字符串.如果一个字符串比另一个 ...

  4. GO web学习(三)

    跟着b站https://space.bilibili.com/361469957 杨旭老师学习做的笔记 路由 Controller / Router 角色 main():设置类工作 controlle ...

  5. HCL实验:1.两台PC通过交换机ping通

    实验整体的拓扑图 进行交换机配置 配置好PC的ip netmask gatework 接口管理为启用状态 开启SW1 连接的端口 (一般来说是默认打开的,但有时候会自动关闭,很烦,所以最好加上这步) ...

  6. Git存储

    Git还提供了一个贮藏的功能.如果你某个分支开发过程中,这个分支的内容是要在本月月底上线的,但是生产上已经出现了一个重大bug,需要你立马去修复.你在分支开发的内容已经开发一部分了,工作区有内容是不能 ...

  7. 上班第一天 Android 环境配置

    其实是昨天把大概 回归Android开发第一天 学会查 然后等待 反正我是不希望以后再查了 写出来吧 去谷歌那边把android studio下载下来 更新jdk版本(与传统的java开发不同 高版本 ...

  8. webshell工具流量特征

    常见的webshell管理工具及流量特征 菜刀 作为老牌 Webshell 管理神器,中国菜刀的攻击流量特征明显,容易被各类安全设备检测,实际场景中越来越少使用,加密 Webshell 正变得日趋流行 ...

  9. 关于 yield 关键字(C#)

    〇.前言 yield 关键字的用途是把指令推迟到程序实际需要的时候再执行,这个特性允许我们更细致地控制集合每个元素产生的时机. 对于一些大型集合,加载起来比较耗时,此时最好是先返回一个来让系统持续展示 ...

  10. 【持续更新】C++ 并不完全是 C 的超集!

    一些容易被忽略的 C 与 C++ 的不兼容特性 头文件和命名空间 C 标准库头文件名在 C++ 中通常去除扩展名,并加上 c 前缀,如: stdio.h -> cstdio stdlib.h - ...