LuoguP7441 「EZEC-7」Erinnerung 题解
Content
给定 \(x,y,K\)。定义两个数列 \(c,e\),其中 \(c_i=\begin{cases}x\cdot i&x\cdot i\leqslant K\\-K&\text{otherwise}\end{cases}\),\(e_i=\begin{cases}y\cdot i&y\cdot i\leqslant K\\-K&\text{otherwise}\end{cases}\)。每次操作从两个数列中各选取一个数,满足两个数之和 \(\geqslant K\)。一个数选取了之后不能再重复取。问你一共能进行多少次操作。
数据范围:\(t\) 组数据,\(1\leqslant t\leqslant 10^5\),\(0\leqslant x,y\leqslant 10^{10}\),\(1\leqslant K\leqslant 10^{10}\)。
Solution
不难发现,如果 \(x,y\neq0\),那么答案必定是 \(\min\{\left\lfloor\dfrac Kx\right\rfloor,\left\lfloor\dfrac Ky\right\rfloor\}\)。
证明:
(1) \(y\geqslant x\),则对于 \((c_n,e_1)\) 这一对数(\(n\) 表示能够使 \(c_i\geqslant 0\) 成立的最大的 \(i\)),因为 \(c_n+x\geqslant K\),而 \(y\geqslant x\),所以必然有 \(c_n+e_1=c_n+y\geqslant K\)。后面的 \((c_{n-1},e_2),\dots\) 也显然成立。
(2)\(y\leqslant x\),则对于 \((c_1,e_m)\) 这两对 (\(m\) 含义类比于上面的 \(n\)),因为 \(e_m+y\geqslant K\),而 \(x\geqslant y\),所以必然有 \(c_1+e_m=e_m+x\geqslant K\)。后面的 \((c_2,e_{m-1}),\dots\) 也显然成立。
证明完之后我们再来看看 \(x,y\) 中至少有一个等于 \(0\) 时的情况:
(1)\(x,y\) 中有且仅有一个等于 \(0\)。则我们需要看是否有 \(\max\{x,y\}\mid K\),如果有的话,那我们可以拿一个 \(K\) 和 \(0\) 组成一对,这对数的和恰好等于 \(K\),此时答案为 \(1\);否则,答案为 \(0\)。
(2)\(x,y\) 都等于 \(0\),显然,由于 \(K\geqslant 1\),且无法选出一对数使得它们的和为正整数,所以答案为 \(0\)。
分类讨论完这些情况后,代码就不难打了。
Code
int main() {
MT {
ll x = Rll, y = Rll, k = Rll;
if(!x && y && !(k % y)) puts("1");
else if(!y && x && !(k % x)) puts("1");
else write(min((!x ? 0 : k / x), (!y ? 0 : k / y))), puts("");
}
return 0;
}
LuoguP7441 「EZEC-7」Erinnerung 题解的更多相关文章
- 「GXOI / GZOI2019」简要题解
「GXOI / GZOI2019」简要题解 LOJ#3083. 「GXOI / GZOI2019」与或和 https://loj.ac/problem/3083 题意:求一个矩阵的所有子矩阵的与和 和 ...
- loj#2054. 「TJOI / HEOI2016」树
题目链接 loj#2054. 「TJOI / HEOI2016」树 题解 每次标记覆盖整棵字数,子树维护对于标记深度取max dfs序+线段树维护一下 代码 #include<cstdio> ...
- 【题解】#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT)
[题解]#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT) 之前做这道题不理解,有一点走火入魔了,甚至想要一本近世代数来看,然后通过人类智慧思考后发现, ...
- 洛谷比赛 「EZEC」 Round 4
洛谷比赛 「EZEC」 Round 4 T1 zrmpaul Loves Array 题目描述 小 Z 有一个下标从 \(1\) 开始并且长度为 \(n\) 的序列,初始时下标为 \(i\) 位置的数 ...
- 「POJ 3666」Making the Grade 题解(两种做法)
0前言 感谢yxy童鞋的dp及暴力做法! 1 算法标签 优先队列.dp动态规划+滚动数组优化 2 题目难度 提高/提高+ CF rating:2300 3 题面 「POJ 3666」Making th ...
- LOJ #2542. 「PKUWC 2018」随机游走(最值反演 + 树上期望dp + FMT)
写在这道题前面 : 网上的一些题解都不讲那个系数是怎么推得真的不良心 TAT (不是每个人都有那么厉害啊 , 我好菜啊) 而且 LOJ 过的代码千篇一律 ... 那个系数根本看不出来是什么啊 TAT ...
- LOJ #2802. 「CCC 2018」平衡树(整除分块 + dp)
题面 LOJ #2802. 「CCC 2018」平衡树 题面有点难看...请认真阅读理解题意. 转化后就是,给你一个数 \(N\) ,每次选择一个 \(k \in [2, N]\) 将 \(N\) 变 ...
- LOJ #2541. 「PKUWC 2018」猎人杀(容斥 , 期望dp , NTT优化)
题意 LOJ #2541. 「PKUWC 2018」猎人杀 题解 一道及其巧妙的题 , 参考了一下这位大佬的博客 ... 令 \(\displaystyle A = \sum_{i=1}^{n} w_ ...
- LOJ #2540. 「PKUWC 2018」随机算法(概率dp)
题意 LOJ #2540. 「PKUWC 2018」随机算法 题解 朴素的就是 \(O(n3^n)\) dp 写了一下有 \(50pts\) ... 大概就是每个点有三个状态 , 考虑了但不在独立集中 ...
随机推荐
- 多线程06.thread守护线程
package chapter2; public class Demo02 { public static void main(String[] args) { Thread th1=new Thre ...
- CODING 代码资产安全系列之 —— 构建全链路安全能力,守护代码资产安全
本文作者:王振威 - CODING 研发总监 CODING 创始团队成员之一,多年系统软件开发经验,擅长 Linux,Golang,Java,Ruby,Docker 等技术领域.近两年来一直在 COD ...
- Codeforces 923E - Perpetual Subtraction(微积分+生成函数+推式子+二项式反演+NTT)
Codeforces 题目传送门 & 洛谷题目传送门 神仙题 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 首先考虑最朴素的 \(dp\),设 \(dp_{z,i}\) 表示经 ...
- 搜索工具Wox简单使用
目录 下载安装 几个常用命令 自定义 Wox是快速搜索小工具,内置了everything(需要先安装),但比everything好用.不止是搜文件,网页.系统等都可以快速搜索,还可以自定义. 下载安装 ...
- Linux— 查看系统的位数
[root@zf-test-web01-4 ~]# file /bin/ls #"/bin/ls" is a binary file /bin/ls: ELF ...
- EXCEL-排名前三名显示小红旗,后三名显示小黑旗
总结(用的WPS):第一步:用=IF(RANK(数值,引用范围) <=3,"小红旗",IF(RANK(数值,引用,1) <=3,"小黑旗",&quo ...
- LATEX公式语法
see how any formula was written in any question or answer, including this one, right-click on the ex ...
- 使用C语言来扩展PHP,写PHP扩展dll
转自http://www.cnblogs.com/myths/archive/2011/11/28/2266593.html 以前写过一次PHP扩展DLL,那个是利用调用系统的COM口实现的扩展,与P ...
- Spring Cloud 2021.0.0 正式发布,第一个支持Spring Boot 2.6的版本!
美国时间12月2日,Spring Cloud 正式发布了第一个支持 Spring Boot 2.6 的版本,版本号为:2021.0.0,codename 为 Jubilee. 在了解具体更新内容之前, ...
- dubbo 协议的 K8s pod 存活探针配置
背景 某项目采用微服务架构,dubbo 框架,K8s 方式部署. 其中 HTTP 协议由网关应用统一处理,大部分应用仅提供 dubbo 协议. 目标 应用某个实例(pod)状态异常时,尝试自动重启恢复 ...