出自某模拟赛。

题目大意:

对1e9+7取模。

数据范围
 20 % : n<=300
40 % : n<=2,000
50 % : n<=10,000
70 % : n<=1,000,000
100 % : n<=1,000,000,000

题解

方法众多。

然而我太蒟了,2h43min愣是写了一个40pts暴力走人。

开始指着想正解,但是发现想不出来,然后写n^2暴力,结果总是要么漏算要么算重要么取模出错。。。最后才调出来。

1.如果比较菜,请尝试打表:

$n^3$暴力显然。然后打表。

$n=1,ans_1=1$

$n=2,ans_2=6$

$n=3,ans_3=24$

$n=4,ans_4=80$

然后,套路的先观察相邻两项的关系。

然后尝试和项数的下标套上关系。

$ans_2=ans_1\times \frac{6}{1}$

$ans_3=ans_2\times \frac{8}{2}$

$ans_4=ans_3\times \frac{10}{3}$

诶,然后发现了规律!!

可以递推。

$f_{n+1}=f_n\times \frac{4+2\times n}{n}$

$f_{n+1}=f_n\times \frac{2\times(n+2)}{n}$

迭代下去得:

$f_{n+1}=f_1 \frac{2^n\times (n+2)!}{2n!}$

$f_{n+1}=\frac{2^{n}\times (n+1)\times(n+2)}{2}$

$f_{n}=\frac{2^{n-1}\times n\times(n+1)}{2}$

即可出结果

2.正解:

有点意思的是,i+n-i-1=n-1,k-j+j-1=k-1对于任意的i,j恒成立。

这就是突破口

考虑组合数的意义。

$\sum_{k=1}^n(k\times\sum_{j=1}^k\sum_{i=0}^{n-1}(C_i^{k-j}\times C_{n-i-1}^{j-1})$

$=\sum_{k=1}^n(k\times\sum_{i=0}^{n-1}\sum_{j=1}^k(C_i^{k-j}\times C_{n-i-1}^{j-1})$

j和i换了位置之后,

发现,其实i就是枚举的一个分割点,

然后对于选择的k-1个数,在1~i个数中选择k-j个,

在i+1~n-i-1个数中选择j-1个。

好像和$C_{n-1}^{k-1}$有些关系。

发现,对于$C_{n-1}^{k-1}$中的每个方案。

其实都可以找出0~n-1这n个分界点,然后统计一次。

每个方案被统计了n次。

所以,

原式

$=\sum_{k=1}^nk\times n\times C_{n-1}^{k-1}$

已经可以O(n)递推了。

我们可以用刚才的打表中方法,搞出递推式,然后迭代出来通项公式。

即可O(logn)求解。

3.但是这个还不够漂亮!!!

这个可是组合数啊!!不是一般的数。

组合数毕竟有实际的意义。

观察这个式子的组合意义。

$\sum_{k=1}^nk\times n\times C_{n-1}^{k-1}$

这个k-1和k,n有点麻烦。

提出来:

$=n\times (\sum_{k=1}^n(k-1)\times C_{n-1}^{k-1})+n\times 2^{n-1}$

第一个括号里面是什么意义?

对于n-1个数的集合中,所有子集的大小的和。

套路地,我们转化研究对象。

考虑每个元素被统计了几次。

就是:$2^{n-1-1}=2^{n-2}$

因为每个数自己必须出现一次,然后其他的数爱出现不出现。

所以,

$=n\times( n\times2^{n-2})+n\times 2^{n-1}$

然后就可以O(logn)计算了。

总结:

0.这个式子,我们尝试用数学知识、组合数公式化简,发现不容易化简。然后就要考虑组合数的意义。

1.组合数是一个有意义的数。这样的数学式子的推导,可以通过寻找式子的意义来进行化简。

往往起到立竿见影的效果。

2.打表找规律,要考虑把结果,递推关系和项的编号放在一起。

女神(goddess)——组合数学的更多相关文章

  1. JDK1.8新特性之Optional

    概念 Optional 是JDK1.8中出现的一个容器类,代表一个值存在或者不存在.原来使用null表示一个值不存在,现在Optional可以更好的表达这个概念.并且可以避免空指针异常. 场景分析 需 ...

  2. FJNU 1154 Fat Brother And His Love(胖哥与女神)

    FJNU 1154 Fat Brother And His Love(胖哥与女神) Time Limit: 2000MS   Memory Limit: 257792K [Description] [ ...

  3. [ACdream] 女神教你字符串——三个气球

    Problem Description 女神邀请众ACdream开联欢会,显然作为ACM的佼佼者,气球是不能少的~.女神准备了三种颜色的气球,红色,黄色,绿色(交通信号灯?) 有气球还不能满足女神,女 ...

  4. kali linux之窥看女神上网隐私(ettercap+wireshark+zenmap +dsniff)

    作者:小波 http://www.cnblogs.com/xiaobo-Linux/ 无聊就玩了玩,不要干一些坏事哟~~网上也有一些文章关于kali linux的,就实战了一番.kali是用的debi ...

  5. 海洋女神建新installshield交流群了,原来的老群都满了,请加新群哦,记得认真填写验证信息

    群号511751143 海洋女神installshield群

  6. 南邮CTF隐写之丘比龙的女神

    刚开始下载下图片来 习惯性的binwalk一下 没发现东西 formost一下也没分离出来 扔进c32asm中发现有nvshen.jpg 于是改后缀名字为.zip 解压nvshen.jpg发现无法解压 ...

  7. 找女神要QQ号码

    引言 我们组来了个美女程序员,我心里窃喜,哈哈这下机会来了.我在想怎么下手呢?好吧,还是从QQ号码开始,找到女神要到QQ号,哈哈,我真是个天才~~~ 是这样子滴 想法是美好的,现实是残酷的,找女神要Q ...

  8. poj 3734 Blocks 快速幂+费马小定理+组合数学

    题目链接 题意:有一排砖,可以染红蓝绿黄四种不同的颜色,要求红和绿两种颜色砖的个数都是偶数,问一共有多少种方案,结果对10007取余. 题解:刚看这道题第一感觉是组合数学,正向推了一会还没等推出来队友 ...

  9. 美女程序员是如何将QQ转换成题目中那串数字的--读博文《找女神要QQ号码》

    我只能说好好的端午节你们不约么?,还在这里写代码?我也是够无聊的,下班了不走也在这跟风写着玩!<找女生要QQ号码原文>原文链接http://www.cnblogs.com/iforever ...

随机推荐

  1. Python+MySQL开发医院网上预约系统(课程设计)二

    ---恢复内容开始--- 1:报错 1.1.创建表时报错 CREATE TABLE Admin (        A_ID VARCHAR(20) NOT NULL AUTO_INCREMENT, p ...

  2. 译 - 高可用的mesos计算框架设计

    原文地址 http://mesos.apache.org/documentation/latest/high-availability-framework-guide/ 阅读建议:有写过或者看过Mes ...

  3. Tess4J -4.0.2- Linux 实践 [解决:Tess4J - Native library (linux-x86-64/libtesseract.so) not found in resource path]

    [本文编写于2018年7月5日] Tess4J是Tesseract的Java JNA wrapper.本文介绍了在CentOS 7 操作系统中使用Tess4J的步骤及注意事项.在正式开始之前,先花一点 ...

  4. C# 反射,动态编译

    反射是动态获取程序集的元数据的一种技术,这句话是做.NET程序员面试题目的一个的答案,你可选择记住它,就好比高中生物学里面讲到的细胞的结构的课程时,细胞由细胞膜,细胞质和细胞核组成.根据做程序的经验, ...

  5. USACO 2.3.3 Zero Sum 和为零(深搜枚举)

    Description 请考虑一个由1到N(N=3, 4, 5 ... 9)的数字组成的递增数列:1 2 3 ... N. 现在请在数列中插入“+”表示加,或者“-”表示减,抑或是“ ”表示空白,来将 ...

  6. HUST学期助教总结

    春节还没过完,在回广州的高铁上收到是否愿意担任一次软测助教的询问.想了一天,答应了.而内心其实是有点恐慌的,有几点原因: 大学从来没有学过软件测试这门课程.对于自己的软件测试只是体系并不是很有自信. ...

  7. 02-JAVA 初始化

    构造器 概念:在创建对象时被自动调用的方法,构造器采用和类名一样的名称 创建对象时,会为其分配存储空间,并调用相应的构造器进行初始化.这就确保了在操作对象之前,这个对象已经被恰当的初始化了. 不接受仁 ...

  8. 通俗理解Hilbert希尔伯特空间

    作者:qang pan 链接:https://www.zhihu.com/question/19967778/answer/28403912 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权, ...

  9. 团队Alpha冲刺(九)

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员5:凯琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示 ...

  10. nginx 配置文件简介

    主配置文件说明(先将注释部分去掉:sed -ri ‘/^#|[[:space:]]+#/d’ /etc/nginx/nginx.conf) (1)全局配置段 1:指明运行worker进程的用户和组 u ...