P8676 [蓝桥杯 2018 国 A] 自描述序列 题解

2018 第九届 蓝桥杯大赛个人赛决赛-A组赛题 C++ 2018 第九届 蓝桥杯大赛个人赛决赛-A组赛题 C++ 三角形面积 阅兵方阵 找假币 约瑟夫环 自描述序列 采油 立即下载

【博客搬迁通知】为了更好的创作,我决定自本周起陆续搬迁文章/资源至 新博客站,但优快云上的文章仍然保留,不定期更新一篇,如有需要可以到新博客站继续阅读我的文章,感谢大家的支持!

参考文章

题意

题目表述的很清楚

思路

#1 暴力枚举

根据题目给出的规律,很容易用 O ( n ) O(n) O(n) 的时间求出 1 0 6 10^6 106 的数据,这样就可以得到 30 30 30 分。

显然,这种方法是不对的,我们在上面进行优化。

#2 枚举优化

gig_igi​ 用来表示对应下标出现的次数,先对 g i g_i gi​ 求和 ∑ i = 1 n g i ​ \sum_{i=1}^{n} g_i​ ∑i=1n​gi​​。在求和的时候判断与目标数据的大小。如果大于目标 n n n,则答案就是下标 i i i。

这样可以得到 70 70 70 分。

#3 正解

因为第 i i i 个数据会在 g g g 中出现 g i g_i gi​​ 次,那么那么就相当于在 g g g 中会出现 g i g_i gi​ 个长 i i i 且数字相等的区间,这样的话,就可以根据 n n n 所在的区间去求解。

推断出 n n n 在第 i i i 个数据段中,是第 n − m n - m n−m 个数字。在第 i i i 个区域中,每一个数据会重复出现 i i i 次。那么 n − m n-m n−m 就是在这个段中的位置就是 ⌈ ( ( n − m ) / i ) ⌉ \left \lceil ((n - m) / i) \right \rceil ⌈((n−m)/i)⌉。

这样可以得到 100分。

代码

#include <bits/stdc++.h>
#define int long long // 定义int为long long类型,便于处理大数
using namespace std;

int n, res, cnt, g[1000010];

int main() {
	ios :: sync_with_stdio(false); // 关闭同步,提高输入输出效率
	cin >> n; // 读取输入的n值
	g[1] = 1, g[2] = 2; // 初始化g数组的前两个元素

	// 预处理 g[i] 数组
	for (int i = 2, j = 2; i < 1000010; i++)
		for (int k = 0; k < g[i] && j < 1000010; k++) g[j++] = i;

	int i = 1;
	while (true) {
		res += i * g[i]; // 计算当前总和
		if (res >= n) // 如果总和大于等于n,计算并输出结果
			return res -= i * g[i], cout << cnt + (n - res + i - 1) / i << endl, 0;
		cnt += g[i++]; // 计数器增加
	}
	return 0;
}
第5.1节 构网控制:电压源特性与电压调节 摘要: 构网型变流器的核心物理本质是作为可控交流电压源,通过戴维南等效模型(受控电势源+低输出阻抗)自主建立并调节电压,增强电网电压刚度。其电压调节通过无功-电压闭环控制实现,内环为自动电压调节器(AVR),外环为无功-电压下垂特性,模拟同步发电机功能。关键技术包括自适应增益、虚拟阻抗补偿及动态限流策略,以应对弱电网稳定性、故障过流等问题。该设计满足《规范》对电压调节范围、动态无功支撑的要求,是高比例新能源电力系统电压稳定的关键解决方案。 阅读详情

相关推荐

GIS分析-利用K-Means方法进行地震分析

通过“聚类”可以获得有关我们所拥有的数据的各种线索,这是数据挖掘技术之一。分析创建的组有助于决策过程。在这项研究中,我们将使用数据挖掘工具之一的K-Means方法研究安纳托利亚东部地区近100年发生的地震的空间分布,并试图获得有用的信息,以供未来的研究使用。我从局地震目录页面获得了研究所需的地震数据,并从获得了区域边界数据。

gis收藏家的博客 1569

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

加湿器方案-DLT8M04TS-杰力科创

基本组成: 一个触摸按键、一组RGB灯、一个雾化片、一个充电IC。 产品功能: 第一次上电光机状态,RGB红/绿/红灯依次闪烁灭; 2、按键功能:短按开关机和三档喷雾工作模式,第一次短按持续喷雾,短按第二次喷3S,停3S,短按第三次关闭喷雾模式,依次循环; 在喷雾或是不喷雾的状态下长按1.5S RGB灯渐变,一直循环,第二次长按当前灯光闪烁一下常亮,第三次长按关机; 3、持续喷雾定时5小时自动断电,间歇喷雾定时10小时自动断电,若在间歇工作时有切换为持续喷雾,那间歇喷雾的...

JLKCsz的博客 512

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

完整指南:从基础到高级使用 Semantic Kernel

通过本文的学习,你已经掌握了从基础到高级的使用方法。安装并配置。使用简单的文本生成和自然语言处理任务。利用任务链和工具扩展构建复杂的工作流。通过记忆管理上下文,创建更智能的应用。扩展多模态处理能力,集成图像和音频分析。将应用部署到云端,并通过 Azure Functions 提供智能服务。无论是构建简单的对话应用,还是创建多模态智能服务,都提供了强大的工具和灵活的扩展机制。希望这篇文章能帮助你更好地理解并运用这个框架,构建出更加智能和高效的应用。

net core ,前端 ,python 全栈开发 2805

OpenCV卡尺工具实战:5步搞定工业级圆与直线拟合(附完整C++源码)

本文详细介绍了使用OpenCV卡尺测量工具实现工业级圆与直线拟合的5个关键步骤,包括核心原理、环境配置、边缘点提取优化、鲁棒性几何拟合实现及QT集成技巧。通过模块化C++源码和实战案例,帮助开发者快速掌握高精度尺寸测量技术,适用于机械零件、PCB板等工业检测场景。

uran的专栏 842

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

1.三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5.1, 7.2) 求该三角形的面积。 注意,要提交的是一个小数形式表示的浮点数。 要求精确到小数后3位,如不足3位,需要补零。 —————————————————————————————————————————————————————————— 方法1:直接套公式 A、B、C 的坐标分别为 A(x1,y1)、B(x2,y2)、C(x3、y3),则 S=(x1y2-x1y3+x2y3-x2y1+x3

QinLaoDeMaChu的博客 783

python实现ECMS算法

ECMS(Equivalent Consumption Minimization Strategy)算法是一种用于混合动力汽车能量管理系统的优化策略。它通过计算等效油耗来平衡电池电量消耗和燃油消耗,从而优化整体能耗。以下是一个简单的Python实现,用于演示ECMS算法的基本思想。这个实现假设了一个简单的混合动力汽车模型,其中电池电量和燃油消耗是主要的优化目标。

weixin_45570158的博客 922

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

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

萤火虫草花星的博客 1227

SAP后台JOB保姆级教程:从SM36创建到SM37监控,手把手教你搞定ABAP程序定时任务

本文详细解析SAP后台JOB从创建到监控的全流程,重点介绍SM36创建和SM37监控的操作步骤与最佳实践。通过真实案例演示如何配置定时任务、处理常见故障及实施企业级管理策略,帮助ABAP开发者高效管理后台程序执行。

weixin_30838873的博客 430

【4. BSP开发指南 - [4.6. 安全启动使用说明]】

【4. BSP开发指南 - [4.6. 安全启动使用说明]】

Sugar_wolf的博客 273

2018第九届届蓝桥杯国赛回顾(真题解析)

这里写自定义目录标题序言赛制年龄问题(一)海盗与金币如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 序言 参加蓝桥杯糊里糊涂拿了个省一,然后糊里糊涂进京了,5月...

牧码人博客@luckyhe.com 1648

精雕软件(JDpaint) 5.5 绿色版

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

2018年蓝桥杯A组C/C++决赛题解

2018年第九届蓝桥杯A组C/C++决赛题解 点击查看视频题解 点击查看2018年蓝桥杯A组C/C++决赛题目(不含答案) 1:三角形面积 画个图,求三角形面积,可以用外接长方形 - 其他多余区域面积 当然网上很多用海伦公式啊什么的都可以的 #include<bits/stdc++.h> using namespace std; double x1 = 2.3; double yy1...

weixin_30486037的博客 545

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

2018年蓝桥杯A组C/C++决赛题目

2018年蓝桥杯A组C/C++决赛题目 2018年蓝桥杯A组C/C++决赛题解 1:三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为: (2.3, 2.5) (6.4, 3.1) (5.1, 7.2) 求该三角形的面积。 注意,要提交的是一个小数形式表示的浮点数。 要求精确到小数后3位,如不足3位,需要补零。 2:阅兵方阵 x国要参加同盟阅兵活动。 主办方要求每个加盟国派出...

weixin_30768661的博客 292

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

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

打卡信奥刷题(1754)用C++实现信奥 P8676 [蓝桥杯 2018 国 A] 自描述序列

本文介绍了蓝桥杯2018年国赛A组题目"自描述序列"的解法。该序列G(n)具有两个特性:数字n恰好出现G(n)次,且序列单调不减。题目要求计算给定正整数n对应的G(n)值。作者提供了C++实现代码,采用分段处理策略:对于小规模数据直接生成序列,大规模数据则通过数学推导优化计算。代码包含预处理和分块处理两部分,能高效处理最大2×10^15的输入。文章最后提到作者将持续分享算法竞赛题解和编程经验。

Loge谈信奥--一个专注于信奥人的博客 509

iOS 多语言本地化教程,VS Code KXApp 编辑 String Catalog .xcstrings

做 iOS 多语言本地化总要在 VS Code 和 Xcode 之间来回切?这篇讲用 KXApp(快蝎)在 VS Code 里直接编辑 String Catalog(.xcstrings):双击打开和 Xcode 一样的表格,`.xcstrings` 与老的 `.strings`、`.stringsdict` 同表编辑,加语言同步登记到工程、从源码扫描同步新 key,复数、设备变体和变量占位都在表里处理,改源语言文本后已有翻译自动标需复核。文件仍是标准格式,回 Xcode 打开一致。

2501_91592143的博客 164

蓝桥杯青少组图形化 STEMA 省考(报名倒计时·11/22开考)+ 全国青少年信息素养大赛 2026—2027赛季 + 电子学会图形化考级:校园华容道大闯关

中国电子学会 12 月图形化考级报名 9/23–12/2、统考 12/12–13;全国青少年信息素养大赛 2026—2027 赛季也正处在报名与基础能力评估窗口(复赛 2027 年 5–7 月、总决赛 7–8 月,5 大主题赛项覆盖图形化)。这三大标志性赛事的图形化考点高度重合,今天用一个原创项目「校园华容道大闯关」,把。

IT_Scratch的博客 240

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:三分法求单峰函数最值解析

最近正是刷题备赛的黄金窗口:第十八届蓝桥杯软件赛报名 2026-10-08 10:00—12-18 14:00,省赛(C/C++·Python 程序设计)定在 2027-04-10 9:00–13:00;二分大家都会,但二分只能处理"单调或判定性"问题,遇到"极值"就不灵了。(加权平均 x = (3·10+1·20+4·30+2·60+5·80)/15 = 46,不舒服度 = 3·36²+1·26²+4·16²+2·14²+5·34² = 11760。——这时三分法就是"万能钥匙":只要单峰,直接搜。

IT_Scratch的博客 227

微软技术周报 11-02~11-09:VS Code 混装 Claude 与 Codex、EF Core 11 静默改行为、.NET 11 倒计时

11 月 6 日,Power Platform 通过消息中心通知管理员,Copilot Studio、Power Automate 和 Power Apps 里所有跑在 Anthropic Claude、xAI Grok 以及旧版 GPT 上的 prompt,12 月 2 日自动迁移到 GPT-6 系列,档位价格不变,模型选择收窄到一条产品线。效果是这样的:让 Claude 评审一个 Copilot chat 写出的方案,或者把同样的任务交给 Codex,两边并排跑在同一个会话里。更要紧的是下周的时间线。

海盗Sharp的博客 341

蓝桥杯LV1 - 找到最多的数

在一个 n×mn×m 的矩阵中,有一个数字出现了超过一半的次数,请设计一个高效算法找到这个数字。

2402_87421821的博客 82

蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园成语接龙大挑战解析

备考季又到了——第十八届蓝桥杯 STEMA 11 月省考报名正热(,Scratch 组 90 分钟);中国电子学会报名 9 月 23 日—12 月 2 日、统考 12 月 12—13 日;也已进入报名 / 基础能力评估窗口。这三大标志性赛事的图形化考点高度重合,今天用一个原创项目「校园成语接龙大挑战」,把六件套一次性串起来,一篇顶三篇备考。

IT_Scratch的博客 443

蓝桥杯青少组图形化实战:校园俄罗斯方块解析(覆盖全国青少年信息素养大赛与电子学会图形化考级)

8 城线下测评 11 月 7 日—12 月 26 日陆续开赛,主题《星际拓荒纪元》;复赛(地区赛)定于 2027 年 5—7 月、总决赛 7—8 月,五大主题赛项覆盖图形化;报名 9/23—12/2、全国测试 12/10、统考 12/13(一级 14:00—15:00,二/三/四级 8:30—10:00)。三赛都看重「列表 + 循环 + 条件 + 变量 + 自制积木 + 广播」这套图形化基本功——下面这道原创项目题把它们一次性串起来。

IT_Scratch的博客 81

蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:分块算法巧解区间改查

代码比线段树短一大截,却足以应对绝大多数区间改查题。建议蓝桥杯、电子学会 C/C++·Python 考级、信息素养大赛备赛时,把「分块」作为线段树之前的保底武器熟练掌握。今天我们用一道原创题,把「分块(Square Root Decomposition)」从思想讲到可落地的双语言实现,并拆解 7 个高频易错点。这三类赛事的算法题里,有一类「看上去用朴素模拟会超时、上线段树又觉得杀鸡用牛刀」的题目特别常见——,代码量远小于线段树,是 CSP-J/S 与蓝桥杯省赛里性价比极高的「保底利器」。

IT_Scratch的博客 70

蓝桥杯 - 01背包 超通俗零基础讲解

1. dp[j] :背包容量为j时,可以装出的最大价值2. 下标 j ->代表背包体积3. dp数组里面存的值 -> 代表价值4. 举例: dp[5]=8 ,背包容量5,最多能拿到价值8。

2402_87421821的博客 274

蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:分层图最短路解析

赛事锚点:第十八届蓝桥杯软件赛报名已开启(2026-10-08 10:00—12-18 14:00,省赛 2027-04-10,C/C++·Python 程序设计 9:00–13:00);,套在普通最短路外面,是蓝桥杯、全国青少年信息素养大赛算法赛项里反复出现的高频模型。刷题的同学一定见过这类"套路题":给你一张图,你手里还有几张"免费通行券",用掉一张就能让某一条路不花代价地走过去,问从起点到终点最少要多少代价。下面两份代码都采用"节点展开"的写法,最直观、最不容易写错。它把"已经用过几张券"变成一个。

IT_Scratch的博客 298

P15434 [蓝桥杯 2025 国 Python B] 三角形构造(构造,,数学,位运算)

0时当前的y就是可以使用的,具体的做法是:由于1<=y<=x,所以直接反过来算:合法数量=x-(x&y等于0的正整数数量),现在我们考虑x&y=0,设x的二进制最高位是第h位,那么在0...h这h+1个二进制位中:x为1的位置,y必须为0,x为0的位置,y可以填0或1,假设x中0的位数是z,那么x&y=0的选择有2^z种,包括y=0.因此正整数有:2^z-1个,所以答案就是x-2^z+1,但是数据范围较大,需要开ll。等价于统计与 `x` 按位与不为0的 `y` 个数。时间复杂度:O(logx)

2501_94316951的博客 128
上一篇: 题解:P7051 [NWRRC2015] Distribution in Metagonia
下一篇: 进阶算法 第一课:贪心
Chat_lsm2024
博客等级 码龄7年 903粉丝 79原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值