计数系统
记录系统性解决计数问题的方法
就是总结了一下《组合数学》上的内容
概念:
①生成:按照某种给定的方法来构造一个规模为
n
的对象,使其满足一系列关系。
②限制:对于一个规模为
n
的对象,对象内的元素之间满足的一系列关系,感性理解一下,就是关系越多,合法的方案就越少,那么就是所谓的“限制”。
③划分:对于某个对象而言,存在其的真子集使得能够把这个对象给划分成两个个规模更小的对象,分成多个对象可以考虑递归调用划分的概念。
基本方法
在OI中的计数题,基本就是统计有多少规模为
n
的对象满足一系列限制,通常使用的方法就是dp
或者生成方法
。
[dp]:
适用于把限制划分成若干个部分且每个部分能够在某一固定的阶段被统计(使用)到的情况,并且能够被记录在状态中。
[生成方法]:
就是另一类生成,这个需要把限制下放到每个单独的元素,你需要通过某种构造方法,来把某些合法的情况给构造出来,然后你可以考虑使用某些组合数学(组合、排列、卡特兰、斯特林、翻折定理)来模拟你生成的过程,就是有很多都是这样的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效