P7441 「EZEC-7」Erinnerung

news/2024/10/27 18:33:22/

「EZEC-7」Erinnerung

题目描述

小 Y 和小 Z 都是生活在 Arcaea Offline 的精灵。小 Y 有无数片落叶,其中第 i i i 片落叶的价值为 C i C_i Ci。小 Z 有无数片雪花,其中第 i i i 片雪花的价值为 E i E_i Ei。经过小 X 的仔细观察,他发现 C C C E E E 满足特殊的条件:

C i = { x × i ( x × i ≤ K ) − K otherwise C_i= \begin{cases} x\times i& (x\times i\le K)\\ -K& \text{otherwise} \end{cases} Ci={x×iK(x×iK)otherwise
E i = { y × i ( y × i ≤ K ) − K otherwise E_i= \begin{cases} y\times i& (y\times i\le K)\\ -K& \text{otherwise} \end{cases} Ei={y×iK(y×iK)otherwise

小 Y 和小 Z 可以对这些落叶和雪花进行一些操作。每次,他们会选择满足价值之和 ≥ K \ge K K 的一片落叶和一片雪花,然后让把它们一同组成一段彩色的回忆(Erinnerung)。之后,这片雪花和这片落叶就消失不见了,之后的操作也不能再用到这片雪花和落叶了。

小 X 想知道,他们最多能进行多少次操作。

输入格式

本题有多组数据。

第一行一个整数 T T T,表示数据的组数。

接下来 T T T 行,每行三个非负整数 x , y , K x,y,K x,y,K

输出格式

对于每组数据,输出一个整数,代表最多能有多少次操作。每组数据的答案用一个换行符隔开。

样例 #1

样例输入 #1

2
2 3 10
2 4 11

样例输出 #1

3
2

样例 #2

样例输入 #2

1
0 0 1

样例输出 #2

0

提示

【数据范围】

  • Subtask 1(30 points): x , y , K , T ≤ 10 x,y,K,T\le 10 x,y,K,T10
  • Subtask 2(70 points):无特殊限制。

对于 100 % 100\% 100% 的数据,满足 0 ≤ x , y ≤ 1 0 10 0\le x,y\le 10^{10} 0x,y1010 1 ≤ K ≤ 1 0 10 1\le K\le 10^{10} 1K1010 1 ≤ T ≤ 1 0 5 1\le T\le 10^5 1T105

题解:

这道题我最开始的想法是枚举的,但是一看这数据量就知道这肯定有规律。于是就去看这个规律,那些大佬总结的我看的不是很懂,我讲讲我写的,

C数组大概是这样的

x 2x 3x … -k -k

E数组大概是这样的

y 2y 3y … -k -k

那么要是匹配的话最好就是从一个的最大开始,去对面找到最小可以匹配的数,枚举行不懂我们来看看数学规律。

假设最后一个为 nx,nx到k有多少呢,

k%x对吧,

那么对面大于k%x的最小数的系数是什么呢,

k%x/y对吧,

往后的都可以匹配那么就有 k/y-k%x/y个

但是要注意两边的个数是不等的,要取最小值

就有了 min(k / y - k % x / y, k / x - k % y / x)

然后呢要注意x,y为0的情况,还有就是x或y的倍数刚刚好就是k的时候

还有呢要注意开long long

好了上代码

#include <bits/stdc++.h>
using namespace std;
long long t, x, y, k;
int main()
{cin >> t;while (t--){cin >> x >> y >> k;if (x != 0 && y != 0)cout << min(k / y - k % x / y, k / x - k % y / x) << endl;else if (x == 0  && y != 0 && k % y == 0)cout << 1 << endl;else if (y == 0  && x != 0 && k % x == 0)cout << 1 << endl;else cout << 0 << endl;}return 0;
}

http://www.ppmy.cn/news/154157.html

相关文章

ACER 4741G 笔记本刷1.31版bios黑屏,救砖处理

闲置很久的笔记本&#xff0c;闲来无事升级一下硬件&#xff0c;办公使用&#xff0c;网上看到&#xff0c;光驱位改硬盘需要升级bios&#xff0c;找到最新的1.31版&#xff0c;win7系统下运行升级程序后出现错误&#xff0c;结果黑屏成砖T.T 由于笔记本太老了&#xff0c;网上…

自考系列-4741计算机网络原理1

1.1 信息 信息&#xff1a;信息是当今世界最重要的资源之一&#xff0c;它与物质及能源一起构成了三大资源支柱。与其它两类资源相比&#xff0c;信息资源最显著的特点是它在使用的过程中非但不会被消耗&#xff0c;反而会通过交流与共享得到增值。 1.1.1计算机网络的产生与发…

笔记本(宏基4741G)升级为固态硬盘

终于下了很大决心把笔记本的机械硬盘换成固态硬盘&#xff0c;这是半个月多之前的事了&#xff0c;现在看来它运行良好&#xff0c;速度真不错。 原因&#xff1a; 之前有两个朋友买过&#xff0c;感觉效果不错&#xff1b; 在新公司里&#xff0c;装个大软件就费去了半天时间&…

如何准备一场面试

目录 一、心理准备1、内心的答案2、表述的答案 二、简历准备三、知识准备&面试流程1、一面&#xff1a;技术面2、二面&#xff1a;BOSS面3、终面&#xff1a;HR面 四、面试的技巧有哪些1、自信2、真诚3、主动4、复盘 五、补充&#xff1a;其他面试内容1、逻辑思维2、技术开…

【探索】在 JavaScript 中使用 C 程序

JavaScript 是个灵活的脚本语言&#xff0c;能方便的处理业务逻辑。当需要传输通信时&#xff0c;我们大多选择 JSON 或 XML 格式。 但在数据长度非常苛刻的情况下&#xff0c;文本协议的效率就非常低了&#xff0c;这时不得不使用二进制格式。 去年的今天&#xff0c;在折腾…

佳能g3800打印机黄灯和绿灯交替闪是什么情况?

故障原因&#xff1a;打印机清洁单元电机故障。 解决方法&#xff1a; 1、关闭打印机&#xff0c;先按【停止】键&#xff0c;然后紧接着按【电源】键。(两个按键都不要松开) 2、当电源灯点亮时&#xff0c;不要松开【电源】键的同时&#xff0c;松开【停止】按键 3、按【停…

照片的35x45,300dpi怎么弄

做技术的难免会遇到一些杂活 一个35x45的照片&#xff0c;300dpi&#xff0c;要改为34x39&#xff0c;300dpi的图片。好像不太会&#xff0c;不过这样子弄。叫对方不要用微信发照片&#xff0c;微信强制会把照片改为96dpi&#xff0c;宽高都变了1个像素&#xff0c;因此照片压缩…

佳能Canon imageRUNNER ADVANCE DX C3725 一体机驱动

佳能Canon imageRUNNER ADVANCE DX C3725 一体机驱动是官方提供的一款一体机&#xff08;打印、扫描&#xff09;驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决一体机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP …