jzoj5928
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的更多相关文章
随机推荐
- loadrunner--常用函数列表【转】
1. Intweb_reg_save_param("参数名","LB=左边界","RB=右边界",LAST);/注册函数,在参 ...
- 现代编译原理--第二章(语法分析之LR(1))
(转载请表明出处 http://www.cnblogs.com/BlackWalnut/p/4472772.html) 前面已经介绍过LL(1),以及如何使用LL(1)文法.但是LL(K)文法要求在 ...
- Spark cache、checkpoint机制笔记
Spark学习笔记总结 03. Spark cache和checkpoint机制 1. RDD cache缓存 当持久化某个RDD后,每一个节点都将把计算的分片结果保存在内存中,并在对此RDD或衍生出 ...
- code4906 删数问题
题目: 键盘输入一个高精度的正整数n(<=240位), 去掉任意s个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的n和s,寻找一种方案,使得剩下的数最小. Simple Inp ...
- Laravel 开启跨域请求
项目中用到了接口,外部调用的时候老是请求不到,本地请求却没问题,查了下说是因为跨域的问题.根据网上所说解决方法如下: 1.建立中间件Cors.php命令:php artisan make:middle ...
- pthread_once 和 pthread_key
http://blog.csdn.net/rickyguo/article/details/6259410 一次性初始化 有时候我们需要对一些posix变量只进行一次初始化,如线程键(我下面会讲到). ...
- 2018.10.14 loj#6012. 「网络流 24 题」分配问题(费用流)
传送门 费用流水题. 依然是照着题意模拟建边就行了. 为了练板子又重新写了一遍费用流. 代码: #include<bits/stdc++.h> #define N 305 #define ...
- 2018.09.10 bzoj1855: [Scoi2010]股票交易(单调队列优化dp)
传送门 单调队列优化dp好题. 有一个很明显的状态设置是f[i][j]表示前i天完剩下了j分股票的最优值. 显然f[i][j]可以从f[i-w-1][k]转移过来. 方程很好推啊. 对于j<kj ...
- hdu-1251(string+map)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1251 思路:重点是用gets输入,而且用a[20],不能直接输入string类型的. #include ...
- 40 Older People Needed Less Sleep ?老年人要睡得少 ?
Older People Needed Less Sleep ?老年人要睡得少 ? ①The popular notion that older people need less sleep than ...