AtCoder Beginner Contest 335 C题 Loong Tracking

ABC335B - Tetrahedral Number 【代码】ABC335B - Tetrahedral Number。 阅读详情

C题:Loong Tracking

标签:思维、模拟
题意:平面坐标系上给定 N N N个点,编号为 1 1 1到 N N N,第 i i i个部分位于坐标 ( i , 0 ) (i,0) (i,0)处。进行 Q Q Q次操作,操作分为以下两种:
1 1 1 C C C:将头部朝 C C C方向移动 1 1 1, C C C是 R 、 L 、 U R、L、U R、L、U和 D D D中的一个,分别表示平面坐标系上的 x x x轴正方向、 x x x轴负方向、 y y y轴正方向、 y y y轴负方向。头部移动,其他部分也会跟着移动(类似贪吃蛇)。
2 2 2 p p p:找出原来第 p p p个部分现在的坐标。
( 2 < = N < = 1 0 6 , 1 < = Q < = 2 ∗ 1 0 5 ) (2<=N<=10^6, 1<=Q<=2*10^5) (2<=N<=106,1<=Q<=2∗105)
题解:把头部每次移动的坐标存一下,当头部第二次移动的时候,那原来第一次移动的位置就给了第二部分,以此类推,后面移动的时候都是紧跟着的。求第 p p p个部分的时候 分两种情况,一种是已经走上了头部走过的路,根据现在 头部移动的次数 c n t cnt cnt,那么第 p p p个部分是刚走到 c n t − p + 1 cnt-p+1 cnt−p+1之前头部走到的位置;一种是还在 y = 0 y=0 y=0的地方,根据现在 头部移动的次数 c n t cnt cnt,那第 p p p个部分往左移动到 ( p − c n t , 0 ) (p-cnt,0) (p−cnt,0)坐标。
代码:

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
ll n, q, op, p, cnt = 0;
ll x[200005], y[200005];

int main() {
    char c;
    x[0] = 1; y[0] = 0;
    cin >> n >> q;
    for (int i = 1; i <= q; i++) {
        cin >> op;
        if (op == 1) {
            cin >> c;
            cnt++;
            x[cnt] = x[cnt - 1]; y[cnt] = y[cnt - 1];
            if (c == 'U') y[cnt]++;
            if (c == 'D') y[cnt]--;
            if (c == 'L') x[cnt]--;
            if (c == 'R') x[cnt]++;
        }
        else {
            cin >> p;
            if (p <= cnt) cout << x[cnt - p + 1] << " " << y[cnt - p + 1] << endl;
            else {
                cout << p - cnt << " " << 0 << endl;
            }
        }
    }
    return 0;
}
ABC335C - Loong Tracking 【代码】ABC335C - Loong Tracking。 阅读详情

相关推荐

AC修炼计划(AtCoder Beginner Contest 335)E-F

A,B,C,D还算比较基础,没有什么思路,纯暴力就可以过。这里来总结一下E和F。

kyrietheshy的博客 668

AtCoder Beginner Contest 335 A-E 题解

AtCoder Beginner Contest 335 A-E 题解

超哥聊信奥 747

AtCoder ABC335 A-E题解

AtCoder ABC335 题解

seanli1008的博客 740

AtCoder Beginner Contest 335 B题 Tetrahedral Number

AtCoder Beginner Contest 335 B题 Tetrahedral Number

超哥聊信奥 960

5个4000比特大状态置换算法的设计与分析

下面是 5 个概念性、实验性的 4000 位可逆置换设计。它们都保证是双射,但未经过密码分析,不可直接用于生产系统。风格分别覆盖:三维 SPN、Feistel、可逆元胞自动机、ARX、宽轨迹/Keccak 式结构。 这 5 个设计分别代表了 SPN、Feistel、元胞自动机、ARX、宽轨迹 Keccak 五种不同风格,覆盖了主流大状态置换的构造思路。再次强调:它们只是实验性概念,若要用于实际协议,必须经过严格安全性分析。

HuangJinLong2的博客 341

【CSP-J/S初赛知识点整理】

CSP-J/S初赛知识点整理

qq_43884946的博客 1万+

Atcoder Beginner Contest 335 (A - F 题)

Atcoder Beginner Contest 335 的A到F题讲解

Edward Shi的博客 1576

告别版本冲突!在Ubuntu 20.04上优雅实现ROS Noetic与ROS2 Foxy双环境切换

本文详细介绍了在Ubuntu 20.04系统上实现ROS Noetic(ROS1)与ROS2 Foxy双环境共存与切换的完整方案。通过智能脚本设计和工作空间隔离,解决了版本冲突问题,帮助开发者高效管理不同ROS版本项目。特别适合需要同时开发ROS1和ROS2应用的机器人开发者。

weixin_28452161的博客 406

AtCoder Beginner Contest 335

如果我们把每个部分的坐标按顺序放在一个队列里,队尾是头部坐标,队头是尾部坐标,每次移动相当于一次出队和一次入队。,要求每个数字仅使用一次,且相邻数字的格子相邻,且正中间的格子不能是数字,而是。每移动一次,只有头部到了新的坐标,其他部分的坐标都变成前一个。的情况下,该边一定是无效的,所以我们只往图中添加。的边,注意这是一个无向图,所以需要判断正反两次。二维网格,贪吃蛇,移动,进行q次操作,分两种。的路径中,出现的不同颜色的个数最多是多少。,最后恰好到正中间,因此能恰好填满。,直接三层循环即可。

pystraf的博客 589

[AI] 本地部署 Dify 遇到 Internal Error?一文彻底解决密码不一致引发的问题

摘要:Dify本地部署常见InternalError错误主要由配置残留或密码不一致导致,特别是修改.env文件后未同步清除数据库记录。彻底解决方案包括:1)清理Docker数据;2)删除旧配置和数据库;3)还原源代码;4)重建.env文件;5)重新初始化部署。关键提醒:记录部署路径、备份.env文件并妥善保存密码。该错误本质是配置冲突,最有效方法是完全重置而非调试,保持清晰的部署管理可避免多数InternalError问题。(149字)

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 432

AtCoder Beginner Contest 335 D题 Loong and Takahashi

AtCoder Beginner Contest 335 D题 Loong and Takahashi

超哥聊信奥 518

【Linux】Windows11 安装 WSL2 并运行 Ubuntu 22.04 详细操作步骤

Windows 11 安装 WSL2 和 Ubuntu 22.04 指南 本文详细介绍在 Windows 11 上安装 WSL2 和 Ubuntu 22.04 的完整步骤,包括: WSL2 与 VirtualBox 的性能对比优势 系统版本检查与升级方法 两种安装方式(一键安装和手动安装) Ubuntu 22.04 的安装与配置 存储位置管理及迁移技巧 常用 WSL2 命令速查表 文章还提供了性能优化建议和常见问题解决方案,适合开发者和 Linux 爱好者快速搭建高效的开发环境。

No8g攻城狮的博客 2万+

AtCoder ABC 355 C(详细题解及AC代码)

二维转一维。

2301_76723927的博客 1014

C#上位机+国产PLC+AI:构建自主可控的智能生产线解决方案

全栈国产化智能产线方案并非遥不可及,基于成熟的国产硬件、丰富的.NET生态、快速发展的国产大模型,完全可以搭建出稳定可靠且具备智能能力的生产系统。落地建议采用三步走策略:基础国产化阶段:替换PLC与上位机,实现基础监控与控制功能,解决卡脖子问题,快速验证国产化方案稳定性数据沉淀阶段:完善数据采集与存储,建立设备台账、故障库、工艺库,积累高质量领域数据智能升级阶段:引入国产大模型与知识库,落地故障诊断、工艺优化、预测性维护等智能应用,持续提升产线效率。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 517

第十四节《OpenCascade集成Qt》

将 OpenCascade 与 Qt 集成是开发图形界面应用的常见需求。通过将 OpenCascade 的几何建模与 Qt 的图形用户界面(GUI)功能结合,可以创建强大而灵活的 CAD 或建模工具。OpenCascade 提供了与 Qt 的集成接口,允许你在 Qt 应用程序中嵌入 OpenCascade 的视图,执行几何操作,并与用户进行交互。以下是 OpenCascade 与 Qt 集成的详细步骤:首先,确保已安装 OpenCascade 和 Qt。你可以从 OpenCascade 官方网站或通过包管理

yumeiguo的博客 597

AtCoder Beginner Contest 184题解全

AtCoder Beginner Contest 184 题目链接:https://atcoder.jp/contests/abc184/tasks 类似于牛客小白月赛,建议萌新们去体验一下,顺便复习四六级~ 还是一样的,代码分成主体和头文件两部分,头文件在文末。 A - Determinant 给你一个2*2的矩阵,输出它的行列式。 著名dreemoon说过,ABC的A题都是printf题。 const int MXN = 1e5 + 5; int n, m; int a, b, c, d; void

打过ICPC/CCPC,学习ACM算法,Linux内核,Openharmony,加油努力开心珍惜 3180

【思考模型框架】采用双钻模型:发散(桌面研究/用户访谈)→收敛(需求归类/优先级排序),输出需求规格书、追踪矩阵及产品待办清单。

设计思维双钻模型是一种以用户为中心的需求管理方法,通过"发散-收敛"的双循环确保问题定位准确、方案切实可行。第一钻石(探索→定义)聚焦"找对问题",运用用户访谈、田野调查等方法挖掘真实需求;第二钻石(开发→交付)解决"做对方案",通过原型测试、A/B测试验证可行性。该模型强调低保真验证、多团队协作和真实用户测试,避免资源浪费与伪需求开发。典型应用场景包括产品功能优化、用户体验提升等需要精准落地的需求场景。核心价值在于建立从用户痛点到解决方案的可控闭

奶爸的编程之路,也就一周冷个三天 316

Codeforces Round #672 (Div. 2) A-D

A: 冒泡排序,最坏情况下严格递减,需要n*(n-1)/2次 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define re register #define ls (o<<1) #define rs (o<<1|1) #define pb push_back const double PI= acos(-1.0); const int M = 1e5+7; /* int

bjfu170203101的博客 360

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

AtCoder Beginner Contest 085 最后一题

em....atcoder beginner的题是真的挺水,稍微有一点点难度就最后两题,感觉不能ak都不好意思说出来。还是做一下总结吧,下一次努力ak!!! Katana Thrower:https://abc085.contest.atcoder.jp/tasks/abc085_d 题目大意我翻译过来是:给你n个工具,任一个工具可以选择“扔掉”和“擦掉”两种方式中的一种,擦掉的话可以重复利用

RockyHOO1209的博客 421

假人有限元模型

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

赛后总结AtCoder Beginner Contest 090(Beginner)

妈也,这些题目我竟然……做不出!!!???考时和平时是两、码、事!!! ——————————————————————————————————————————好了,让我们冷静地分析一下为什么会这样。[题意、题解分析来自网络][英语不好是个伤]a.3分钟。其实花了好久才看懂题面。 A题题解:直接输出左上对角线即可。b.12分钟。还好,达标。 B题题意:求给定区间中回文数的个数。 B题题解:暴力即可。c...

Eliza_Her的博客 374

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

算法日常・每日刷题--<动态规划>42

本题为“不相交的线”,与最长公共子序列问题相似。使用动态规划求解:定义 dp[i][j] 表示 nums1[0:i] 与 nums2[0:j] 的最大不相交连线数。若元素相等,则继承左上值加1;否则取上方或左方最大值。最终返回 dp[m][n],即两数组的最大不相交连线数。时间复杂度 O(mn),空间复杂度 O(mn)。

2503_92261635的博客 15

C语言程序设计题|有序数组插入数字冒泡排序

题目要求将一个数插入有序数组末尾,并用冒泡排序实现整体升序。代码先将输入数存入数组最后位置,再通过双重循环进行冒泡排序,每轮将较大元素向后移动,最终输出11个升序元素。该方法虽时间复杂度为O(n²),但符合题目要求,逻辑清晰,适合初学者理解排序原理。

2301_81429079的博客 437

【算法拾光】模拟|外观数列 + 数青蛙

本文总结两道模拟题解法:外观数列通过迭代统计连续数字个数生成下一项,关键在于处理末尾字符;数青蛙则模拟青蛙叫声“croak”状态转移,维护各阶段青蛙数量,记录最大并发数并确保全部完成。共性在于严格遵循流程、细致处理边界与非法情况,锻炼字符串遍历与状态管理能力。

wuqingyigexiaoba的博客 362

【数据结构-3】算法美学之降复杂度

在while循环的循环体内,首先用临时变量保存最后一个位置的数据,再通过for循环把所有元素往后移动一位,最后把tmp中保存的值放到下标为0的位置上去。方法二的思路是:创建新数组,让原数组中后k个数据移动到新数组中前面的位置,让原数组中前numsSize-k个数据移动到新数组中后面的位置,这。这段代码的思路是:三次逆置,第一次逆置前numsSize-k个数据,第二次逆置后k个数据,最后整体逆置。这篇博文分享一道解法不一的算法题,求解过程的目的在于降低算法的时间复杂度,题源力扣。,属于空间换时间的操作。

weixin_44218929的博客 77
上一篇: AtCoder Beginner Contest 335 A题 2023
下一篇: AtCoder Beginner Contest 335 B题 Tetrahedral Number
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值