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)问题描述    奶牛们已经开始使用手机交流了,但它们发现手机的按键设计不适合它们的蹄子。它们想设计一个新的手机,让它的按键更少,但是更大。 阅读详情

相关推荐

CARLA 0.9.15从零开始:环境搭建与基础场景实战指南

本文是CARLA 0.9.15从零开始的完整环境搭建与基础运行教程。详细介绍了在Linux系统下配置Python环境、下载安装CARLA核心软件包、启动服务器以及运行第一个基础场景的步骤。重点演示了如何通过Python客户端脚本生成随机车流,并手动控制EGO车辆在仿真城市中行驶,为自动驾驶算法开发构建了坚实的仿真测试基础。

weixin_29053383的博客 779

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

FANUC机器人KAREL编程实战:手把手教你用SOCKET指令连接外部设备(附完整.KL文件)

本文详细解析了FANUC机器人KAREL编程中SOCKET指令的应用,从开发环境配置到工业级通讯全流程,涵盖网络参数设置、模块化代码设计、错误处理及现场调试技巧。通过实战案例,帮助开发者掌握与外部设备稳定连接的关键技术,提升工业自动化系统的通讯可靠性。

weixin_30907935的博客 226

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

攻防世界 web高手进阶区 9分题 Web_python_flask_sql_injection

继续ctf的旅程,开始攻防世界web高手进阶区的9分题,本文是Web_python_flask_sql_injection的writeup

闵行小鱼塘 1473

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码)

本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。

weixin_29186249的博客 311

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

自描述序列 标题:自描述序列 小明在研究一个序列,叫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

告别交越失真:手把手教你设计高性能互补输出级电路(LTspice实测)

本文深入剖析音频放大器中常见的交越失真问题,并提供基于LTspice仿真的实战解决方案。通过对比二极管偏置、Vbe倍增器和集成运放驱动三种经典方案,手把手指导设计高性能互补输出级电路,涵盖原理分析、仿真验证及实物调试要点,助力消除音频失真,提升音质。

weixin_29190573的博客 553

蓝桥杯自描述序列

题目描述 标题:自描述序列 小明在研究一个序列,叫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

高精度地图数据的结构

本文是个人在学习高精度地图数据结构的心得,主要是描述高精度地图的几层数据结构以及元数据信息。

qq_40664711的博客 5575

电化学-论文分享-NanoStat: An open source, fully wireless potentiostat

本文主要分享论文NanoStat: An open source, fully wireless potentiostat,并记录学习笔记。如果有条件,建议看原文最好。

分享技术笔记,希望对大家能够有一定的帮助,同时也通过归纳总结提升自己的个人能力。 2875

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

解读(DivideMix)DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING

这是Salesforce在今年年初出的一篇关于半监督学习的文章被ICLR 2020收录,目前还保持在SOTA状态。 文章主要做了两点工作: • 提出了一个co-divide方法。 • 利用label co-refinement 和co-guessing 改善之前的谷歌提出的MixMatch方法 1.co-divide方法 大概思路:同时训练两个网络,让每个网络在样本损失分布上去拟合GMM模型,并利用GMM模型,将训练数据分为标签数据和未标签数据,co-divide 使前面分的标签与未标签数据分别在

so 5042

蓝桥杯 自描述序列 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

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【递推】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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

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

hyoka的博客 582

蓝桥杯-决赛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、付费专栏及课程。

余额充值