P10400 『STA - R5』消失的计算机

news/2025/9/28 16:30:21/文章来源:https://www.cnblogs.com/kibrel/p/19117056

传送门

原题

题目描述

本题为提交答案题。

后台有一个正整数 \(n\)(你不知道 \(n\) 具体的值)。

你有 \(10^3\) 个变量 \(p_1,p_2,\cdots,p_{10^3}\),初始 \(p_1=n\)\(p_2=p_3=\cdots=p_{10^3}=0\)

你需要写一个程序完成一些任务,程序包含下面几种语句可供使用:

  • new x,令 \(n\gets n+1\)\(p_x\gets n\)
  • dec x,令 \(p_x\gets p_x-1\)
  • assign x y,令 \(p_x\gets p_y\)
  • iftry x goto l,如果 \(p_x \ge 0\),跳转到第 \(l\) 条语句。
  • ifeq x y goto l,如果 \(p_x = p_y\),跳转到第 \(l\) 条语句。
  • ifneq x y goto l,如果 \(p_x\neq p_y\),跳转到第 \(l\) 条语句。

对于后三种语句,如果当前语句是第 \(\bm{l_0}\) 条,那么要求 \(\bm{l<l_0}\)

你不得使用超过 \(1000\) 条语句或是标号超过 \(1000\) 的变量。你的程序实际语句运行次数不得超过 \(10^5\)

令程序执行前的 \(n\) 值为程序的输入,程序执行后的 \(n\) 值为程序的输出,你需要分别完成下面 \(10\) 个任务:

  1. 输入 \(n\),输出 \(2n\)
  2. 输入 \(n\),输出 \(\binom n2\)
  3. 输入 \(n\),输出 \(600\)
  4. 输入 \(n\),输出 \(n + 1\)
  5. 输入 \(n\),输出 \(n^2 - 1\)
  6. 输入 \(n\),输出 \(n + 2000\)
  7. 输入 \(n\),输出 \(n + \lfloor \log_2 n\rfloor\)
  8. 输入 \(n\),输出 \(n + \left(n \bmod 2\right) + 1\)
  9. 输入 \(n\),输出 \(n+\gcd(n, n - 4) + 1\)
  10. 输入 \(n\),输出一个满足 \(|x-n\ln n|\le 30\) 的正整数 \(x\)

注:子任务按长度排序,与难度无关。

输入格式

该题为提交答案型试题,每个测试点对应的任务见【题目描述】。

输出格式

针对给定的 \(10\) 个任务,你需要分别提交你的输出文件 1.out ~ 10.out

每个文件需要输出若干行。

第一行一个非负整数 \(L\),代表你使用的语句数量。

接下来 \(L\) 行,每行一个语句。

说明/提示

评分标准

对于每个测试点,其内部会评测若干组测试数据。

若你的输出出现下列情况,那么该测试点不得分:

  • 输出与要求不符。
  • 实际语句运行次数大于 \(10^5\)
  • 出现无法识别或不合法的语句。
  • 使用超过 \(1000\) 条语句或是标号超过 \(1000\) 的变量。

否则设对应子任务的评分标准为 \(L_0\),那么你的得分为:

\[\mathrm{score}=\begin{cases}11&L_0>L\\\Big\lfloor\frac{10}{\exp\left(1-\frac {L_0}L\right)}\Big\rfloor&\text{otherwise.}\end{cases} \]

下面给出各个任务对应的评分标准 \(L_0\):

编号 \(1\) \(2\) \(3\) \(4\) \(5\) \(6\) \(7\) \(8\) \(9\) \(10\)
\(L_0\) \(3\) \(9\) \(233\) \(1\) \(10\) \(29\) \(14\) \(7\) \(18\) \(14\)

数据范围

保证 \(5 \le n \le 100\)

整理&思路

这道题的AC非我一人所为,搜集了大量的资料和思路(后期回顾的时候才发现自己查到资料里有题解QAQ),整理而成…… 虽然查了很多东西,但是也算是我过的第一道黑题吧!特此纪念

Task 1

输出\(2n\)

循环n次加一。

3
dec 1
new 2
ifneq 1 3 goto 1

Task 2

输出\(\binom n2\)

\(\binom n2 = 1+2+\cdots+n-1=2+\cdots+n-2+n\),换句话说就是从2一直循环到n-2。

9
dec 1
dec 1
dec 1
assign 2 1
dec 2
new 3
iftry 2 goto 5
dec 1
ifneq 1 4 goto 4

Task 3

输出\(600\)

\(600 = n + 600 -n\),构造\(600-n\)次循环, 相反数为\(n-600\)\(600\)也就是\(24\times 25\),开始循环。

35
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
assign 3 2
dec 3
dec 4
assign 5 6
dec 5
dec 1
ifneq 5 3 goto 29
ifneq 4 2 goto 27
dec 6
new 8
ifneq 1 6 goto 33

Task 4

输出\(n+1\)

不必理会。

1
new 1

Task 5

输出\(n^2-1\)

根据平方差公式,可以得到:

\[n^2-1=(n+1)(n-1)=n+(n+1)(n-2)+1 \]

嵌套两个次数分别为 x 和 y 的循环,相当于执行 xy 次。所以嵌套两个次数分别为 n−2 和 n+1 的循环即可。

10
assign 2 1
dec 2
dec 2
new 4
dec 1
assign 3 2
dec 3
new 4
ifneq 3 5 goto 7
iftry 1 goto 5

Task 6

输出\(n+2000\)

很显然,\(n+2000=n+2*10*10*10\),相乘即可。

24
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 2
dec 3
dec 3
dec 4
assign 5 8
dec 5
assign 6 8
dec 6
assign 7 8
dec 7
new 9
ifneq 7 2 goto 19
ifneq 6 2 goto 17
ifneq 5 2 goto 15
ifneq 3 4 goto 13

Task 7

输出\(n+\lfloor\log_{2}{n}\rfloor\)

我们让一个变量的初始值设为2,每次都让这个变量 \(p=p\times 2\),令n+1。我们同时可以定义一个计数器,让他初始值为n,如果n为0就跳出循环(iftry)。

13
dec 4
dec 4
dec 1
dec 1
assign 5 4
assign 7 100
dec 5
dec 7
dec 1
ifneq 4 7 goto 7
assign 4 5
new 101
iftry 1 goto 5

Task 8

输出\(n + (n\bmod 2) + 1\)

获取n mod 2的方法我在一道蓝题题解已经说过了。这里不再赘述,详细去看洛谷P2261 [CQOI2007] 余数求和
这道题。

6
dec 1
dec 1
iftry 1 goto 1
new 101
dec 2
ifeq 1 2 goto 4

Task 9

输出\(n + gcd(n-4) + 1\)

\[gcd(n, n-4) = \begin{cases} 1 & n \bmod 4 = 1 \lor 3\\ 2 & n \bmod 4 = 2\\ 4 & n \bmod 4 = 0 \end{cases} \]

很明显,只需要使用Task 8的操作就好了。

18
dec 1
dec 1
dec 1
dec 1
assign 2 1
dec 2
iftry 2 goto 1
dec 3
dec 3
assign 4 3
dec 4
dec 4
new 101
new 101
dec 1
dec 1
ifeq 1 4 goto 14
ifeq 1 3 goto 13

Task 10

输出一个满足 \(|x-n\ln n|\le 30\) 的正整数 \(x\)

因为\(y = n \ln n\)\(y = \frac{13n}{3}\)特别相似,所以我们可以直接让n增加\(\frac{10n}{3}\)。此时外面的\(3n\)可以嵌套,里面的\(\frac{n}{3}\)可以让\(p_{1}\)每次减去3得到近似值。

14
dec 2
dec 2
dec 2
dec 3
assign 4 1
new 101
dec 4
ifneq 4 100 goto 6
ifneq 2 3 goto 4
new 101
dec 1
dec 1
dec 1
iftry 1 goto 10

提交

在洛谷提交的时候注意把文件命名为1.out ~ 10.out,然后打包成.zip格式再通过文件提交给洛谷。这道题很费时间,但是整出来还是挺有成就感的。

恭喜AC!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920828.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 地坪研磨机厂家推荐权威推荐排行榜:品牌深度解析及格力 / 宁德时代合作案例速递水磨石/遥控式/座驾式/小型地坪研磨机厂家推荐

伴随城市更新与智能制造升级,环氧地坪、固化混凝土等工程对研磨设备的精度、效率与稳定性提出严苛要求,地坪研磨机市场需求年均复合增长率达 3.5%。但市场中产品质量悬殊,动力不足、精度偏差、售后滞后等问题频发,…

太原网站建设 网站制作wordpress3.9主题

一、仅需实现在线预览&#xff0c;且文件地址公网可访问 &#xff08;一&#xff09;微软office免费预览&#xff08;推荐&#xff09; 支持doc/docx/xls/xlsx/ppt/pptx等多种office文件格式的免费预览 //示例代码//​在https://view.officeapps.live.com/op/view.aspx?src…

中国工信备案查询网站免费自动刷访客量

traceroute 是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute 的原理是试图以最小的TTL发出探测包来跟踪数据包到达目标主机所经过的网关&#xff0c;然后监听一个来自网关ICMP的应答。发送数据包的大小默认为 38个字节。 通过traceroute我们可以知…

2025 年最新推荐铝塑膜源头厂家权威排行榜:聚焦 3000㎡厂房与完整产业链的优质企业盘点复合/防锈防潮/木箱包装/设备包装铝塑膜厂家推荐

在当前工业包装领域,铝塑膜因高阻隔、耐穿刺、密封性强等特性,已成为木箱包装、货运物流、化工储存等行业长途运输与长期保存货物的核心材料。但市场现状却不容乐观,大量厂家存在基材质量差、工艺精度低、定制能力弱…

2025 年真空袋生产厂家最新权威推荐排行榜:TOP 级企业工艺、服务及适配场景全景对比指南木箱/设备/海运防潮/铝塑/电柜真空袋厂家推荐

在工业产品仓储运输环节,包装防护失效引发的问题日益凸显 —— 潮湿导致精密部件锈蚀、穿刺造成化工原料泄漏、密封不佳引发货物变质,不仅带来直接经济损失,更严重影响供应链稳定性。当前市场上真空袋厂家工艺水平悬…

《码界飞升传II:数据星辰异界问道》

【第一卷大数据筑基】 第1章:HDFS剑阵!分布式存储定乾坤 第2章:YARN御兽!资源调度的万兽谱 第3章:MapReduce证道!分而治之的无上心法 第4章:Hive悟道!SQL化繁为简的通天梯 【第二卷NoSQL风云】 第5章:HBase觉…

Win FAQ

Win11 FAQ win11 在白色编辑区域鼠标光标消失不见 win+r调用命令窗口,输入control硬件和声音,点击鼠标鼠标属性->指针->文本选择,选择如图所示beam_r.cur,然后应用

结论(数学)

对于已知函数 \(f(x)\) 和已知直线 \(g(x)=kx+b\),当 \(f(x_0)-g(t_0)\) 取到最小值或最大值时存在 \(h(x)=kx+b_1\) 与 \(f(x)\) 相切于横坐标为 \(t\) 的点。

昆山做网站费用黄岩网站建设

java读取操作系统环境变量import java.util.*;import java.io.*;class SysProb{//返回当前系统变量的函数&#xff0c;结果放在一个Properties里边&#xff0c;这里只针对win2k以上的&#xff0c;其它系统可以自己改进public Properties getEnv() throws Exception{Properties …

网站推荐免费的创意logo一键生成器软件免费

[html] 怎样避免让用户看到长时间的白屏&#xff1f; 我觉得&#xff0c;实际解决办法需要结合用户体验和性能优化这两个指标来说&#xff1a;1、用户体验可以使用骨架屏来减少页面白屏&#xff0c;骨架屏也具有更好的loading效果。2、假如1个页面里面有很多很多网络请求&…

郴州网站设计欧美一级A做爰片成电影网站

随着 React 19 的发布即将到来&#xff0c;它承诺带来一些令人期待的新功能。这个版本不仅仅是又一个更新&#xff0c;而是被寄予厚望&#xff0c;将重新定义我们对待 React 代码的方式。承诺提供增强的速度、效率和更流畅的编码体验&#xff0c;React 19 正准备将 Web 开发提升…

检察网站建设请示wordpress 模板 设计

2.1.1 IoC是什么 Ioc—Inversion of Control&#xff0c;即“控制反转”&#xff0c;不是什么技术&#xff0c;而是一种设计思想。在Java开发中&#xff0c;Ioc意味着将你设计好的对象交给容器控制&#xff0c;而不是传统的在你的对象内部直接控制。如何理解好Ioc呢&#xff1…

loki收集容器日志

Loki介绍Loki 是 Grafana Labs 开源的日志聚合系统,常被称为 “日志界的 Prometheus”。它的设计理念是只索引元数据,不索引完整日志内容,结合 Promtail 和 Grafana,就能实现高效的日志采集、存储与可视化。与传统…

Xcode 火焰图

Xcode - > open developer tool -> time profile -> target -> protile 如果没有符号化,多试几次 判断力是一个人最重要的能力

完整教程:Nginx反向代理与缓存功能

完整教程:Nginx反向代理与缓存功能2025-09-28 16:18 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !imp…

完整教程:dlib库关键点定位和疲劳检测

完整教程:dlib库关键点定位和疲劳检测pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Mon…

网站改版对优化的影响福建省住房和城乡建设厅的网站

MySQL大事务可能会导致过多的占用临时文件&#xff0c;导致磁盘空间撑满的问题 本例说明下binlog cache产生的临时文件 案例复现 调小binlog_cache_size&#xff0c;让DML使用临时文件 使用存储过程模拟大事务 创建表 create table t1( id int AUTO_INCREMENT, name varchar…

2025 长沙美食餐厅权威推荐排行榜:老店红记领衔新晋品牌,200 + 湘味与网红菜品深度解析,吃货必藏指南长沙美食湘菜馆 /大排档/网红店餐厅推荐

长沙餐饮市场在 “网红经济” 与 “传统坚守” 的碰撞中持续升温,却也暗藏选择困境:部分老店虽有口碑但创新不足,新兴品牌中不乏跟风炒作、食材劣质的 “短命网红”,更有商家混用预制菜、忽视食品安全,让消费者难…

千图app的下载方式搜索引擎优化推广

文章目录 1. python图形界面开发1.1. Python图形界面开发——Tkinter1.2. Python图形界面开发——PyQt1.3. Python图形界面开发——wxPython1.4. Python图形界面开发—— PyGTK&#xff1a;基于GTK1.5. Python图形界面开发—— Kivy1.6. Python图形界面开发——可视化工具1.7. …

长春网站制作教程app商城系统

转载自 Spring Boot国际化支持本章将讲解如何在Spring Boot和Thymeleaf中做页面模板国际化的支持&#xff0c;根据系统语言环境或者session中的语言来自动读取不同环境中的文字。 国际化自动配置 Spring Boot中已经对国际化这一块做了自动配置。 国际化自动配置类&#xff1a;o…