洛谷 P1014 [NOIP 1999 普及组] Cantor 表
本文由Jzwalliser原创发布在CSDN平台上遵循CC 4.0 BY-NC-SA协议。因此若需转载/引用本文请注明作者并附原文链接不得用于商业用途。违者必究谢谢配合。个人主页blog.csdn.net/jzwalliser题目洛谷 P1014 [NOIP 1999 普及组] Cantor 表P1014 [NOIP 1999 普及组] Cantor 表题目描述现代数学的著名证明之一是 Georg Cantor 证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的我们以 Z 字形给上表的每一项编号。第一项是1 / 1 1/11/1然后是1 / 2 1/21/22 / 1 2/12/13 / 1 3/13/12 / 2 2/22/2……。输入格式输入一个整数N NN1 ≤ N ≤ 10 7 1 \le N \le 10^71≤N≤107。输出格式输出表中的第N NN项。输入输出样例 #1输入 #17输出 #11/4说明/提示对于全部测试数据1 ≤ N ≤ 10 7 1 \le N \le 10^71≤N≤107。2024-11-18 0:30 数据中加入了样例放在不计分的子任务 2 中。想法首先我们可以把整个表翻转个45度让它变成类似“宝塔”的形状接着规律就会好找许多第1行有1个第2行2个第3行3个……以此类推。做个求和不难发现行数n nn、本行结束所有数字个数总和S n S_nSn​的关系是S n 1 2 n 2 1 2 n S_n\dfrac12n^2\dfrac12nSn​21​n221​n那么就可以计算出第m mm项所在的行n nnm 1 2 n 2 1 2 n m\dfrac12n^2\dfrac12nm21​n221​n把n nn看作未知数解一元二次方程就得到n − 1 − 1 8 m 2 n\dfrac{-1\sqrt{-18m}}{2}n2−1−18m​​不过这里注意算出小数说明这个数字已经到下一行了。例如m 2 m2m2你就能算出来n − 1 1 8 × 2 2 1.561 ⋯ n\dfrac{-1\sqrt{18\times2}}{2}1.561\cdotsn2−118×2​​1.561⋯说明这个数字出现在第2行。因此为了方便表示需要加上向上取整符号最终应该得到n ⌈ − 1 1 8 m 2 ⌉ n\left\lceil\dfrac{-1\sqrt{18m}}{2}\right\rceiln⌈2−118m​​⌉。这样我们就能算出某一项在第几行了。下一步我们需要计算这一项在当前行的第几个才能精确定位到它。这个更简单我们只需要拿当前位置减去前几行中的数字个数。举个例m 5 m5m5时我们可以通过公式算出来n 3 n3n3。再通过前面的求和公式可以知道第2行填完后一共有S n − 1 3 S_{n-1}3Sn−1​3个数字。所以说5 − 3 2 5-325−32得到它在第3行的第2个。严谨归纳成公式它在当前列的位置k m − S n − 1 m − 1 2 n 2 1 2 n km-S_{n-1}m-\dfrac12n^2\dfrac12nkm−Sn−1​m−21​n221​n。接着再观察Cantor表注意到每一行中分子x xx和分母y yy相加都等于行号n nn加一即x y n 1 xyn1xyn1这要注意不到就注意力涣散了嗷。最后就是确定分子分母了。由于这个表实在复杂各行从上到下一会儿正着来一会儿反过来呈蛇形排布……所以我们直接把它们统一成分子从左到右递增变成这样最后再判断奇偶性如果发现是奇数行就把分子分母反过来输出就行了。实现通过序号m mm算出所在行号n nn。通过所在行号n nn与序号m mm算出本行所在位置$k$。通过n nn和k kk算出分子、分母之和。接着通过奇偶性得到本行的增减性从而算出分子、分母。最后别忘记输出啊。题解C#includebits/stdc.husingnamespacestd;intmain(){intm;cinm;//输入intnceil((-1sqrt(-18*m))/2);//计算行intkm-n*n/2n/2;//计算在该行中所在位置intxk;//计算分子intyn1-x;//计算分母if(n%2){//奇数行couty/x;}else{//偶数行coutx/y;}return0;}Pythonimportmath mint(input())#输入nmath.ceil((-1(-18*m)**0.5)/2)#计算行kint(m-n**2/2n/2)#计算在该行中所在位置xk#计算分子yn1-x#计算分母ifn%2:#奇数行print(y,x,sep/)else:#偶数行print(x,y,sep/)难度难度★★☆☆☆这道题主要是推公式有点费解。公式推出来之后题目迎刃而解而且代码简洁。结尾你是怎么想的欢迎留言啊我们下期再见(˵¯͒〰¯͒˵)

相关新闻

《AutoFocus: Efficient Multi-Scale Inference》论文笔记

《AutoFocus: Efficient Multi-Scale Inference》论文笔记

《AutoFocus: Efficient Multi-Scale Inference》论文笔记 1. Motivation 这是一篇讨论如何 “from coarse to fine” 进行目标检测的论文。进行多尺度目标检测一般都会用到金字塔网络,有的是利用特征金字塔如FPN(Feature Pyramid Network)在…

2026/8/12 20:53:00 阅读更多 →
HunyuanImage-2.1创意案例大全:8个场景教你用AI生成商业级视觉内容

HunyuanImage-2.1创意案例大全:8个场景教你用AI生成商业级视觉内容

HunyuanImage-2.1创意案例大全:8个场景教你用AI生成商业级视觉内容 【免费下载链接】HunyuanImage-2.1 HunyuanImage-2.1: An Efficient Diffusion Model for High-Resolution (2K) Text-to-Image Generation​ 项目地址: https://gitcode.com/gh_mirrors/hu/Huny…

2026/8/12 19:51:05 阅读更多 →
国内AI数据平台厂商有哪些?2026企业AI数据平台四类技术路线梳理

国内AI数据平台厂商有哪些?2026企业AI数据平台四类技术路线梳理

随着企业AI从知识库逐渐进入Agent和核心业务系统,AI数据平台开始成为新的基础设施赛道。用户在选择AI数据平台时,经常会问:国内AI数据平台厂商有哪些?不同厂商之间到底有什么区别?实际上,目前市场上的“AI数…

2026/8/11 16:58:21 阅读更多 →

最新新闻

麒麟系统安装察元 WPS AI 文档助手:免费、开源、离线部署说明

麒麟系统安装察元 WPS AI 文档助手:免费、开源、离线部署说明

要点速览 察元是运行在 WPS 文字中的 AI 文档助手类加载项,在 WPS 内提供对话、写作、翻译、审校与批量处理等能力,可作为 WPS 环境下的 AI 助手能力补充。软件可免费使用,源代码在 GitHub 公开,许可以仓库 LICENSE 为准。部署上…

2026/8/12 21:00:52 阅读更多 →
数字电路存储单元:锁存器与触发器的核心原理与应用

数字电路存储单元:锁存器与触发器的核心原理与应用

1. 从“记忆”到“同步”:锁存器与触发器的核心分野在数字电路的世界里,我们总在谈论“0”和“1”。但一个更根本的问题是:如何让电路“记住”当前的“0”或“1”,并在需要的时候稳定地呈现出来?这就是锁存器和触发器诞…

2026/8/12 21:00:52 阅读更多 →
AI原生硬件:开发者如何用语音交互提升编程效率

AI原生硬件:开发者如何用语音交互提升编程效率

最近几年,AI 硬件产品层出不穷,从智能音箱到 AI 眼镜,概念很酷,但真正能融入日常开发或学习工作流的“生产力玩具”却不多。很多产品要么是“为 AI 而 AI”,功能华而不实;要么就是上手门槛极高,…

2026/8/12 21:00:52 阅读更多 →
llama.cpp 服务化安全:模型文件、监听地址与运行身份

llama.cpp 服务化安全:模型文件、监听地址与运行身份

llama.cpp 服务化安全:模型文件、监听地址与运行身份 先把问题落到具体对象 把 llama.cpp 或同类推理底座包装成服务后,模型文件来源、监听地址、运行身份和外部工具能力都需要单独设边界。性能参数不能顺手变成安全默认值。 安全边界如何落地 服务使用低…

2026/8/12 21:00:52 阅读更多 →
UI学习: UI的初步了解

UI学习: UI的初步了解

文章目录UILabel常用属性基本功能创建和初始化设置文本设置文本阴影设置Label的透明度是否显示不透明UIButton创建为按钮添加事件UIView创建将新建的视图添加到父亲视图上隐藏视图设置透明度从父视图删除UIView的层级关系UILabel UILabel 是 iOS 开发(UIKit 框架&a…

2026/8/12 21:00:52 阅读更多 →
新手如何避免功能优先的开发误区

新手如何避免功能优先的开发误区

1. 为什么新手容易陷入"先设计功能"的误区 刚入行的产品经理或开发者最容易犯的错误,就是接到需求后立即开始画原型、写代码。我见过太多团队一上来就讨论"这个按钮放左边还是右边"、"要不要加个动画效果",结果开发到一半…

2026/8/12 20:59:51 阅读更多 →

日新闻

Ubuntu 22.04安装与使用tree命令:高效管理Linux目录结构

Ubuntu 22.04安装与使用tree命令:高效管理Linux目录结构

1. 为什么需要一个“目录树”工具?在Linux世界里,尤其是Ubuntu这样的发行版,命令行是很多人的主战场。我们每天都要和文件、目录打交道。ls命令是查看目录内容的首选,它简洁、高效,能列出文件名、权限、大小等关键信息…

2026/8/12 9:33:34 阅读更多 →
博思AI智能体:意图识别、思考链与性能优化的工程实践

博思AI智能体:意图识别、思考链与性能优化的工程实践

在AI应用从“能用”走向“好用”的进程中,系统的响应速度、决策透明度与高并发稳定性是决定用户体验的关键。博思AI智能体近期完成了一次重要的专项优化,聚焦于意图识别、思考链展示与全链路压测三大核心领域,将系统从功能实现推向了工程卓越…

2026/8/12 9:33:34 阅读更多 →
子代理架构:AI智能体任务分解与协同执行的核心原理与实践

子代理架构:AI智能体任务分解与协同执行的核心原理与实践

1. 项目概述:为什么我们需要“子代理”?最近在折腾各种AI应用和自动化流程时,我越来越频繁地遇到一个瓶颈:单个AI智能体(Agent)的能力边界。无论是处理复杂的多步骤任务,还是需要同时调用多个专…

2026/8/12 9:33:34 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/12 1:11:09 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/12 1:11:09 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/12 1:11:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/11 17:09:45 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/12 1:11:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/11 17:09:45 阅读更多 →