P8925 「GMOI R1-T2」Light

让我们好好观察样例解释的这一张图:

左边第 \(1\) 个像到 \(O\) 点的距离 :\(L\times2=2L\)

右边第 \(1\) 个像到 \(O\) 点的距离 :\(R\times2=2R\)

左边第 \(2\) 个像到 \(O\) 点的距离 :右边第 \(1\) 个像到达 \(L\) 的距离是 \(2R+L\) 。而这样子距离 \(O\) 还差一个 \(L\) ,最终结果就是 \(2L+2R\)

右边第 \(2\) 个像到 \(O\) 点的距离 :同理可得 \(2R+2L\)

递推得到:

左边第 \(n\) 个像到 \(O\) 点的距离 :右边第 \(n-1\) 个像到 \(O\) 点的距离加上 \(2L\)

右边第 \(n\) 个像到 \(O\) 点的距离 :左边第 \(n-1\) 个像到 \(O\) 点的距离加上 \(2R\)

然后我们打出一张表:

左边第 \(n\) 个像到 \(O\) 点的距离 右边第 \(n\) 个像到 \(O\) 点的距离
\(1\) \(2L+0R\) \(2R+0L\)
\(2\) \(2L+2R\) \(2R+2L\)
\(3\) \(4L+2R\) \(4R+2L\)
\(4\) \(4L+4R\) \(4R+4L\)

最后找一找系数的规律:

对于左边第 \(n\) 个像到 \(O\) 点的距离,\(L\) 的系数是 \(2,2,4,4...\) ,很明显两个一周期。利用向下取整的特性,得到式子:

\[\lfloor\frac{n+1}{2}\rfloor\times2
\]

\(R\) 的系数是 \(0,2,2,4...\) ,除了第一个外,两个一周期,也可以利用向下取整的特性,得到式子:

\[\lfloor\frac{n}{2}\rfloor\times2
\]

最后再乘以各项变量就行了:

\[\lfloor\frac{n+1}{2}\rfloor\times2L+\lfloor\frac{n}{2}\rfloor\times2R
\]

注意,由于算的是距离,最后的答案需要取相反数输出:

\[-(\lfloor\frac{n+1}{2}\rfloor\times2L+\lfloor\frac{n}{2}\rfloor\times2R)
\]

对于右边第 \(n\) 个像到 \(O\) 点的距离,同理得到:

\[\lfloor\frac{n+1}{2}\rfloor\times2R+\lfloor\frac{n}{2}\rfloor\times2L
\]

AC代码:

#include <bits/stdc++.h>
using namespace std;
long long t,l,r;
int main()
{
scanf("%lld",&t);
scanf("%lld%lld",&l,&r);
for(long long i=0;i<t;i++)
{
char a;
long long b;
getchar();
scanf("%c%lld",&a,&b);
if(a=='L')printf("%lld\n",-(b+1)/2*2*l-b/2*2*r);
else if(a=='R')printf("%lld\n",(b+1)/2*2*r+b/2*2*l);
}
return 0;
}

AC记录

Luogu P8925 「GMOI R1-T2」Light 题解的更多相关文章

  1. Luogu P5103 「JOI 2016 Final」断层 树状数组or线段树+脑子

    太神仙了这题... 原来的地面上升,可以倒着操作(时光倒流),转化为地面沉降,最后的答案就是每个点的深度. 下面的1,2操作均定义为向下沉降(与原题意的变换相反): 首先这个题目只会操作前缀和后缀,并 ...

  2. Luogu P4016 「 网络流 24 题 」负载平衡问题

    吐槽题目难度,这个题建模好像比前两个都要难,但是难度评级却比第二个要低. 解题思路 依旧是考虑如何建模和建立源点汇点.每个点的货物数量到最后都一样的话肯定是等于他们的平均值.用 $num$ 数组存储原 ...

  3. Luogu P4014 「 网络流 24 题 」分配问题

    解题思路 还是建立超级源点和超级汇点,又因为题目给出规定一个人只能修一个工件,所以建图的时候还要讲容量都设为$1$. 人的编号是$1\rightarrow n$,工件的编号是$n+1\rightarr ...

  4. 「JOI Open 2022」Giraffes 题解

    设我们将要给出的观感好的排列为 \(q\),我们希望求出 \(\sum[p_i=q_i]\) 的最大值(这里指不移动的长颈鹿个数). 结论一:当且仅当左右端点有当前区间最大值或者最小值时条件才能成立. ...

  5. Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算)

    Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算) Description T 公司发现其研制的一个软件中有 n 个错误,随即为该软件发放 ...

  6. Libre 6007 「网络流 24 题」方格取数 / Luogu 2774 方格取数问题 (网络流,最大流)

    Libre 6007 「网络流 24 题」方格取数 / Luogu 2774 方格取数问题 (网络流,最大流) Description 在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数.现要从 ...

  7. Libre 6006 「网络流 24 题」试题库 / Luogu 2763 试题库问题 (网络流,最大流)

    Libre 6006 「网络流 24 题」试题库 / Luogu 2763 试题库问题 (网络流,最大流) Description 问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同 ...

  8. Libre 6005 「网络流 24 题」最长递增子序列 / Luogu 2766 最长递增子序列问题(网络流,最大流)

    Libre 6005 「网络流 24 题」最长递增子序列 / Luogu 2766 最长递增子序列问题(网络流,最大流) Description 问题描述: 给定正整数序列x1,...,xn . (1 ...

  9. Luogu 2764 最小路径覆盖问题 / Libre 6002 「网络流 24 题」最小路径覆盖 (网络流,最大流)

    Luogu 2764 最小路径覆盖问题 / Libre 6002 「网络流 24 题」最小路径覆盖 (网络流,最大流) Description 给定有向图G=(V,E).设P是G的一个简单路(顶点不相 ...

  10. Luogu 2762 太空飞行计划 / Libre 6001 「网络流 24 题」太空飞行计划 (网络流,最大流)

    Luogu 2762 太空飞行计划 / Libre 6001 「网络流 24 题」太空飞行计划 (网络流,最大流) Description W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行 ...

随机推荐

  1. 🎀Idea序列图插件-SequenceDiagram Core

    简介 SequenceDiagram Core 是一个 IntelliJ IDEA 插件,它允许开发者直接在 IDE中创建和编辑序列图(Sequence Diagrams).序列图是 UML(统一建模 ...

  2. SpringBoot的自动装配原理

    Spring Boot 的自动装配(Auto-Configuration)是其核心特性之一,它极大地简化了Spring应用的配置过程. import org.springframework.boot. ...

  3. 特殊符号大全,特殊字符、emoji符号收藏,可复制直接使用

    收藏包含:特殊符号.emoji符号.编号序号.数学符号.上标下标.标点符号.货币符号.箭头符号.国旗符号等 ❥웃유☮☏☢☠♚▲♪✞÷↑↓◆◇⊙■□△▽¿─│❣♂♀☿Ⓐ✍☣☤✘☒♛▼♫⌘☪≈←→◈◎☉★ ...

  4. requirejs的简单使用,requirejs报错Uncaught Error: Mismatched anonymous define() module: …

    requirejs的简单使用 define()方法的3个参数: 参数1为模块名称(不填则以当前js的文件名定义一个匿名模块), 参数2为依赖项数组(可不填), 参数3为模块的实现 引入jQuery: ...

  5. Lucas 定理简单证明

    前言 Oi wiki 和网上博客的证明都没完全看懂,最后还是自己推出来的..这里记录一下思路. Lucas 定理 对于质数 \(p\),$${n\choose m}\bmod p={\lfloor n ...

  6. 【MOOC】北京理工大学Python网络爬虫与信息提取慕课答案-综合挑出了一些很难评的慕课测验题

    1 Requests库中的get()方法最常用,下面哪个说法正确?‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪ ...

  7. JAVA 用时间生成主键ID

    /** * 生成主键(19位数字) * 主键生成方式,年月日时分秒毫秒的时间戳 例如:1810311557430000845 */ public static synchronized Long ge ...

  8. Git 中的“撤销”

    (1)当commit 完后,发现少add几个文件,可以: $ git commit -m 'initial commit' $ git add forgotten_file $ git commit ...

  9. 那些年的鸡汤&&毒鸡汤

    既然一定有人会赢,那凭什么不能是我? 既然我想赢得更漂亮,为什么不竭尽全力? 既然是竭尽全力,为什么还要找任何借口来拖延,为什么不在此刻就开始? 一时兴起的踌躇满志没什么了不起,每天都在坚持着进步才是 ...

  10. Palindrome Number——LeetCode进阶路⑨

    //原题链接https://leetcode.com/problems/palindrome-number/ 题目描述 Determine whether an integer is a palind ...