P9713 「QFOI R1」抱抱 题解

Sol

前置知识:长方体体积公式:\(V = abh\)。

我们知道,切割掉 \(x \le k\) 的部分就是把 \(a\) 减去 \(k\),切割掉 \(y \le k\) 的部分就是把 \(b\) 减去 \(k\),切割掉 \(z \le k\) 的部分就是把 \(c\) 减去 \(k\)。但是这里要考虑重合的部分,比如切掉 \(x \le 3\) 的部分再切掉 \(x \le 5\) 的部分,那么第二次 \(a\) 只能减去 \(5 - 3 = 2\)。我们可以定义一个存 \(k\) 最大值的变量 \(maxa\),如果 \(maxa < k\),那么就减去 \(max(c - (k - maxa),\ 0)\),并把 \(maxa = k\)。每一次切割完后输出新的 \(a\),\(b\),\(c\) 相乘的结果即可。还有,一定要开 long long

code

#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring> using namespace std; using ll = long long; const int kMaxN = -1, kInf = (((1 << 30) - 1) << 1) + 1; ll a, b, c, m, op, k, maxa1, maxa2, maxa3;
// maxa1 存切割 a 时的 k,maxa2 存切割 b 时的 k,maxa3 存切割 c 时的 k int main() {
cin >> a >> b >> c >> m; // 输入 a, b, c, m
for (; m; -- m) { // 循环,等于 while (m --)
cin >> op >> k; // 输入 op, k
if (op == 1) { // 如果切割 a
(maxa1 < k) && (a = max(a - (k - maxa1), 0ll)) && (maxa1 = k);
// 如果没有重合的部分 > 0(k - maxa1),那么把 a 减去重合的部分(这里取 max 是因为不放心)并更新 maxa1
} else if (op == 2) {
(maxa2 < k) && (b = max(b - (k - maxa2), 0ll)) && (maxa2 = k);
// 如果没有重合的部分 > 0(k - maxa2),那么把 b 减去重合的部分(这里取 max 是因为不放心)并更新 maxa2
} else {
(maxa3 < k) && (c = max(c - (k - maxa3), 0ll)) && (maxa3 = k);
// 如果没有重合的部分 > 0(k - maxa3),那么把 c 减去重合的部分(这里取 max 是因为不放心)并更新 maxa3
}
cout << a * b * c << '\n'; // 输出 a * b * c(体积公式)
}
return 0;
}

P9713 「QFOI R1」抱抱 题解的更多相关文章

  1. 「POI2011 R1」Conspiracy

    「POI2011 R1」Conspiracy 解题思路 : 问题转化为,将点集分成两部分,其中一部分恰好组成一个团,其中另一部分恰好组成一个独立集. 观察发现,如果求出了一个解,那么答案最多可以在这个 ...

  2. 「GXOI / GZOI2019」简要题解

    「GXOI / GZOI2019」简要题解 LOJ#3083. 「GXOI / GZOI2019」与或和 https://loj.ac/problem/3083 题意:求一个矩阵的所有子矩阵的与和 和 ...

  3. LuoguP7127 「RdOI R1」一次函数(function) 题解

    Content 设 \(S_k\) 为直线 \(f(x)=kx+k-1\),直线 \(f(x)=(k+1)x+k\) 与 \(x\) 轴围成的三角形的面积.现在给出 \(t\) 组询问,每组询问给定一 ...

  4. loj#2054. 「TJOI / HEOI2016」树

    题目链接 loj#2054. 「TJOI / HEOI2016」树 题解 每次标记覆盖整棵字数,子树维护对于标记深度取max dfs序+线段树维护一下 代码 #include<cstdio> ...

  5. 【题解】#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT)

    [题解]#6622. 「THUPC 2019」找树 / findtree(Matrix Tree+FWT) 之前做这道题不理解,有一点走火入魔了,甚至想要一本近世代数来看,然后通过人类智慧思考后发现, ...

  6. 「POJ 3666」Making the Grade 题解(两种做法)

    0前言 感谢yxy童鞋的dp及暴力做法! 1 算法标签 优先队列.dp动态规划+滚动数组优化 2 题目难度 提高/提高+ CF rating:2300 3 题面 「POJ 3666」Making th ...

  7. [LOJ 2022]「AHOI / HNOI2017」队长快跑

    [LOJ 2022]「AHOI / HNOI2017」队长快跑 链接 链接 题解 不难看出,除了影响到起点和终点的射线以外,射线的角度没有意义,因为如果一定要从该射线的射出一侧过去,必然会撞到射线 因 ...

  8. Note -「动态 DP」学习笔记

    目录 「CF 750E」New Year and Old Subsequence 「洛谷 P4719」「模板」"动态 DP" & 动态树分治 「洛谷 P6021」洪水 「S ...

  9. LOJ #2542. 「PKUWC 2018」随机游走(最值反演 + 树上期望dp + FMT)

    写在这道题前面 : 网上的一些题解都不讲那个系数是怎么推得真的不良心 TAT (不是每个人都有那么厉害啊 , 我好菜啊) 而且 LOJ 过的代码千篇一律 ... 那个系数根本看不出来是什么啊 TAT ...

  10. 「AHOI / HNOI2017」影魔

    「AHOI / HNOI2017」影魔 题目描述 解决这类比较复杂的区间贡献问题关键在于找到计算的对象. 比如这道题,我们计算的对象就是区间中间的最大值. 对于点\(i\),我们找到左边第一个比他大的 ...

随机推荐

  1. 太喜欢啦,浏览器中的SQL神器:WhatTheDuck让CSV分析像聊天一样简单!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 基于DuckDB的轻量级Web应用 | 完全浏览器端运行 | 零数据泄露风险 | 支持复杂S ...

  2. RabbitMQ消息的生存时间TTL(Time To Live)

    目录 RabbitMQ消息的生存时间TTL MQ环境测试准备 代码实现 生产者 8080 测试 死信队列 自定义ttl消息 过期丢弃消息 总结 RabbitMQ消息的生存时间TTL TTL(Time ...

  3. 【MOOC】华中科技大学计算机组成原理慕课答案-第三章-运算方法与运算器

    待整理. 单选 1 原码除法是指 A. 操作数用绝对值表示,加上符号位后相除 √B. 操作数取绝对值相除,符号位单独处理 C. 操作数用原码表示,然后相除 D. 操作数用补码表示并进行除法,但商用原码 ...

  4. Docker手册

    docker手册 安装 # 移除旧版本dockersudo yum remove docker \                  docker-client \                  ...

  5. C++11——右值引用&完美转发

    总而言之,右值引用,完美转发,std::move()都是为了在程序运行过程中,避免变量多次重复的申请和释放内存空间,使用移动语义将申请的空间通过这几种方式进行循环使用,避免重新开辟新空间和拷贝浪费算力 ...

  6. 2025年Android面试题含答案

    今年过完年,毫无悬念,成了失业人员之一,于是各种准备面试.前后将近一个月时间,面试10几家公司,基本上80%的企业都拿到了offer.这里面基本上大部分都是小企业居多,少部分中厂,两三家大厂.我并没有 ...

  7. Django 中URL和Views相关知识梳理(极简版)

    提示:仅供梳理参考,很多相关的细节内容忽略. 1.URL  (1)URL匹配的规则是正则,关于正则不再赘述. (2)URL优先级顺序:从urlpatterns的底部开始搜索,一直往上搜索,需要注意的是 ...

  8. Go交叉编译

    #在Mac上编译linux平台应用 GOOS=linux GOARCH=amd64 go build hello.go #在Windows上编译linux平台应用(关闭CGO) CGO_ENABLED ...

  9. joomla4/5设置媒体管理可以上传word/pdf/zip/excel文档

    在默认情况下,如果需要在joomla媒体管理上传word,excel,zip文档会提示不支持的文件类型如图: 解决方案 我们需要进行设置.点击媒体组件右上角的选项按钮,进入到设置页面. 在设置页面里设 ...

  10. AI赋能文档创作:智能生成+云端下载,解锁高效办公新姿势

    一.写在前面 本文重点介绍如何将AI智能生成文字直接转换为word文档,支持下载提升大家学习和职场办公的效率. 二.Pandoc-api 服务 Pandoc是一个功能强大的文档转换工具,支持多种文档格 ...