【数论】Agent1

题目背景

2018年11月17日,中国香港将会迎来一场XM大战,是世界各地的ENLIGHTENEDRESISTANCE开战的地点,某地 的ENLIGHTENED总部也想派Agent去参加这次的XM大战,与世界其他地方的ENLIGHTENED并肩作战。

题目描述

某地的ENLIGHTENED总部总部有NN个Agent,每个Agent的能力值互不相同,现在ENLIGHTENED行动指挥想要派出A,B两队Agent去参加XM大战。但是参加大战的两个队伍要满足两个要求:

  1. A队中能力最大的Agent的能力值要小于B队能力最弱的Agent的能力值。
  2. A,B两队都要有人参战。

并不一定所有的Agent都要去参加XM大战的,心急的ENLIGHTENED行动指挥想知道有多少种安排Agent参加大战的方案。由于答案可能很大,所以只需要你求出答案模(10^9+7)的值就可以了。

输入输出格式

输入格式:

输入仅一行,为一个整数NN。

输出格式:

输出答案模(10^9+7)的值。

输入输出样例

输入样例#1: 

3

输出样例#1: 

5

输入样例#2: 

6

输出样例#2: 

129

说明

对于20%的数据 N≤10

对于40%的数据 N≤10^3

对于60%的数据 N≤10^5

对于100%的数据 N≤10^9

 

题解

因为只考虑相对大小关系 不需要具体数字

问题转化为在1-n中 选出两个非空集合A,B   A中元素都小于任意B中元素

看数据范围猜正解 应该是O(logn)或O(1)  试试数论找规律 显然和组合数有关系   而且我也只会组合数

所以先不考虑划分 对于选出的每个AB的并集 有总元素个数-1种划分方式

所以

\large ans={\sum_{i=1}^{n}}(i-1)*C(n,i)={\sum_{i=1}^{n}}i*C(n,i)-{\sum_{i=1}^{n}}C(n,i) ={\sum_{i=1}^{n}}i*C(n,i)-(2^{n}-1)={\sum_{i=1}^{n}}i*\frac{n!}{i!(n-i)!}-2^{n}+1 ={\sum_{i=1}^{n}}n*\frac{(n-1)!}{(i-1)!(n-i)!}-2^{n}+1=n*{\sum_{i=1}^{n}}\frac{(n-1)!}{(i-1)!(n-i)!}-2^{n}+1=n*{\sum_{i=1}^{n}}C(n-1,i-1)-2^{n}+1=n*{\sum_{i=0}^{n-1}}C(n-1,i)-2^{n}+1=n*2^{n-1}-2^{n}+1

再来一发快速幂  愉快地AC了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值