Code For 1

题意:对于一个n,可以将它分解为n/2,n%2,n/2三个数字,重复上述操作知道虽有值为1或0为止;

  求L---R区间数列的和;

思路:首先画着画着可以发现这是一个类似线段数的结构,其长度len在每次n/2时,len=len*2+1;

  有了长度和n就可以dfs查询区间的和了;

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
typedef long long ll; ll len=;
int dfs(ll n,ll L,ll R,ll l,ll r)
{
if(L>r||R<l||n==)return ;
if(n==)return ;
ll mid = L + (R-L)/;
return dfs(n/,L,mid-,l,r)+dfs(n%,mid,mid,l,r)+dfs(n/,mid+,R,l,r);
}
int main(){ ll n,l,r;
scanf("%lld%lld%lld",&n,&l,&r);
ll N = n;
while(N>)
{
len=len*+;
N/=;
}
printf("%d\n",dfs(n,,len,l,r));
return ;
}

最新文章

  1. nodejs中stream相关资料
  2. 利用innodb_force_recovery 解决WAMP MySQL服务器无法正常启动的问题
  3. oracle中的连接查询与合并查询总结
  4. FreeBSD_11-系统管理——{Part_6 - SYSCTL}
  5. EF容器---代理类对象
  6. android 学习随笔四(数据库存储)
  7. 【思路、优化】UVa 11491 - Erasing and Winning
  8. 安森美电量计采用内部电阻跟踪电流--电压HG-CVR
  9. 从文章&quot;避免复制与粘贴&quot;到文章&quot;Extract Method&quot;的反思(1)
  10. Codeforces 713 C Sonya and Problem Wihtout a Legend
  11. string string.h=cstring=str
  12. JIRA官方:为什么要用JIRA?
  13. Java实现打印日历的功能
  14. vue 学习笔记—路由篇
  15. 给iOS开发者的Android开发建议
  16. Android集成人脸识别demo分享
  17. this与$(this)对象
  18. 【未完成】[Spark SQL_2] 在 IDEA 中编写 Spark SQL 程序
  19. wamp设置自定义域名访问php网站
  20. 关于ArcGIS Server修改数据源是否对切片服务有影响

热门文章

  1. 移动端H5多终端适配解决方案
  2. 使用eclipse编写和运行java程序(基础)
  3. 监控LVS
  4. gradle脚本源码查看环境搭建
  5. MySQL操作命令梳理(2)
  6. jQuery插件之路(一)——试着给jQuery的一个Carousel插件添加新的功能
  7. MQ如何解决消息的顺序性
  8. 非常实用的select下拉框-Select2.js
  9. 关于Linux的简单介绍
  10. 从SpringBoot构建十万博文聊聊缓存穿透