关于“完全无匹配”问题的通式

今天舒兵课末讲了一个“完全无匹配”问题(即有N个对象A和N个对象B分别编号 1,2,3,…,N ,A与B一一组合,要求A与B编号不相同),于是全班陷入了通式计算的苦战中..

在又报废两页草稿纸之后终于得出一个好吓人的通式:

Expression

大致意思是这样:首先求出包括任何匹配的所有情况,然后减去匹配1对的总数,减去2对的,……,减去N对的,最后的结果就是完全无匹配的总数。但是由于计算N对的时候仍然需要用到一个更小范围的完全无匹配,因此这个算法变成了递归算法,只能用计算机求解了。

代码编写上增加了一个缓存,防止重复运算,毕竟输入唯一值输出也是唯一值,而且运算量很可观。

以下是在线计算。注意:由于运算位数不够最高只能求到170,并且23及以上只能用指数方法表示浮点数。

请在上方输入要运算的完全无匹配对象的总数


2016.10.27 更新:通解记作 !n (Derangement/subfactorial) 更简单的递推公式见 http://www.matrix67.com/blog/archives/6665 第二题.

关于作文的不吐不快之言

对韩寒一句话一直印象很深:“作文已经成为独立于文章之外的一种文体了。”

经历了初中的有事不写写时无事的这种尴尬场面,觉得到了高中应该会舒服些,结果也并没有好多少嘛..

以上是题外话。

继续阅读 »

SMF成功移植SAE

smf花的时间居然比thbr少多了,果然一个优秀的项目就是不一样啊。
目前可以顺利安装、正常发帖、正常上传,默认中文utf8,版本202。
上传头像仍然不正常;搜索引擎友好待修改;插件安装待修改。

于是sae上终于可以架论坛了
测试传送门:http://saesmf.sinaapp.com/

Hello World

WordPress在SAE上架好好几天了,一直没空写博文。比赛似乎都扎堆在了这两天,又是赶论文又是做FTC的。昨天创新大赛的网络提交截止,明天是FTC的调试,后天比赛。

新浪个人觉得还是个良心企业,在国内的环境中各个产品都做得很厚道。渣浪视频是唯一一个上传不打水印的视频分享站点,渣浪微博是山寨twitter最到位的站点,SAE是国内最舒服的PHP云。SAE的确是便宜,而且用多少收多少,还不用考虑乱七八糟的事情,什么网速啊并发数啊之类。THBR转到SAE上来以后几个仅剩的忠实玩家表示体验很不错,看来十几个小时的移植没白费。顺带吐槽一下世纪初的PHP代码风格,想来我居然是看着这代码学的PHP甚至是HTML、CSS、JS。一直被vIstaswx吐槽说太落后,让我很怨念。拿到SAE的python测试资格以后果断开始学起了python,打算做一个云推送。无奈这东西理解起来比想象中的困难得多,而且SAE环境真心不适合用来学一门语言。本来以为python可以完成node.js一样的效果,但是看了几个用异步框架的comet,最终都还是靠延时触发的。鉴于这东西学起来实在太费劲,在用户量难以承受之前还是老老实实玩PHP吧。本来想看看SAE的追逐对象GAE的,结果发现这货不支持PHP。好吧作为一个不入流的业余PHP开发者,随你们鄙视好了= =

继续阅读 »