UVa 10049 Self-describing Sequence (自描述序列&二分递推)

[蓝桥杯][2018年第九届真题]迷宫与陷阱、版本分支、自描述序列 个人题解链接,蓝桥杯历届试题,正在更新中~ 文章目录个人题解链接,蓝桥杯历届试题,正在更新中~迷宫与陷阱版本分支自描述序列 迷宫与陷阱 题目描述 小明在玩一款迷宫游戏,在游戏中他要控制自己的角色离开一间由NxN个格子组成的2D迷宫。 小明的起始位置在左上角,他需要到达右下角的格子才能离开迷宫。 每一步,他可以移动到上下左右相邻的格子中(前提是目标格子可以经过)。 迷宫中有些格子小明可以经过,我们用’.‘表示; 有些格子是墙壁,小明不能经过,我们用’#'表示。 此外,有些格子上有陷阱,我们用’X’表示。除非小 阅读详情

10049 - Self-describing Sequence

Time limit: 3.000 seconds

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=34&page=show_problem&problem=990

Solomon Golomb's self­describing sequence $\langle f(1), f(2), f(3), \dots \rangle$ is the only non­decreasing sequence of positive integers with the property that it contains exactly f(k) occurrences of k for each k. A few moments thought reveals that the sequence must begin as follows:


\begin{displaymath}\begin{array}{c\vert cccccccccccc}\mbox{\boldmath $n$} & 1 &......)$} & 1 & 2 & 2 & 3 & 3 & 4 & 4 & 4 & 5 & 5 & 5 & 6\end{array}\end{displaymath}

In this problem you are expected to write a program that calculates the value of  f ( n ) given the value of  n .

Input 

The input may contain multiple test cases. Each test case occupies a separate line and contains an integer n( $1 \le n \le 2,000,000,000$). The input terminates with a test case containing a value 0 for n and this case must not be processed.

Output 

For each test case in the input output the value of f(n) on a separate line.

Sample Input 

100
9999
123456
1000000000
0

Sample Output 

21
356
1684
438744

1. 如何构造一个增长速率较快的递推式?

注意到f(n)增长缓慢,不妨利用其反函数g(n)=max{m | f(m)=n}(比如g(4)=8),然后再求一次反函数f(n)=min{k | g[k]>=n}即可得到f(n)。

随后由f(n)的定义有g(n)=g(n-1)+f(n)=g(n-1)+min{k | g[k]>=n}

(比如g(4)=g(3)+f(4)=5+3=8,g(5)=g(4)+f(5)=8+3=11)


2. 如何计算min{k | g[k]>=n}?

用二分查找。


完整代码:

/*0.075s*/

#include<cstdio>
#include<algorithm>
const int M = 700000;
using namespace std;

long long g[M];

int main()
{
	g[1] = 1;
	g[2] = 3;
	for (int i = 3; i < M; ++i)
		g[i] = g[i - 1] + (lower_bound(g + 1, g + i, i) - g);
	int n;
	while (scanf("%d", &n), n)
		printf("%d\n", lower_bound(g + 1, g + M, n) - g);
	return 0;
}

非传统题型练习:三道答案提交类题目     不少人可能为找不到非传统题型的练习题而头疼。这几天我专门发出一些用于省选集训的题目供大家参考。Problem 1: cell 手机题目来源:USACO Contest FEB06 Gold (Translated by Matrix67)问题描述    奶牛们已经开始使用手机交流了,但它们发现手机的按键设计不适合它们的蹄子。它们想设计一个新的手机,让它的按键更少,但是更大。 阅读详情

相关推荐

深入解析EtherCAT通讯DS402协议下的伺服电机控制模式选择与配置

本文深入解析了EtherCAT通讯DS402协议下的伺服电机控制模式选择与配置,详细介绍了六种核心控制模式(如PPM、CSP、CSV、CST)的应用场景及实战技巧。通过EtherCAT和DS402协议的高效配合,实现工业自动化中伺服电机的精准控制,提升设备性能与稳定性。

h0i1j2k3l的博客 1175

UVA10049 Self-describing Sequence【数列】

Solomon Golomb’s self–describing sequence ⟨f(1), f(2), f(3), . . .⟩ is the only nondecreasing sequence of positive integers with the property that it contains exactly f(k) occurrences of k for each k....

海岛Blog 1205

UVM实战 卷I学习笔记1——简单的UVM验证平台:只有driver

目录验证平台的组成最简单的验证平台——只有driverUVM如何搭建driver:加入factory机制加入objection机制加入virtual interface 个人《UVM实战卷I》学习随手笔记,此书作者:张强 验证平台的组成 一个验证平台要实现的基本功能: 模拟DUT的各种真实使用情况——给DUT施加各种激励→driver实现激励功能; 根据DUT的输出判断DUT行为是否与预期符合→scoreboard(也称为checker)——需注意判断的东西和判断的标准是什么; 收集DUT的输出并传递

weixin_41979380的博客 3891

uva 10049 self describing sequence

Problem C: Self­describing Sequence  Solomon Golomb's self­describing sequence  is the only non­decreasing sequence of positive integers with the property that it contains exactly f(k)

chengouxuan的专栏 824

Spring Cloud 整合(一) CRUD

Springcloud 整合之 CRUDSpringcloud介绍功能概述为什么要选用Springcloud Springcloud介绍 功能概述 实现微服务 Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的某些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调导致样板式样,并且使用Spring Cloud开发人员可以快速站起来实现这些样板的服务和应用程序。 为什么要选用Springcloud

Kerwin-Lin的博客 1501

PySpark机器学习生产化陷阱:跨节点依赖问题的7种解决方案

隐式依赖陷阱使用ldd解决方案:在基础镜像中预装和路径冲突终极解法依赖树瘦身技巧用conda-tree可减少40%环境体积PySpark机器学习生产化的核心矛盾在于分布式环境的确定性与灵活性不可兼得。轻量级方案(1-3)牺牲一致性换取灵活性重量级方案(4-6)牺牲灵活性换取确定性混合方案(7)针对特殊场景补充正如某AI平台架构师所言:“环境一致性不是技术问题,而是工程纪律问题选择适合团队当前阶段的方案,建立严格的依赖管理流程,才能让PySpark真正扛起生产环境的大旗。

datacanvas2426的博客 911

蓝桥杯-第九届决赛—— 自描述序列

自描述序列 标题:自描述序列 小明在研究一个序列,叫Golomb自描述序列,不妨将其记作{G(n)}。这个序列有2个很有趣的性质: 1. 对于任意正整数n,n在整个序列中恰好出现G(n)次。 2. 这个序列是不下降的。 以下是{G(n)}的前几项: n 1 2 3 4 5 6 7 8 9 10 11 12 ...

萤火虫草花星的博客 4001

项目管理知识体系(PMBOK)中的质量规划详解

你是否遇到过这些场景?软件上线后用户投诉“功能漏洞多”,团队连夜返工;装修完的房子墙面开裂,施工方和业主互相推诿;新研发的手机电池续航不达标,被迫延迟发布。这些问题的根源,往往是项目启动时没有做好质量规划。本文聚焦PMBOK中“质量规划”(Plan Quality Management)过程,覆盖其核心概念、操作步骤、工具技术与实战应用,适用于IT、建筑、制造等各类项目场景。

项目管理的博客 1118

蓝桥杯自描述序列

题目描述 标题:自描述序列 小明在研究一个序列,叫Golomb自描述序列,不妨将其记作{G(n)}。这个序列有2个很有趣的性质: 对于任意正整数n,n在整个序列中恰好出现G(n)次。 这个序列是不下降的。 以下是{G(n)}的前几项: n 1 2 3 4 5 6 7 8 9 10 11 12 13 G(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 给定一个整数n,你能帮小明算出G(n)的值吗? 输入 一个整数n。 对于30%的数据,1 &lt;= n &lt;= 1000000 对于70%的

鲍鲍 1064

GEE:随机森林分类教程(样本制作、特征添加、训练、精度、参数优化、贡献度、统计面积)

本文将介绍在Google Earth Engine (GEE)平台上进行随机森林分类的方法和代码,其中包括制作样本点教程(本地、在线和本地在线混合制作样本点,合并样本点等),加入特征变量,运行随机森林分类器教程,计算随机森林分类结果的精度,优化随机森林分类算法的参数,打印各个变量特征的贡献度等步骤的方法和代码。本教程可以应用于多种分类场景,包括土地利用分类、种植区提取(大蒜、小麦、玉米等)、局部气候区分类、植被分类等多种场景。

养乐多的博客 1万+

芒果YOLO11改进176:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

芒果YOLO11改进186:2025最新顶会论文|尺度动态损失函数Scale-based Dynamic Loss,即插即用|以减少标签不准确对损失函数稳定性的影响

包括YOLOv5、YOLOv7、YOLOv8等模型改进 2132

UVa Problem 10049 Self-describing Sequence (自描述序列)

// Self-describing Sequence (自描述序列)// PC/UVa IDs: 110607/10049, Popularity: C, Success rate: high Level: 2// Verdict: Accepted// Submission Date: 2011-06-07// UVa Run Time: 0.048s//// 版权所有(C)2

寂静山林 3166

基于单片机的宠物狗智能项圈设计

GPS定位功能:利用GPS模块实时获取宠物的位置,帮助主人追踪宠物的活动轨迹。活动监测:使用加速度传感器监测宠物的活动情况,如运动、休息等,并进行分析。健康监测:集成心率传感器,实时监控宠物的心率,以确保其健康。声音识别功能:通过麦克风捕捉宠物的叫声,检测宠物的状态(如饥饿、疼痛等)。蓝牙/Wi-Fi通信:通过蓝牙或Wi-Fi模块与手机APP或云端平台进行数据交互,实时反馈宠物的状态信息。电池管理:实现低功耗设计,确保设备的续航能力。

2201_76125393的博客 2281

蓝桥杯 自描述序列 2018

标题:自描述序列 小明在研究一个序列,叫Golomb自描述序列,不妨将其记作{G(n)}。这个序列有2个很有趣的性质: 对于任意正整数n,n在整个序列中恰好出现G(n)次。 这个序列是不下降的。 以下是{G(n)}的前几项: n 1 2 3 4 5 6 7 8 9 10 11 12 13 G(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 给定一个整数n,你能帮小明算出G(n)的值吗...

超凶的蒙面超人 1464

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【递推】B004_LQ_自描述序列(优化)

小明在研究一个序列,叫Golomb自描述序列,不妨将其记作{G(n)}。这个序列有2个很有趣的性质: 对于任意正整数n,n在整个序列中恰好出现G(n)次。这个序列是不下降的。以下是{G(n)}的前几项: n 1 2 3 4 5 6 7 8 9 10 11 12 13 G(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 给定一个整数n,你能帮小明算出G(n)的值吗? 输入 一个整数n 输出 一个整数G(n) 样例输入 13 样例输出 6 对于30%的数据,1 &lt;= n &lt;= 10000

无敌兔0x01 644

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

蓝桥杯 18总决赛 C2 海盗与金币(反推)

标题:海盗与金币 12名海盗在一个小岛上发现了大量的金币,后统计一共有将近5万枚。 登上小岛是在夜里,天气又不好。由于各种原因,有的海盗偷拿了很多,有的拿了很少。 后来为了“均贫富”,头目提出一个很奇怪的方案: 每名海盗都把自己拿到的金币放在桌上。然后开始一个游戏。 金币最多的海盗要拿出自己的金币来补偿其他人。 补偿的额度为正好使被补偿人的金币数目翻番(即变为原来的2倍)。 游戏要一直进行下去,直到无法完成。 (当金币数最多的不只一个人或最多金币的人持有金币数不够补偿他人的) 游戏就这样紧张地进行了,一直进

hyoka的博客 582

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

蓝桥杯-决赛A组第九届java

目录 第1题 三角形面积 第2题阅兵方阵 第3题 找假币 第4题版本分支 第5题 自描述序列 第6题采油 第1题 三角形面积 代码来自优快云 作者:萤火虫的微亮原文:https://blog.csdn.net/weixin_42318538/article/details/90083494 第2题阅兵方阵 标题:阅兵方阵 x国要参加同盟阅兵活动...

萤火虫草花星的博客 1227

2018第九届蓝桥杯大赛总决赛(软件类)试题 A组

标题:三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5.1, 7.2) 求该三角形的面积。 注意,要提交的是一个小数形式表示的浮点数。 要求精确到小数后3位,如不足3位,需要补零。 给出了三角形三点的坐标,可以有几种方法求面积。 感觉最好的方法是第二种 1.叉积公式,向量a=(x1-x2,y1-y2),向量b=(x1-x3,y1-y3)...

默的博客 2199

Kolakoski序列

Kolakoski序列

shelling_x的博客 703

这个是标题

第一次来很好很强大二号字三号 很好很强大 二号字 三号

weixin_44213304的博客 111
上一篇: UVa 10198 Counting (组合数学&高精度)
下一篇: UVa 10157 Expressions (组合数学&高精度)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值