计数问题 纯模拟 1 #include<cstdio> 2 #include<iostream> 3 using namespace std; 4 int main(){ 5 int n,x; 6 cin>>n>>x; 7 int i,c=0; 8 for(i=1;i<=n;i++){ 9 int ...
分类:
其他好文 时间:
2016-11-15 23:12:17
阅读次数:
303
传送门 最短路计数问题。因为数据量非常小($N \leq 100$),所以Floyd随便搞搞就行了。 $f[i][j]$表示路径长度,$g[i][j]$表示最短路方案数。 先跑一遍裸的Floyd,然后利用乘法原理统计$g[i][j]$即可。 $g[i][j]=\sum g[i][k] \times ...
分类:
其他好文 时间:
2016-10-27 17:03:12
阅读次数:
185
点我看题 初步想法是模拟,找到下一个位置并记录操作数,O(n^2)肯定会超时。 那么进行优化,会发现到下一位置的操作数就是两个位置之间存在的数的个数,于是就变成了计数问题。 不难想到用树状数组或线段树进行计数,时间复杂度O(nlogn)。 ...
分类:
其他好文 时间:
2016-10-22 07:19:22
阅读次数:
125
最短路计数 【问题描述】 给出一个N个顶点M条边的无向无权图,顶点编号为1~N。问从顶点1开始,到其他每个点的最短路有几条。 【输入格式】 输入第一行包含2个正整数N,M,为图的顶点数与边数。 接下来M行,每行两个正整数x, y,表示有一条顶点x连向顶点y的边,请注意可能有自环与重边。 【输出格式】 ...
分类:
其他好文 时间:
2016-10-04 16:08:04
阅读次数:
112
业务背景在内存中,对mq消息进行分类计数。问题描述生产环境,运行一段时间后,发现消息队列有大量堆积。如果把计数逻辑注释掉,只接收用户访问消息而不进行处理,则mq队列无堆积。mq栈dump信息如下:ConsumeMessageThread_75TID:214STATE:WAITINGConsumeMessageThread_75sun.m..
分类:
其他好文 时间:
2016-09-19 22:46:46
阅读次数:
1212
计数问题其实只是组合数学中的一小部分,以上也仅仅介绍了比较经典的结论。组合问题复杂多变,它们之间也少有联系,所以把组合数学称作一门学科并不准确。组合难题也会出现在各种益智趣题或竞赛难题中,随随便便就会出现一些未解的难题,所以我们也将止步于此。在结束本课之前,我决定再窥探一下组合问题中的一大类:组合设 ...
分类:
其他好文 时间:
2016-09-02 23:14:32
阅读次数:
343
1. 基本计数的母函数 现在来用母函数来求解基本计数问题,母函数既可以完成自动计数,还能表示计数本身,像Stirling数这种就只能用母函数表示。自动计数适用于可以分步的计数问题,并且目标值是每步值之和,这与多项式的运算性质有关。 1.1 组合数和分划数 直观上最符合这一特点的就是模型2,从\(n\ ...
分类:
其他好文 时间:
2016-09-02 23:11:25
阅读次数:
204
1. 母函数 1.1 母函数的定义 计数问题的结果一般可以表示为自然数集上的函数\(f(n)\),比如组合数\(\binom{n}{k}\)可以看成是关于\(k\)的函数。孤立的通项公式很难发现数值之间的内在联系,从而丢失了结果的整体性。本节介绍一下欧拉提出的母函数思想,它是计数问题的一个基本工具。 ...
分类:
其他好文 时间:
2016-09-02 22:02:25
阅读次数:
193
1. 基本计数 1.1 统一模型 本篇来讨论几个基本的计数问题,这些问题虽然都有各自的模型,但本质上却有着内在的联系,因此我们先建立一个统一的模型。现在有元素集\(E,F\),它们的元素都有内在的结构,建立映射\(E\to F\),问题是这样的映射有多少个?满射和单射有多少个? 所谓有内在的结构,就 ...
分类:
其他好文 时间:
2016-09-02 21:55:19
阅读次数:
167
计数问题种类繁多,为了避免陷入漫无目的烧脑运动,我们先需要关注一些常用方法和结论。数学的抽象性和通用性是我们一直推崇的,从诸多特殊问题中发现一般性的方法,也总会让人兴奋和慨叹。一般教材多是以排列组合开篇,采用了一些技巧性很强的初等方法来讨论组合计数,我倒觉得可以直接先掌握一些锋利的工具,到时再看那些 ...
分类:
其他好文 时间:
2016-09-02 21:54:50
阅读次数:
241