Atcoder Beginner Contest 115 D - Christmas 递归

AtCoder Beginner Contest 167 F:Bracket Sequencing 贪心分析 首先我们知道,判一个字符串是否合法,肯定是判任意前缀 ( 的个数一定大于等于 ) 的个数 而多个字符串考虑什么样的字符串放在最左边比较好。 对于一个字符串对拼接有影响的括号一定是自己内部匹配后剩的括号,比如  )(()(  内部匹配一对,剩2个左括号,一个右括号。 显然字符串内部括号匹配完后,剩的都是“(”,且剩的左括号的最多,这样的字符串放在最左边。比如()()((  剩2个左括号 同理,最右边一定是,剩的右括号最多的字符串。 依照最左最右,我们往中间放。 首先左括号剩的多的肯定尽量放左边,右括号剩的多的尽量放右边。 然后考虑次左应该放什么最优。 先把左括号剩的多的在左边安排好: 由于最左边 立即下载

D - Christmas

 

Time limit : 2sec / Memory limit : 1024MB

Score : 400 points

Problem Statement

In some other world, today is Christmas.

Mr. Takaha decides to make a multi-dimensional burger in his party. A level-L burger (L is an integer greater than or equal to 0) is the following thing:

  • A level-0 burger is a patty.
  • A level-L burger (L≥1) is a bun, a level-(L−1) burger, a patty, another level-(L−1) burger and another bun, stacked vertically in this order from the bottom.

For example, a level-1 burger and a level-2 burger look like BPPPB and BBPPPBPBPPPBB (rotated 90 degrees), where B and P stands for a bun and a patty.

The burger Mr. Takaha will make is a level-N burger. Lunlun the Dachshund will eat X layers from the bottom of this burger (a layer is a patty or a bun). How many patties will she eat?

Constraints

  • 1≤N≤50
  • 1≤X≤( the total number of layers in a level-N burger )
  • N and X are integers.

 

Input

Input is given from Standard Input in the following format:

N X

Output

Print the number of patties in the bottom-most X layers from the bottom of a level-N burger.

 

Sample Input 1

Copy

2 7

Sample Output 1

Copy

4

There are 4 patties in the bottom-most 7 layers of a level-2 burger (BBPPPBPBPPPBB).

 

Sample Input 2

Copy

1 1

Sample Output 2

Copy

0

The bottom-most layer of a level-1 burger is a bun.

 

Sample Input 3

Copy

50 4321098765432109

Sample Output 3

Copy

2160549382716056

A level-50 burger is rather thick, to the extent that the number of its layers does not fit into a 32-bit integer.

 

Submit

解题思路:这题的题意是有一个字符串S[0]=’p’,S[i]=’b’+s[i-1]+’p’+s[i-1]+’b’,求s[i]前x个中有多少个‘p’字符。这道题用递归,因为字符串就是按递归出来的,所以我们讨论情况进行递归,具体过程见代码和注释。

#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pf printf
#define sf scanf
#define pn printf("\n");
#define pk printf(" ");
#define sfn scanf("%d",&n);
LL a[55]={1LL},p[55]={1LL};
LL solve(LL n,LL x)
{
	if(n==0&&x>=1)//当n=0,即为s[0]='p',只有一个'p' 
	return 1;
	else  if(x<=0)
	return 0;
	else if(x<=1+a[n-1])//即'b'+s[i-1]的范围里,继续递归s[i-1]里的情况,同时减去前面的一个'b' 
	    return solve(n-1,x-1);
	    else
	    return 1+p[n-1]+solve(n-1,x-2-a[n-1]);
	//即范围在'b'+s[i-1]+'p'+s[i-1]+'b'里 主要递归在后面的s[i-1]里, 
}//中间的一个'p'+前面s[i-1]部分的'p'的个数(p[n-1])+后面s[i-1]中继续递归下去的部分 
int main()
{
LL T,n,x;
	scanf("%lld %lld",&n,&x);
for(int i=1;i<55;i++)
{
	a[i]=a[i-1]*2+3;//s[i]的字符串总长度  
	p[i]=p[i-1]*2+1;//s[i]中'P'的个数 
	}	
	
	printf("%lld",solve(n,x));
 } 

 

图像标注神器:完全开源免费的多功能标注工具Labelme详解 Labelme是MIT开发的免费开源图像标注工具,支持多边形、矩形等多种标注类型,适用于目标检测、分割等计算机视觉任务。提供Windows可执行文件和Python安装两种方式,可输出JSON格式并转换为COCO等标准数据集。具有跨平台、功能全面、社区活跃等优势,能显著提升标注效率,是AI视觉项目的重要数据准备工具。 阅读详情

相关推荐

高杂合度基因组组装实战:Hifiasm参数调优与purge_dups过滤效果对比(附猪毛菜案例)

本文深入探讨了高杂合度基因组组装中Hifiasm参数调优与purge_dups过滤的实战效果对比,通过猪毛菜案例详细解析了两种方法的适用场景与优化策略。文章重点分析了purge_dups在contig过滤中的显著效果,为基因组组装提供了关键的技术参考。

weixin_29232121的博客 495

atcoder Colorful Hats 2 (递归,思维)

题目大意: 现在有一串数an,同时我们已知有三种颜色的帽子。假设为R G B三种颜色。第i个数字的含义是,i前面有多少个人的帽子和第i个是同样颜色。现在问,有多少种不同的帽子颜色排列方案。 解题思路: 题目很明显是一道排列数学问题,然后n的范围是1e5,所以我们考虑能不能线性解决。我们考虑状态,当我们遍历到第i个的时候,与前面有多少种不同的衔接方法。什么意思呢?考虑数列0 0 1 1,比如第...

FrostMonarch的博客 337

基于STM32F407的立创球形六足双形态机器人:从Morphex复刻到毕业设计的完整开发指南

本文详细介绍了基于STM32F407主控芯片,从零开始复刻Morphex球形六足双形态机器人的完整开发过程。内容涵盖硬件选型(如总线舵机)、机械结构设计(阿基米德螺旋底盘)、软件控制(逆运动学与步态算法)以及多控制方式集成,为嵌入式系统与机器人开发的毕业设计或爱好者提供了全面的实战指南。

weixin_35414260的博客 321

AtCoder Grand Contest 001 B - Mysterious Light简单递归

Problem StatementSnuke is conducting an optical experiment using mirrors and his new invention, the rifle of Mysterious Light.Three mirrors of length N are set so that they form an equilateral triangl...

岛岛咕 723

Android Studio安装常见问题详解——Android Emulator Hypervisor Driver for AMD Processors installation failed.

目录一、问题描述二、解决方案2.1 开启CPU虚拟化2.2 禁用Hyper-V2.3 使用管理员命令行在驱动程序包中执行“silent_install.bat” 一、问题描述 新买的AMD轻薄本,在安装Android Studio时遇到问题: Android Emulator Hypervisor Driver for AMD Processors installation failed. 笔记本配置为: 二、解决方案 2.1 开启CPU虚拟化 设置虚拟化的步骤这里不进行详细介绍了。如果需要,可以自行百

Wendy的博客 4万+

灯塔问题:贪心与动态规划算法解析

区间覆盖问题是算法设计中的经典案例,常用于理解贪心算法与动态规划的核心差异。贪心算法通过局部最优选择逐步构建全局解,具有O(n log n)的高效时间复杂度,特别适合处理一维区间覆盖场景。动态规划则采用自底向上的填表法,虽然通用性更强但复杂度较高。在实际工程中,这类算法广泛应用于无线基站部署、监控设备布置等资源优化场景。通过分析灯塔问题的两种解法,可以深入掌握算法选择的关键因素,如问题规模、性能要求和实现复杂度。

weixin_28720573的博客 259

AtcoderABC263场

给定两个整数N和M,求长度为N的严格递增整数序列,其中所有元素介于1和M之间(包括1和M),并按照字典顺序升序打印输出所有满足条件的序列。回溯法是一种通过尝试不同的选择,并进行递归搜索的算法。给定五个整数,判断它们是否满足 Full House 的条件,即有三个数字相同,另外两个数字也相同。有N个人,分别称为Person 1,Person 2,……,Person N。数组中的第0个、第1个和第2个元素相等,且第3个和第4个元素相等;数组中的第0个和第1个元素相等,且第2个、第3个和第4个元素相等。

m0_73618658的博客 242

你的小程序地图功能还只是“摆设”吗?支付宝地图API的深度玩法都在这里了!

🏆本文收录于《滚雪球学支付宝小程序开发》专栏,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1818

【AtCoder - abc311_d】Grid Ice Floor【DFS】

显然搜索题,但是范围是两百,不能每个点都递归,参照之前的题,会出现一些能递归的关键点。我们先对于每个点上下左右走到头,求出每个点对应的下一个关键点,然后从起点开始递归,对于每个点记录有没有“走过”,和有没有递归过,然后到达每个点都去找关键点就行。

ssllyr 393

使用Simulink进行无刷电机霍尔传感器信号处理电路的仿真

位置检测:霍尔传感器可以检测转子的位置,这对于实现无刷电机的电子换向至关重要。提高效率:通过准确的位置信息,可以优化电机的工作状态,提高效率和性能。通过上述步骤,我们简要介绍了如何基于Simulink实现无刷电机霍尔传感器信号处理电路的仿真。

MHD0815的博客 430

USB 网卡——RNDIS 控制消息流程

在其控制端点上获取控制消息时,设备必须在通信类接口的中断 IN 端点上返回通知,每当设备可以返回控制消息时,主机就会轮询该通知。需要注意的是,如果设备由于某种原因收到GET_ENCAPSULATED_RESPONSE,并且无法使用控制端点上的有效数据做出响应,则应返回设置为 0x00 的单字节数据包,而不是 stall 控制端点。下表中定义了此传输。收到 RESPONSE_AVAILABLE 通知后,主机使用下表中定义的GET_ENCAPSULATED_RESPONSE 传输从控制端点读取控制消息。

tyustli 371

【AtCoder】Beginner Contest 380-D.Strange Mirroring

AtCoder新手组380场D题,使用递归和找规律两种方法求解。

weixin_55818116的博客 883

GFPS技术原理(一)-简介

GFPS(谷歌快速配对服务)利用BLE技术简化设备配对流程,相比传统方式大幅提升用户体验。首次配对时,设备广播包含型号ID和安全密钥的BLE信号,手机检测后弹出配对通知,用户点击即可完成安全连接并将设备与Google账户绑定。该技术支持跨设备同步、电量显示、找回设备等功能,后续配对更加便捷。GFPS通过BLE实现快速发现、一键配对和安全连接,结合Google后端服务提供元数据支持,已成为出海设备的认证标准。其核心优势在于简化操作步骤并增强功能性,特别适合非技术用户群体。

十多年蓝牙协议软件开发,擅长蓝牙协议分析 2061

AtCoder Beginner Contest 115 D - Christmas 不错的递归

D - Christmas Time limit : 2sec / Memory limit : 1024MB Score : 400 points Problem Statement In some other world, today is Christmas. Mr. Takaha decides to make a multi-dimensional burger in his ...

pxlsdz的博客 572

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Atcoder Beginner Contest 115D - Christmas 解题报告

atcoder解题报告

weixin_60849605的博客 188

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Atcoder beginner contest 115D Christmas

https://atcoder.jp/contests/abc115/tasks/abc115_d 先从1到n找出第一个层数比X大的级别a,之后级别再高对答案的影响只有最前面那几个“B”,那就是暴力找a中的前m-(n-a)层里有几个肉,如果正在查找的个数包含一些整层还可以直接调用之前算的肉层数。 #include<cstdio> #include<string> #incl...

zekunzhao的博客 269

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

AtCoder Beginner Contest 115

虽然这次题目确实简单了点,但首次AK ATcoder ABC还是挺开心的。 C - Christmas Eve 排序然后遍历一遍计算出间隔k的最小差即可。 #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;algorithm&gt; #include&lt;cstdlib&gt; int h[100005]; using...

vinacky 350

AtCoder Beginner Contest 115-D-Christmas

In some other world, today is Christmas. Mr. Takaha decides to make a multi-dimensional burger in his party. A level-L burger (L is an integer greater than or equal to 0) is the following thing: A ...

这里RevolIA,_(:з」∠)_ 602

AtCoder Beginner Contest 115 题解

  A Christmas Eve Eve Eve      题目:      Time limit : 2sec / Memory limit : 1024MB      Score : 100 points      Problem Statement      In some other world, today is December D-th.      Write a program ...

li123128的博客 444

AtCoder ABC 247

A Move Right(水) 字符串右移一位 然后在左边补0 void solve() { string s; cin >> s; s = '0' + s; s.erase(s.end() - 1); cout << s; } B Unique Nicknames(读题) Description: ​ 每个人有两个备选名字 然后要给每个人从这两个里选一个命名 ​ 要求任一人的名字 不能跟其他人的备选名字相同 Solution: ​ map存

DM010maker的博客 734

atcoder 160 F

逆元 :https://blog.youkuaiyun.com/qq_35416331/article/details/81059747 换根dp:https://www.cnblogs.com/Kanoon/p/12644109.html #include<iostream> #include <algorithm> #include<queue> #in...

qq_35752161的博客 209

atcoder 163

E https://atcoder.jp/contests/abc163/tasks/abc163_e #include <cstdio> #include <cstring> #include <algorithm> using namespace std; long long f[2010][2010], p[2010], a[2010], ji[...

qq_35752161的博客 288

AtCoder 神题汇总

记录平时打 AtCoder 比赛时遇到的一些神题。 ABC128F Frog Jump Analysis Tenka1 Programmer Contest 2019 D Three Colors 题目大意 有 $n$ 个正整数 $a_1, a_2,\dots, a_n$($3\le n\le 300$,$1\le a_i \le 300$)。现在要把每个数涂成红,绿,蓝,三种颜色之一。将同色的数...

weixin_30901729的博客 661

AtCoder AGC035F Two Histograms (组合计数、容斥原理)

题目链接 https://atcoder.jp/contests/agc035/tasks/agc035_f 题解 B题难度的F题……然而我还是不会 假设第\(i\)行染的长度是\(a_i\), 第\(j\)列是\(b_j\) 考虑什么情况下两种方案会重复: 若存在\(i,j\)使得\(a_i+1=j\)且\(b_j=i\), 那么令\(a'_i=j-1,b'_j=i+1\)可以得到一样...

suncongbo's blog 392

AtCoder Beginner Contest 202 D题

AtCoder Beginner Contest 202 D题 https://atcoder.jp/contests/abc202/tasks/abc202_d 题意: 给定A,B,K 要求生成一个由A个’a’,B个’b’组成的字典序排在第k个的字符串 思路: dp 如何确定答案第一位为’a’还是’b’? 有大于等于k个字符串第一位为a,则a,否则为b 定义 f [ i ] [ j ] 代表 由 i个a 和 j 个b 组成的字符串的个数 f [ i ] [ j ] = f [ i - 1 ] [ j ]

weixin_44745441的博客 439

atcoder CODE FESTIVAL 2017 qual A 手速(雾)赛

这个比赛看起来好像挺重要的,,(结果来了一众大佬谁都打不过qaq)        A,B题不知道是干什么的        C题(其实也是不知道在干什么)就是给一个字母矩阵,重排列后问是否能使它水平轴对称+竖直轴对称。        可以发现一个矩阵最多由三部分组成:1.中心点,需要1个字母;2.中轴线,需要2个相同字母为1对填上去;3.其余部分,需要4个相同字母为1组填上去。显然能填3就能填

lych的博客 1736
上一篇: Atcoder Dwango Programming Contest V C - k-DMC
下一篇: Atcoder Beginner 116 C - Grand Garden
explodee
博客等级 码龄9年 5粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值