首页 > 其他分享 > 一个有趣的计数技巧

一个有趣的计数技巧

时间:2023-02-18 21:23:31浏览次数:45  
标签:技巧 text sum 计数 choose ans theta 有趣

抽象地,定义 \(g_i\) 表示选 \(i\) 个位置对应的结果,假设答案的式子为

\[ans = \sum_{i=0}^n g_i \theta^i \]

可以直接在 \(\text{dp}\) 的过程中维护 \(\theta^i\),即,每多选一个位置就将转移系数乘上 \(\theta\)。

但是在某一类特殊的计数题中,我们遇到了这样的问题:我们无法直接求出 \(g\),需要先求出 \(h\),且 \(h\) 二项式反演后得到 \(g\)。若在 \(\text{dp}\) 的过程中多维护钦定的位置的数量,会多一个维度造成复杂度劣化。事实上,我们有

\[\begin{aligned} ans &= \sum_{i=0}^n g_i \theta^i \\&= \sum_{i=0}^n \sum_{j=i}^n (-1)^{j-i} {j \choose i} h_j \theta^i \\&= \sum_{j=0}^n \sum_{i=0}^j {j \choose i}(-1)^{j-i} \theta^i h_j \\ &=\sum_{j=0}^n h_j(\theta-1)^j \end{aligned} \]

与求 \(\sum_{i=0}^n g_i \theta^i\) 的原问题等价,我们只需要将多选一个位置产生的转移系数由 \(\theta\) 改为 \(\theta-1\) 就好了。

标签:技巧,text,sum,计数,choose,ans,theta,有趣
From: https://www.cnblogs.com/ducati/p/17133649.html

相关文章

  • 从入门到进阶:Elasticsearch高级查询技巧详解
    Elasticsearch是一款功能强大的全文搜索引擎,它使用Lucene搜索库进行底层索引和搜索。Elasticsearch提供了许多高级查询技巧,可以帮助用户更准确、更高效地查询数据。本教程将......
  • 企业微信计数器 个人微信加粉计数器开发
    了解了微信吸粉等相关行业,其中有个需求就是计数器,目前已经完成基于Pc端HOOK的计数器开发包含PC服务端,后台管理端等,后台可实时查看进粉数据,进粉详情,进粉的数量统计等支持多......
  • 数的计数 c++
    数的计数题目描述我们要求找出具有下列性质数的个数(包含输入的自然数n),先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:(1)、不作任何处理;(2)、在它......
  • 计数(高速计数器)
                                     ......
  • 打造自己的ChatGPT:OpenAI的API接入技巧
    打造自己的ChatGPT:OpenAI的API接入技巧Created:February17,20233:35PMStatus:Post简介......
  • 前端小技巧之 --- 前端实现分页
    假设情景:后端返回总的数据为 tableData,没有分页;使用element-ui的组件,在前端实现分页<template><div><el-table:data="resultList"border>......
  • 如何用chatGPT、代理IP和网络爬虫,打造一个智能有趣的聊天机器人?
    AI(人工智能)是指让机器具有感知、合成和推理信息的能力,与人类和非人类动物的智能相对应。AI可以实现从经验中学习、适应新的输入和执行类似人类的任务。我们今天听到的大多......
  • 组合计数课程笔记(二):组合计数
    组合计数问题是组合数学中重要的最古典的分支。有人将组合计数问题归为\(12\)个集合映射问题。但是其中有\(2\)个是平凡的,所以我们只研究\(10\)个。十二重计数法在......
  • 前端小技巧之 --- 节点的主题是否相同?
    要判断一下两个数组中节点的主题是否相同?  方法:created(){letre1=this.ifSameTheme(this.treeList1)console.log("是否相同?--treeList1:",re1)......
  • Lazarus 开发环境使用技巧
    Lazarus开发环境使用技巧1.代码补全按下键盘的Ctrl+W键!输入变量后按下这个键就OK啦~2.自动完成自动完成的快捷键大多数都冲突了,解决方法是打开工具(T)->选项...->......