正题


题目大意

mmm个盒子,
当第iii个盒子中放了xxx,那么i+1i+1i+1个盒子中就必须放2x2x2x(i&lt;=mi&lt;=mi<=m)。
求1∼n1\sim n1∼n,mmm个盒子,求第一个盒子中可以放多少个


解题思路

1号盒子中的肯定越小越好。
要求满足条件那么首先x∗2m−1≤nx*2^{m-1}\leq nx∗2m−1≤n
那么x≤n/2m−1x\leq n/2^{m-1}x≤n/2m−1。
然后奇数是肯定可以放进去的,
然后对于每个
xxx,会封锁x∗2i(i&lt;m)x*2^i(i&lt;m)x∗2i(i<m)。
之和我们会发现x∗2mx*2^mx∗2m又可以放进去了。
以此类推
我们可以发现x∗2km(x%2==1,k≥0)x*2^{km}(x\%2==1,k\geq0)x∗2km(x%2==1,k≥0)
所以我们考虑枚举kkk。
开始先计算最大的xxx,统计一次奇数个数。
其实枚举kkk,就是每次让nnn除与2m2^m2m,然后统计一遍奇数个数。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll mod=1e11;
const ll W=1000;
ll a[W+10],ans[W+10],m,t,l,al;
char s[W*10+10];
void print(ll x){if (x>9) print(x/10); putchar(x%10+48); return;
}
void init()
{memset(s,0,sizeof(s));scanf("%s",s+1);scanf("%lld",&m);l=strlen(s+1);ll t=0,k=1;for(ll i=l;i>=1;i--){a[t]+=(s[i]-48)*k;k*=10;if(k==mod) t++,k=1;}l=W;al=0;
}
void div(ll x)
{ll g=0;for(ll i=l;i>=0;i--){a[i]+=g*mod;g=a[i]%x;a[i]/=x;}while(!a[l]&&l>=0) l--;
}
void count_odd(){ll g=0,i;ans[0]+=a[0]%2;for(i=l;i>=0;i--){ans[i]+=(a[i]+g*mod)/2;g=a[i]%2;}ll t=max(l-1,al);if(ans[t+1]) t++;for(i=0;i<=t;i++)if(ans[i]>=mod){ans[i+1]++;ans[i]-=mod;}if(ans[i]>0) al=i;else al=i-1;
}
void write()
{print(ans[al]);while(al--){if(ans[al]<1e10) putchar(48);if(ans[al]<1e9) putchar(48);if(ans[al]<1e8) putchar(48);if(ans[al]<1e7) putchar(48);if(ans[al]<1e6) putchar(48);if(ans[al]<1e5) putchar(48);if(ans[al]<1e4) putchar(48);if(ans[al]<1e3) putchar(48);if(ans[al]<1e2) putchar(48);print(ans[al]);}putchar('\n');
}
int main()
{scanf("%lld",&t);while(t--){memset(a,0,sizeof(a));memset(ans,0,sizeof(ans));init();div(1<<(m-1));count_odd();while(a[0]){div(1<<m);count_odd();}write();}
}

jzoj3771-小Z的烦恼【高精度,数学】相关推荐

  1. jzoj3771. 【NOI2015模拟8.15】小 Z 的烦恼

    Description 小 Z 最近遇上了大麻烦,他的数学分析挂科了.于是他只好找数分老师求情. 善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1 ...

  2. 【0521模拟赛】小Z爱数学

    题目描述 小Z想求F(n,k),F(n,k)表示n的所有因数pi中,满足n/pi <= k 的和. 小Z发现还是很水,所以他决定加大难度. 求 小Z还准备了很多个询问.现在你来解决一下吧. 输入 ...

  3. hihoCoder 1513: 小Hi的烦恼(五维偏序+bitset)

    #1513 : 小Hi的烦恼 时间限制:5000ms 单点时限:1000ms 内存限制:1024MB 描述 小Hi从小的一大兴趣爱好就是学习,但是他发现尽管他认真学习,依旧有学神考的比他好. 小Hi在 ...

  4. 2021-09-15核芯物联推荐生态合作伙伴莱讯科技#蓝牙AoA微信小程序跨楼层高精度定位导航,支持ibeacon+aoa融合,完美解决ibeacon导航存在的覆盖盲区

    2021-09-15核芯物联推荐生态合作伙伴莱讯科技#蓝牙AoA微信小程序跨楼层高精度定位导航,支持ibeacon+aoa融合,完美解决ibeacon导航存在的覆盖盲区 核芯物联推荐生态合作伙伴莱讯科 ...

  5. P1494 小Z的袜子

    P1494 小Z的袜子 莫队板子题,对询问进行排序+分块,从而得到巧妙的复杂度 对于L,R的询问. 设其中颜色为x,y,z的袜子的个数为a,b,c... 那么答案即为 (a*(a-1)/2+b*(b- ...

  6. 【0521模拟赛】小Z爱划水

    题目描述 小Z和其它机房同学都面临一个艰难的抉择,那就是 要不要划水? 每个人都有自己的一个意见,有的人想做题,有的人想划水. 当然,每个人只能选择一个事情做.如果一个人做的事情和他想做的不同,那么他 ...

  7. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)【莫队算法裸题学习笔记】

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 9894  Solved: 4561 [Su ...

  8. [BZOJ 2038][2009国家集训队]小Z的袜子(hose)(莫队)

    Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只 ...

  9. 数据结构(莫队算法):国家集训队2010 小Z的袜子

    [题目描述] 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命-- 具体来说,小Z把这N只袜子从1到 ...

  10. NYOJ 453 小珂的烦恼 模拟

    这道题是大一的一次月赛题目,,悲崔的是,我想了好久才想出来,想出来还超时了,,太菜了,太菜了...后来仔细想了想,改了一个地方就过了.. 思路:就是模拟,判断当前没出现过的最小的是哪个数即可.判断第i ...

最新文章

  1. 高校疯传!法国TOP双硕算法专家匠心打造一套保姆级AI学习笔记并公开(保姆级/20G高清/PPT/代码)...
  2. 机器学习基础专题:支持向量机SVM
  3. 【linux高级程序设计】(第十二章)Linux多线程编程 4
  4. 【AC自动机】病毒代码(ybtoj AC自动机-5)
  5. java之Hibenate中监听事件的重写和二级cache缓存
  6. 电脑安装了mysql,但找不到mysql服务
  7. Kafka学习之四 Kafka常用命令
  8. 关于”要执行请求的操作,WordPress需要访问您网页服务器的权限”
  9. Tomcat下快逸报表中文乱码问题怎么解决
  10. ArcGIS 概述
  11. SOLIDWORKS流体分析为什么两栋楼之间会感觉风大
  12. ubuntu下安装绿联的AC650网卡驱动
  13. h264解码延迟优化_h264编解码末尾丢帧问题原因和解决
  14. do vis是什么意思_duck不必什么梗?李佳琦放过鸭子吧表情包
  15. Hedgehog 信号通路与癌症
  16. Windows直接拖拽文件复制到虚拟机Ubuntu
  17. 《利用python进行数据分析》读书笔记--第十一章 金融和经济数据应用(一)
  18. 脱贫攻坚“甜蜜行”基层医生培训班第二期在怀化举办,3市共50名村医参加
  19. hasp运行不成功_条码打印软件安装提示HASP错误代码处理方法
  20. win7电脑运行速度慢如何解决【系统天地】

热门文章

  1. java.awt.headless_以编程方式设置java.awt.headless = true
  2. python中x 1什么意思_Python:A [1:]中x的含义是什么?
  3. dev可以运行mysql文件夹_Linux查看mysql 安装路径和运行路径
  4. srv.sys蓝屏解决补丁_Win10 补丁 KB4556799 导致部分用户蓝屏死机和网络问题
  5. 算法与数据结构——并查集
  6. c语言实现灰度图像阈值分割,灰度图像--图像分割 阈值处理之平均阈值
  7. mysql无法创建新用户_如何mysql禁止创建新用户
  8. [JavaWeb-JavaScript]JavaScript_Function函数(方法)对象
  9. SpringCloud常见问题总结(二)
  10. python实现辗转相除法求最大公约数和最小公倍数