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. Castle ActiveRecord学习(二)配置、引用、程序启动

    来源:http://www.cnblogs.com/zxj159/p/4082987.html 配置数据库驱动: Model层引用:Castle.ActiveRecord.dll.NHibernate ...

  2. PAT 1062 最简分数(20)(代码+思路)

    1062 最简分数(20 分) 一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0.最简分数是指分子和分母没有公约数的分数表示形式. 现给定两个不相等的正分数 N​1​​/M​1​​ 和 N ...

  3. inline 引起undefined reference to

    main.cc:57: undefined reference to `evpp::udp::UdpDecoder::GetHeader()'collect2: error: ld returned ...

  4. urlrewritefilter 本地windowsxp 上正常 使用 ,但是 到linux服务器 上 则时好时坏 ,不起作用

    可能原因: tuckey.org 无法正常访问 ,urlrewrite 配置 网络 dtd 无法下载 .. 先把 urlrewrite 日志 配置好: <filter> <filte ...

  5. 构建ASP.NET网站十大必备工具

    最近使用ASP.NET为公司构建了一个简单的公共网站(该网站的地址:http://superexpert.com/).在这个过程中,我们使用了数量很多的免费工具,如果把构建ASP.NET网站的必备工具 ...

  6. VS2010 MFC对话框程序用CButtonST给按钮添加图标

    也许是VS版本的关系,CButtonST中的BCMenu两个文件是无法编译通过的.   1.拷贝下载的CButtonST(我下载的v3.9)中的BtnST.h和BtnST.cpp文件到自己项目目录下. ...

  7. mac安全与隐私只有两个选项,少了一个任何来源

    很多软件安装后就会出现,程序已损坏,请移到废纸篓的提示. 解决方法:在终端里输入:sudo spctl --master-disable 然后回车,然后输入密码,即可在安全选项中看到重新出现的允许任何 ...

  8. 48 Fixing relationship Problems with Humor 用幽默解决人际关系问题

    48 Fixing relationship Problems with Humor 用幽默解决人际关系问题 ①We've all heard that laughter is the best me ...

  9. 43 We were Born to Nap 我们天生需要午睡

    We were Born to Nap 我们天生需要午睡 ①American society is not nap-friendly.In fact, says David Dinged, a sle ...

  10. Part 2 - Fundamentals(4-10)

    https://simpleisbetterthancomplex.com/series/2017/09/11/a-complete-beginners-guide-to-django-part-2. ...