tj:題解裡公式是錯的

我們可以考慮每一個節點[a,a+2^b-1]對答案的貢獻

則當這個節點是左兒子時,貢獻為2^b

是右兒子時,貢獻為2n−a−2b+12^n-a-2^b+12n−a−2b+1

左兒子的公式為2^(n-2)n(n+1)

右兒子需要通過等比數列化簡。為(2(n−1)+1)∗((n−1)∗2n+1)−2(n−2)∗n∗(n+1)(2^(n-1)+1)*((n-1)*2^n+1)-2^(n-2)*n*(n+1)(2(n−1)+1)∗((n−1)∗2n+1)−2(n−2)∗n∗(n+1)

然後由於每一個節點作為左端點和右端點貢獻相等,所以要乘2

最終答案為((2(n−1)+1)∗((n−1)∗2n+1))/(2(n−1)∗(2n+1))((2^(n-1)+1)*((n-1)*2^n+1))/(2^(n-1)*(2^n+1))((2(n−1)+1)∗((n−1)∗2n+1))/(2(n−1)∗(2n+1))

代碼:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define mo 1000000007ll
ll n;
ll qp(ll x,ll y){
	if(!y)return 1;
	if(y==1)return x%mo;
	ll r=qp(x,y/2);
	if(y&1)return r*r%mo*x%mo;
	return r*r%mo;
}
int main(){
	freopen("A.in","r",stdin);
	freopen("A.out","w",stdout);
	scanf("%lld",&n);
	ll ans1=qp(2ll,n-1ll);
	ans1=(ans1+1ll)%mo;
	ll ans2=(n-1ll+mo)%mo;
	ans2=(ans2*qp(2ll,n))%mo;
	ans2=(ans2+1ll)%mo;
	ll ans3=ans1*ans2%mo;
	ll ans4=qp(2ll,n-2ll);
	ans4=ans4*(qp(2ll,n)+1ll)%mo;
	ll ans5=qp(ans4,mo-2ll);
	printf("%lld\n",ans3*ans5%mo);
}

jzoj5928的更多相关文章

随机推荐

  1. NPOI导入导出Excel数据

    代码: using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; using System; usi ...

  2. 记录java版本不兼容的坑,(kafka运行报错)

    启动kafka报错 错误原因是: 由较高版本的jdk编译的java class文件 试图在较低版本的jvm上运行的报错 解决办法是: 查看java版本 C:\Users\Administrator&g ...

  3. IETF

    一.简介 https://zh.wikipedia.org/wiki/%E4%BA%92%E8%81%94%E7%BD%91%E5%B7%A5%E7%A8%8B%E4%BB%BB%E5%8A%A1%E ...

  4. 品味性能之道<十>:Oracle Hint

    Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式. 因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Ora ...

  5. Mockplus 3.2前瞻,五大特色功能让你惊喜!

    在这个火热的夏季,我们有理由热切期待Mockplus 3.2的发布! 作为国产的一流原型设计工具,Mockplus 3.2版本会给我们带来什么呢? 格子(Repeater) 我们平常的设计,有大量需要 ...

  6. JVM知识

    堆(Heap)和非堆(Non-heap)内存 简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给 自己用的. 堆内存分配     JVM初始分配的内存由-Xms指定,默认是 ...

  7. 100 floors 2 eggs

    https://github.com/Premiumlab/Python-for-Algorithms--Data-Structures--and-Interviews/blob/master/Moc ...

  8. 美团点评2017校招笔试真题-算法工程师A

    美团点评2017校招笔试真题-算法工程师A 1.下面哪种STL容器的实现和其它三个不一样 A. set B. deque C. multimap D. map 正确答案: B STL的容器可以分为以下 ...

  9. yii2 beforeAction 重定向问题

    不跳转代码:return $this->redirect('http://www.yiichina.com/'); 跳转代码:return $this->redirect('http:// ...

  10. momery

    reg [7:0] moma [255:0] ;//定义一个位宽为8,浓度为什么256的memory. parameter wordsize = 8; parameter memsize = 256; ...