Comet OJ - Contest #0 D 战术安排 dfs

本文针对竞赛题D进行了详细解析,提出了避免超时的剪枝策略,并通过维护8种做法的时间来解决问题,避免了常规DFS算法可能遇到的问题。

https://www.cometoj.com/contest/34/problem/D?problem_id=1476

思路:

为了预防超时(虽然感觉直接写dfs并不会超时),可以有以下两个剪枝:

1.若已知当前情况肯定不会比之前得到的最优答案更优,剪枝

2.可行性剪枝 0≤x,y,z≤180

两个点需要注意:

1.若第1题ab一起做60min,第二题bc一起做60min,第三题ac一起做60min,那么再来一道ac一起需要做60min的题则不能将这道题完成。

2.背景同上,若ab一起做60min,bc一起做60min,ac一起做60min,那么他们花费的总时间是180min而不是120min。

考虑到上述情况,所以不能按常规思维dfs

正确做法:维护8种做法(包含不做题的做法)每一种做法花费的时间。

代码:

 

 

 

more:

HDU6223

# YOLOv5 🚀 requirements # Usage: pip install -r requirements.txt # Base ------------------------------------------------------------------------ gitpython ipython # interactive notebook matplotlib>=3.2.2 numpy>=1.18.5 opencv-python>=4.1.1 Pillow>=7.1.2 psutil # system resources PyYAML>=5.3.1 requests>=2.23.0 scipy>=1.4.1 thop>=0.1.1 # FLOPs computation torch>=1.7.0 # see https://pytorch.org/get-started/locally (recommended) torchvision>=0.8.1 tqdm>=4.64.0 # protobuf<=3.20.1 # https://github.com/ultralytics/yolov5/issues/8012 # Logging --------------------------------------------------------------------- tensorboard>=2.4.1 # clearml>=1.2.0 # comet # Plotting -------------------------------------------------------------------- pandas>=1.1.4 seaborn>=0.11.0 # Export ---------------------------------------------------------------------- # coremltools>=6.0 # CoreML export # onnx>=1.9.0 # ONNX export # onnx-simplifier>=0.4.1 # ONNX simplifier # nvidia-pyindex # TensorRT export # nvidia-tensorrt # TensorRT export # scikit-learn<=1.1.2 # CoreML quantization # tensorflow>=2.4.1 # TF exports (-cpu, -aarch64, -macos) # tensorflowjs>=3.9.0 # TF.js export # openvino-dev # OpenVINO export # Deploy ---------------------------------------------------------------------- # tritonclient[all]~=2.24.0 # Extras ---------------------------------------------------------------------- # mss # screenshots # albumentations>=1.0.3 # pycocotools>=2.0 # COCO mAP # roboflow # ultralytics # HUB https://hub.ultralytics.com
05-25
### YOLOv5 的依赖库及其用途 YOLOv5 是一种高效的实时对象检测框架,其运行需要一系列 Python 库的支持。以下是 YOLOv5 中常见的依赖库以及它们的主要功能: #### 1. **torch** PyTorch 是 YOLOv5 的核心深度学习框架,用于构建和训练神经网络模型[^2]。 它提供了动态计算图支持,使得模型定义更加灵活。 ```python import torch print(torch.__version__) ``` #### 2. **numpy** NumPy 提供了高性能的数组操作能力,广泛用于数据预处理、后处理以及其他数值运算任务[^3]。 ```python import numpy as np arr = np.array([1, 2, 3]) print(arr) ``` #### 3. **opencv-python** OpenCV 被用来加载图像、视频流,并执行各种计算机视觉任务,例如图像增强、颜色转换等[^4]。 ```python import cv2 image = cv2.imread(&#39;example.jpg&#39;) cv2.imshow(&#39;Image&#39;, image) cv2.waitKey(0) ``` #### 4. **matplotlib** Matplotlib 主要用于可视化目的,比如绘制损失曲线或展示检测结果[^5]。 ```python import matplotlib.pyplot as plt plt.plot([1, 2, 3], [4, 5, 6]) plt.show() ``` #### 5. **tqdm** `tqdm` 可以显示进度条,在长时间运行的操作中提供直观反馈[^6]。 ```python from tqdm import tqdm for i in tqdm(range(100)): pass ``` #### 6. **pandas** Pandas 常被用作数据分析工具,特别是在评估阶段整理实验结果时非常有用[^7]。 ```python import pandas as pd df = pd.DataFrame({&#39;A&#39;: [1, 2], &#39;B&#39;: [3, 4]}) print(df) ``` #### 7. **scipy** SciPy 扩展了 NumPy 功能集,增加了更多科学计算方法,可能涉及距离度量或其他统计分析[^8]。 ```python from scipy.spatial.distance import euclidean dist = euclidean([1, 2], [4, 6]) print(dist) ``` #### 8. **tensorboard** TensorBoard 是 PyTorch 集成的一个日志记录工具,允许开发者监控训练过程中的指标变化情况[^9]。 ```bash pip install tensorboard ``` --- ### 总结 以上列举的是 YOLOv5 正常运作所需的关键第三方包集合。每项都有特定职责范围内的贡献,共同保障整个项目顺利实施完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值