# 「DROI」Round 2 构造与取模 ## 题目背景 与其编写苍白无力的背景,不如出更有质量的题。 ## 题目描述 对于整数 $n,k$,若存在**非负整数** $x$ 与 **正整数** $y$ 满足: $$x + y = n\ \land\ x \bmod y =k$$ 则我们称有序数对 $(x,y)$ 是 $n$ 的一个 **优秀拆分**(其中 $\land$ 是**并且**的意思)。 现给定非负整数 $n,k$,请你构造**任意**一组 $n$ 的优秀拆分,并分别输出你构造方
时间: 2023-07-29 16:12:14 浏览: 123
```cpp
#include <iostream>
using namespace std;
int main() {
int T;
cin >> T;
while (T--) {
long long n, k;
cin >> n >> k;
if (k > n) {
cout << "-1" << endl;
} else if (n == 0) {
if (k == 0) {
cout << "0 0" << endl;
} else {
cout << "-1" << endl;
}
} else if (n % (k + 1) == 0) {
cout << n / (k + 1) * k << " " << n / (k + 1) << endl;
} else {
cout << n % (k + 1) << " " << n / (k + 1) << endl;
}
}
return 0;
}
```
时间复杂度
对于每组数据,时间复杂度为 $O(1)$。因此总时间复杂度为 $O(T)$。
相关问题
实现3Droi膨胀操作
在计算机视觉领域,3D RoI (Region of Interest) 指的是在三维空间中的感兴趣区域。如果说到“膨胀”(通常是指膨胀操作),在3D场景下,这通常是针对3D bounding box (3DBB),即三维边界框。膨胀操作会增大原始3DBB的大小,以便包含更多的周围信息。
3D RoI膨胀一般通过增加边界框的半径或多边形体积来实现。例如,可以沿着每个轴方向扩大固定的距离,或者对每个面进行膨胀,使得相邻的像素也被包括进来。这一步常用于特征提取、物体检测等预处理阶段,以增强特征的描述性。
以下是简单的Python示例(假设使用PyTorch库):
```python
import torch
from torchvision.ops import box_iou
# 假设我们有一个3DBB列表
boxes = torch.tensor([[0, 0, 0, 1, 1, 1], [2, 2, 2, 3, 3, 3]]) # x, y, z, w, h, l (长度)
# 定义膨胀距离
dilation = 0.5
# 创建膨胀后的3DBB
expanded_boxes = boxes.clone()
expanded_boxes[:, 3:] += dilation * torch.tensor([1, 1, 1]) # 增加宽度、高度和长度
# 可能需要计算新的IOU(Intersection over Union)值,确认膨胀是否合理
iou = box_iou(boxes, expanded_boxes)
```
阅读全文