【JZOJ3771】【NOI2015模拟8.15】小 Z 的烦恼【高精度】【数论】

流媒体协议-RTMP简介 与rtsp 不同,RTSP(Real-Time Streaming Protocol)是一个控制协议,负责控制媒体流的传输,但不传输媒体数据本身。RTSP 可以通过 TCP 或 UDP 传输 RTP 包来传输音视频数据。 RTMP(Real-Time Messaging Protocol)是一个综合性的协议,不仅可以传输音视频数据,还可以传输信令控制指令。RTMP 使用 TCP 作为传输协议,可以直接在 TCP 连接上传输音视频数据,也可以传输控制指令,实现了音视频流的实时传输和控制 阅读详情

题目大意:

题目链接:https://jzoj.net/senior/#main/show/3771
小 Z Z Z最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。
善良的数分老师答应不挂他,但是要求小 Z Z Z帮助他一起解决一个难题问题是这样的,现在有
n n n个标号为 1 ∼ n 1\sim n 1∼n 的球和 m m m个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则:

  1. 若把标号为 i i i 的球放进了第 j j j 个盒子,那么标号为 2 i 2i 2i 的球一定要在第 j + 1 j+1 j+1 个盒子里面(若 j &lt; m j&lt;m j<m)

  2. 若把标号为 i i i 的球放进了第 j j j 个盒子,并且 2 k = i 2k=i 2k=i,那么标号为 k k k 的球一定要在第 j − 1 j-1 j−1 个盒子里面(若 j &gt; 1 j&gt;1 j>1)

小 Z Z Z 的数分老师想要知道,给定了 n n n 和 m m m 的时候,第一个盒子最多能放进去多少个球。事实上,他已经推算出了公式,但是需要检验当 n n n 趋向于无穷大时是否仍然满足这个公式,因此 n n n 可能会非常大。


思路:

若第一个盒子放 x x x,那么接下来的盒子就分别放 2 x , 2 2 x . . . 2 m − 1 x 2x,2^2x...2^{m-1}x 2x,22x...2m−1x个球。
那么若可以放置,就必须使 2 m − 1 x ≤ n 2^{m-1}x\leq n 2m−1x≤n,所以 x ≤ n ÷ 2 m − 1 x\leq n\div 2^{m-1} x≤n÷2m−1。
很明显,第一个格子放奇数个球是成立的。因为 2 x 2x 2x无法得到奇数。那么 a n s ans ans就加上 ≤ n \leq n ≤n的所有奇数个数。
那么还有一部分偶数也是可以放置在第一个格子的。所以只需继续让 n ÷ 2 m n\div 2^m n÷2m(注意不是 2 m − 1 2^{m-1} 2m−1),再统计奇数个数。直到 n = 0 n=0 n=0为止。
需卡常。


代码:

/*#pragma GCC optimize("Ofast")
#pragma GCC optimize("inline")
#pragma GCC optimize("-fgcse")
#pragma GCC optimize("-fgcse-lm")
#pragma GCC optimize("-fipa-sra")
#pragma GCC optimize("-ftree-pre")
#pragma GCC optimize("-ftree-vrp")
#pragma GCC optimize("-fpeephole2")
#pragma GCC optimize("-ffast-math")
#pragma GCC optimize("-fsched-spec")
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("-falign-jumps")
#pragma GCC optimize("-falign-loops")
#pragma GCC optimize("-falign-labels")
#pragma GCC optimize("-fdevirtualize")
#pragma GCC optimize("-fcaller-saves")
#pragma GCC optimize("-fcrossjumping")
#pragma GCC optimize("-fthread-jumps")
#pragma GCC optimize("-funroll-loops")
#pragma GCC optimize("-fwhole-program")
#pragma GCC optimize("-freorder-blocks")
#pragma GCC optimize("-fschedule-insns")
#pragma GCC optimize("inline-functions")
#pragma GCC optimize("-ftree-tail-merge")
#pragma GCC optimize("-fschedule-insns2")
#pragma GCC optimize("-fstrict-aliasing")
#pragma GCC optimize("-fstrict-overflow")
#pragma GCC optimize("-falign-functions")
#pragma GCC optimize("-fcse-skip-blocks")
#pragma GCC optimize("-fcse-follow-jumps")
#pragma GCC optimize("-fsched-interblock")
#pragma GCC optimize("-fpartial-inlining")
#pragma GCC optimize("no-stack-protector")
#pragma GCC optimize("-freorder-functions")
#pragma GCC optimize("-findirect-inlining")
#pragma GCC optimize("-fhoist-adjacent-loads")
#pragma GCC optimize("-frerun-cse-after-loop")
#pragma GCC optimize("inline-small-functions")
#pragma GCC optimize("-finline-small-functions")
#pragma GCC optimize("-ftree-switch-conversion")
#pragma GCC optimize("-foptimize-sibling-calls")
#pragma GCC optimize("-fexpensive-optimizations")
#pragma GCC optimize("-funsafe-loop-optimizations")
#pragma GCC optimize("inline-functions-called-once")
#pragma GCC optimize("-fdelete-null-pointer-checks")*/
//以上卡常神器
#include <cstdio>
#include <cstring>
using namespace std;
typedef long long ll;

const int MAXN=1120;
const int maxint=1000000000;
int T,len,k;
char ch[10010];
ll n[MAXN+1],ans[MAXN+1],m,t,s;

ll write(ll x)
{
	if (x>9) write(x/10);
	putchar(x%10+48);
}

bool check(ll a[])  //判断n是否为0
{
	for (register int i=MAXN;i>=1;i--)
		if (a[i]) return 0;
	return 1;
}

ll cnt()  //计算奇数个数
{
	//不超过n的奇数个数就是[(n+1)/2],[]表示向下取整
	ll a[MAXN+1];
	memcpy(a,n,sizeof(a));
	t=1;
	for (register int i=MAXN;i>=len-3;i--)  //len用来卡常
	{  //n+1
		if (!t) break;
		a[i]+=t;
		t=a[i]/maxint;
		a[i]%=maxint;
		if (i<len&&a[i]) len=i;
	}
	t=0;
	for (register int i=len;i<=MAXN;i++)  //除以2
	{
		a[i]+=t;
		if (a[i]&1) t=maxint;
			else t=0;
		a[i]>>=1;
		if (i==len&&!a[i]) len++;
	}
	t=0;
	for (register int i=MAXN;i>=len-3;i--)  //记录答案
	{
		ans[i]+=a[i]+t;
		t=0;
		while (ans[i]>=maxint)
		{
			t++;
			ans[i]-=maxint;
		}
		if (i<len&&a[i]) len=i;
	}
}

void div(ll a[],int x)
{
	t=0;
	for (register int i=len-3;i<=MAXN;i++)
	{
		t=t*maxint+a[i];
		a[i]=t/x;
		t%=x;
		if (i==len&&!a[i]) len++;
	}
}

int main()
{
	scanf("%d",&T);
	while (T--)
	{
		scanf("%s",ch);
		len=strlen(ch);
		for (register int i=1;i<=len;i++)
			n[MAXN-(len-i)/9]=n[MAXN-(len-i)/9]*10+ch[i-1]-48;
			
		for (int i=1;i<=MAXN;i++)  //人才卡常法
			if (n[i])
			{
				len=i-1;
				break;
			}
		
		scanf("%lld",&m);
		div(n,1<<(m-1));
		
		if (check(n))
		{
			putchar(48),putchar(10);
			continue;
		}
		
		while (!check(n))
		{
			cnt();
			div(n,(1<<m));
		}
		
		k=1;
		while (!ans[k]) k++;
		write(ans[k]);
		ans[k]=0;
		for (k++;k<=MAXN;k++)
		{
			if (ans[k]<10) putchar(48);
			if (ans[k]<100) putchar(48);
			if (ans[k]<1000) putchar(48);
			if (ans[k]<10000) putchar(48);
			if (ans[k]<100000) putchar(48);
			if (ans[k]<1000000) putchar(48);
			if (ans[k]<10000000) putchar(48);
			if (ans[k]<100000000) putchar(48);
			write(ans[k]);
			ans[k]=0;
		}
		putchar(10);
	}
	return 0;
}
【YOLO多模态检测顶刊】TGRS 2025范文解读,RGFNet 可见光-红外图像融合目标检测,2026年基于YOLO多模态融合属于发文热点,小论文和大论文通用,通读顶刊了解做实验和论文写作的全流程 🔥本文提出了一种反射率引导的渐进特征对齐网络(RGFNet)用于全天候无人机目标检测。该方法利用Retinex理论从可见光图像中提取光照不变的反射率特征,设计了反射率引导协同对齐模块(RCAM)实现跨模态双向特征对齐,并通过光照感知选择性融合模块(LSFM)在共享状态空间中进行高效特征交互。在DroneVehicle和DVTOD数据集上的实验表明,RGFNet分别达到81.4%和88.5%的mAP,显著优于现有方法。该方法有效解决了低光照条件下可见光-红外图像特征错位问题,为全天候无人机检测提供了新思路。 阅读详情

相关推荐

《惠普工作站设置BIOS从U盘装系统》

惠普工作站设置BIOS 惠普工作站在做服务器时应用广泛,本文介绍下其BIOS开机自启动设置,附上图片,以供学习参考。 惠普工作站设置BIOS 启动步骤如下: 第一步:根据需要对BIOS进行更改,并保存 1.重启工作站按F10进入BIOS设置(也可以按ESC键选择进入BIOS设置的选项)。 图1 惠普工作站B...

istrangeboy&begin zero的博客 2万+

A+B【NOI2015模拟8.14】

Description对于每个数字x,我们总可以把它表示成一些斐波拉切数字之和,比如8 = 5 + 3, 而22 = 21 + 1,因此我们可以写成 x = a1 * Fib1 + a2 * Fib2 + a3 * Fib3 + … + an * Fibn, 其中,Fib1 = 1, Fib2 = 2…. Fib[i] = Fib[i – 1] + Fib[I - 2], 且a[n] > 0.

Last_Freezen_yue的博客 594

星宸科技SSD20x/SSD21X应用层DEMO实战指南:从入门到深度定制

本文详细介绍了星宸科技SSD20x/SSD21X系列芯片的应用层DEMO开发实战,从基础环境搭建到深度定制开发。内容涵盖DEMO资源获取、核心功能实现、第三方库集成以及性能优化技巧,帮助开发者快速掌握智能显示和多媒体处理应用的开发方法。特别适合嵌入式开发者在智能家居、工业控制等场景中应用。

weixin_42524226的博客 267

JZOJ3769. 【NOI2015模拟8.14】A+B

题目大意 对于每个数字x,我们总可以把它表示成一些斐波拉切数字之和。我们可以写成x=a1∗Fib1+a2∗Fib2+a3∗Fib3+…+an∗Fibnx = a1 * Fib1 + a2 * Fib2 + a3 * Fib3 + … + an * Fibnx=a1∗Fib1+a2∗Fib2+a3∗Fib3+…+an∗Fibn, 其中Fib1=1,Fib2=2….Fib[i]=Fib[i–1]+Fi...

Sheep*的博客 247

MoveIt2 Servo实战:解锁UR机械臂在ROS2中的实时遥操作与动态响应

本文深入探讨了MoveIt2 Servo在UR机械臂实时遥操作中的应用,展示了如何通过ROS2实现毫秒级动态响应。文章详细解析了Servo的核心价值、环境配置、控制器适配及高级调优技巧,特别适用于需要高精度控制的工业场景,如VR手术训练和汽车装配线。

weixin_29044157的博客 247

Simscape Multiboby学习笔记1——跟着官网学Multibody

文章目录一. 引言二. Simscape Multibody自学之路三. 本教程的目录 一. 引言 最近在倒腾Matlab的动力学仿真,起因是看到有人推荐Matlab的multbody模块,一经了解之下简直惊为天人。作为一名Matlab的小粉,看到这么好用的模块简直不要太开心,之前用simulink搭飞行器的仿真模型,虽然能够仿真看到六自由度位移,毕竟不能可视化,还是很不够直观,而且simulink仿真(以及更费力的脚本文件仿真)需要精确建模,模型不精确计算也是天差地别。而Multibody在具备其他动力学

qq_30267617的博客 8241

【jzoj3773】【NOI2015模拟8.15】【小 P 的烦恼】【动态规划】

题目大意小 P 最近遇上了大麻烦,他的高等代数挂科了。于是他只好找高代老师求情。善良的高代老师答应不挂他,但是要求小 P 帮助他一起解决一个难题。问题是这样的,高代老师近期要组织班上同学一起去漂流,漂流可以看做是在一张 n 个点 m 条边的有向无环图上进行的,点编号从 0 到 n-1 ,表示景点; 边是连接各景点的一定长度的河道。同时,定义编号为 s 是起点而 t 是终点。我们不妨把从 s 点到 t

inklutcuah’s blog 597

华为S7700交换机Console密码重置全流程详解

本文详细解析了华为S7700交换机Console密码丢失后的重置全流程。通过进入BootROM菜单清除密码,并涵盖单/双主控场景操作、必备工具连接、常见问题排查及重置后的安全配置建议,帮助网络工程师掌握核心交换机的关键应急恢复技能,确保运维安全。

resnet7explorer的博客 539

【JZOJ3771】【NOI2015模拟8.15】小 Z 的烦恼

Description小 Z 最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。 善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1~n 的球和 m 个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则: 1. 若把标号为 i 的球放进了第 j 个盒子,那么标号为 2*i 的球一定要在第 j+1 个盒子里面(若

dance in th dark的博客 570

RK3588部署rtmpose模型

摘要: 本文详细介绍了在RK3588开发板上部署RTMPose模型的全流程。首先在Ubuntu环境中搭建MMCV框架,通过MMPose工具将PTH模型转换为ONNX格式。随后使用RKNN-Toolkit2将ONNX模型转换为RKNN格式,并完成开发板部署。关键步骤包括模型转换(PTH→ONNX→RKNN)、环境配置和推理验证,最终实现人体姿态估计功能。整个过程涉及MMPose、RKNN-Toolkit等工具链的使用,为边缘计算场景下的实时姿态分析提供了可行方案。

qq_44224801的博客 1218

hive sql每个用户的累积访问次数

我们有如下的用户访问数据 userId visitDate visitCount u01 2017/1/21 5 u02 2017/1/23 6 u03 2017/1/22 8 u04 2017/1/20 3 u01 2017/1/23 6 u01 2017/2/21 8 U02 2017/1/23 6 U01 2017/2/22 4 要求使用SQL...

weixin_39150719的博客 3480

Jzoj3769【NOI2015模拟8.14】A+B

完成斐波那契进制下的加法运算 第一位为1,第二位为2,依次类推。。 这里其实很简单,只是要考虑一下进位即可 首先连续两位不为零直接向前进位即可 但是不能解决问题,因为可能出现一个位上面的值大于1 那么我们可以这样做,设连续的四位分别为:0,0,2,0 那么我们可以将其变成1,0,0,1 这样就相当于一次进位了,多次重复以上的进位过程即可 这里可以加上第0位方便运算 #includ

扩展の灰(Extended Ash/Cooevjnz) 573

Windows 上安装 OpenCode 完全指南:从零到成功,人人能看懂!

跟着这篇教程,你应该已经成功在 Windows 上安装并运行了 OpenCode。步骤操作要点1安装 Chocolatey必须以管理员身份运行 PowerShell2安装 OpenCode3验证安装关闭并重新打开终端,输入4进入项目目录必须是 Git 仓库(git init5配置模型输入/connect,输入 API Key6开始使用输入问题测试最后的小建议如果没有 API Key,可以从 DeepSeek 或 Kimi 开始,有免费额度初次使用建议先在简单项目上测试。

专注于编程、AI、人工智能等多个领域内容研究和分析 3887

JZOJ 3771. 【NOI2015模拟8.15】小 Z 的烦恼

...题目:分析:代码: 题目: 传送门 分析: 根据题意,在iii后面的必须是i∗2ki*2^ki∗2k,也就是后面的都是偶数,所以我们需要将奇数球放在第一位 因为i∗2ki*2^ki∗2k放的位置只能在mmm以内,所以当变成i∗2mi*2^mi∗2m时,我们又可以放到第一位了 然后我们就按照发现的这两者,进行解题 统计奇数,用%2\%2%2找就好了。而第二步,我们可以用nnn除以2m2^m...

qq_35786326的博客 259

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

Description 小 Z 最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。 善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1~n 的球和 m 个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则: 若把标号为 i 的球放进了第 j 个盒子,那么标号为 2*i 的球一定要在第 j+1 个盒子里面(若 j&l...

RainbowCrown_CGH's blog 224

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JZOJ[3771] 【NOI2015模拟8.15】小 Z 的烦恼

题目 描述 题目大意 有从111到nnn的数字,每个数字都可以放在一个盒子里(可以不放)。一旦放,满足: 如果它不在第mmm个盒子,那么它的两倍一定在后面一个盒子里。 如果它不在第111个盒子,那么它的一半(整除,如果不能整除即为不合法)一定在前面的一个盒子里。 询问第一个盒子放的最多的数字个数。 思考历程 其实我当时思考的应该是正解,不过有点麻烦。 题目的重点自然在哪两个限制的条件上。首...

A1847225889的博客 369

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

题目大意小 Z 最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1~n 的球和 m 个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则:1. 若把标号为 i 的球放进了第 j 个盒子,那么标号为 2*i 的球一定要在第 j+1 个盒子里面(若 j2. 若把标号为

inklutcuah’s blog 401

jzoj3777. 【NOI2015模拟8.17】最短路(shortest)

Description 小Y最近学得了最短路算法,一直想找个机会好好练习一下。话虽这么说,OJ上最短路的题目都被他刷光了。正巧他的好朋友小A正在研究一类奇怪的图,他也想凑上去求下它的最短路。 小A研究的图可以这么看:在一个二维平面上有任意点(x,y)(0<=x<=N,0<=y<=M,且x,y均为整数),且(x,y)向(x-1,y)(必须满足1<=x)和(x,y-1)(必须满足1<=y)连一条

puppywolf的博客 426

bzoj 3281: 小P的烦恼 支配树算法+dp

题意小 P 最近遇上了大麻烦,他的高等代数挂科了。于是他只好找高代老师求情。善良的高代老师答应不挂他,但是要求小 P 帮助他一起解决一个难题。 问题是这样的,高代老师近期要组织班上同学一起去漂流,漂流可以看做是在一张 n 个点 m 条边的有向无环图上进行的,点编号从 0 到 n-1 ,表示景点; 边是连接各景点的一定长度的河道。同时,定义编号为 s 是起点而 t 是终点。我们不妨把从 s 点到 t

beginend 765

[高精度][数学] Jzoj P3771 小Z的烦恼

Description 小 Z 最近遇上了大麻烦,他的数学分析挂科了。于是他只好找数分老师求情。善良的数分老师答应不挂他,但是要求小 Z 帮助他一起解决一个难题问题是这样的,现在有 n 个标号为 1~n 的球和 m 个盒子,每个球都可以放进且只能放进一个盒子里面,但是要满足如下的规则:1. 若把标号为 i 的球放进了第 j 个盒子,那么标号为 2*i 的球一定要在第 j+1 个盒子里面(若...

weixin_30394633的博客 253

jzoj3771-小Z的烦恼【高精度,数学】

正题 题目大意 mmm个盒子, 当第iii个盒子中放了xxx,那么i+1i+1i+1个盒子中就必须放2x2x2x(i&amp;amp;amp;amp;amp;amp;lt;=mi&amp;amp;amp;amp;amp;amp;lt;=mi&amp;amp;amp;amp;amp;lt;=m)。 求1∼n1\sim n1∼n,mmm个盒子,求第一个盒子中可以放多少个 解题思路 1号盒子中的肯定越小越好。 要求满足条件那么首先x∗2m≤nx*2^m\leq nx∗

QuantAsk 570

【BZOJ3281】小P的烦恼

【题目链接】 点击打开链接 【思路要点】 为每一条原图中的边新建一个点,建出 DAGDAGDAG 的以 SSS 为根的支配树, TTT 到 SSS 路径上每一个代表边的点就是每一条必经的边。 求出相邻的两条边之间的最短路,用 TwoPointersTwoPointersTwoPointers 解决剩余问题即可。 时间复杂度 O((N+M)Log(N+M))O((N+M)Log(N+M)...

cz_xuyixuan的博客 600

【NOI2015模拟8.15】小 Z 的烦恼

这题有点卡常的味道。。。 正解找规律+高精度。 经过手推后发现样例: 10 2↙ 1 2 4 8 3 6 5 10 由于m=2,所以每两个一组,共4组。 哇,这就是规律。 第一次将n除以2m-1,而后找到1~n中奇数的个数并添加到ans。 之后每次都将n除以2m,而后找到1~n中奇数的个数并添加到ans。 最后输出即可。 上标(我压了8位™都还跑了2069ms,重点是我用了很多优化啊(没有吸氧) ...

Larry1118的博客 302

【数学 高精度】JZOJ_3771 小 Z 的烦恼

题意 有nnn个球要放到mmm个箱子里,有以下两条规则: 1、若把标号为iii的球放进了第jjj个盒子,那么标号为2∗i2*i2∗i的球一定要在第j+1j+1j+1个盒子里面(((若j&amp;lt;m)j&amp;lt;m)j&lt;m) 2、若把标号为iii的球放进了第jjj个盒子,并且k∗2=ik*2=ik∗2=i,那么标号为kkk的球一定要在第j−1j-1j−1个盒子里面(((若j&amp...

GOODPLACE 326
上一篇: 【JZOJ2940】 【NOIP2012模拟8.10】生成输入数据【最小生成树】
下一篇: 【JZOJ4229】学习神技【数论,数学】
stoorz1023
博客等级 码龄9年 101粉丝 595原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值