我一直在研究各种编程问题和算法,以努力提高我的编程和解决问题的技能。但是,我总是遇到这样的描述:
“设A= a1,a2,...,an是整数1,2,...,n的排列。一对索引(i,j) 1<=i<=j<=n是排列A if ai>aj的逆。我们被赋予整数n>0和k>=0。恰好包含k个逆的n元排列的数目是多少?”(来源:http://www.spoj.pl/problems/PERMUT1/)
为了让这种问题描述对我有意义,我需要学习什么样的数学?
发布于 2010-10-14 03:04:23
大约一个月前,我就陷入了这样的困境。直到我看到Steve Yegge - 的这篇文章
内容非常丰富,强烈推荐阅读。希望在阅读之后,你能从那里得到一些指针。万事如意。
发布于 2010-10-14 02:49:09
离散数学。它涉及到很多组合学,概率论,等等,这就是你的问题所在。( http://en.wikipedia.org/wiki/Discrete_mathematics )
能够读懂一组方程式可能也没什么坏处。
发布于 2010-10-14 02:51:50
我建议您查看以下两项中的一项(或两项):
Graham,Knuth Patashnik:具体数学
Knuth:计算机编程的艺术(第一卷)
它们不容易阅读,你肯定想至少有高中数学的背景,但它们很好地引导你到你的问题中描述的那种数学,并且有很多练习。
https://stackoverflow.com/questions/3926942
复制相似问题