Mathmen( WA 到绝望的水题 + 思维)

MobaXterm终端工具个人学习版安装包及常用配置备份 资源包含 MobaXterm 个人版的安装包以及日常运维常用的基础配置备份文件。适用于网络工程师及运维人员用于日常的服务器管理、SSH 连接及串口调试。 压缩包内附带了个人整理的软件使用技巧与配置说明(仅供个人学习参考)。请各位同行下载后注意,技术工具请尽量支持官方正版,本资源仅供个人测试与交流使用,切勿用于商业环境。 立即下载

一.题目链接:

Mathmen

二.题目大意:

题目长的让人绝望

有 n 个城市,给出这 n 个城市的位置.

每个城市都有 m 种船.

每种船有相应的最大里程 和 花费.

一个人从第一个城市出发,坐船去往其他城市,每到一个城市就要换一条船.

问最少花费是多少.

三.分析:

一开始没搞清楚关系,直接结构体排序 + 二分,然后成为了疯狂 WA 动机.

这题其实很水.

把相应的距离存起来 + 排序.

船存起来 + 结构体排序.

然后找就可以了(反着找).

因为如果 s[pos] 满足 dis[i],那么 s[pos] 也一定满足 dis[i - 1],所以开一个优先队列存结构体即可.

每次循环 ans 都加上优先队列顶部的花费.

四.代码实现:

#include <set>
#include <map>
#include <ctime>
#include <queue>
#include <cmath>
#include <stack>
#include <vector>
#include <cstdio>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#define eps 1e-4
#define PI acos(-1.0)
#define ll long long int
using namespace std;

const int M = (int)1e4 + 10;
ll a[M];
ll dis[M];
struct node
{
    ll dis;
    ll cost;
} s[M * 10];

bool cmp(node a, node b)
{
    if(a.dis == b.dis)
        return a.cost < b.cost;
    return a.dis < b.dis;
}

bool operator < (node a, node b)
{
    return a.cost > b.cost;
}

int main()
{
    int T;
    scanf("%d", &T);
    while(T--)
    {
        int n, m;
        scanf("%d %d", &n, &m);
        for(int i = 0; i < n; ++i)
            scanf("%lld", &a[i]);
        for(int i = 1; i < n; ++i)
            dis[i] = a[i] - a[i - 1];
        sort(dis + 1, dis + n);
        for(int i = 0; i < m; ++i)
            scanf("%lld %lld", &s[i].dis, &s[i].cost);
        sort(s, s + m, cmp);
        if(dis[n - 1] > s[m - 1].dis)
        {
            printf("Impossible\n");
            continue;
        }
        ll ans = 0;
        priority_queue <node> q;
        int pos = m - 1;
        for(int i = n - 1; i >= 1; --i)
        {
            while(pos >= 0 && s[pos].dis >= dis[i])
            {
                q.push(s[pos]);
                pos--;
            }
            ans += q.top().cost;
        }
        printf("%lld\n", ans);
    }
    return 0;
}

 

机械臂的「抽风」自救指南:从万向节死锁到毫米级丝滑抓取 立即下载

相关推荐

科技中介服务机构如何借助平台提升技术撮合服务的专业性与响应速度?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Crack Mathmen e 题(相对简单)山东省第二届ACM大学生程序设计竞赛

Problem Description Since mathmen take security very seriously, they communicate in encrypted messages. They cipher their texts in this way: for every characther c in the message, they replace c with ...

qq_43352073的博客 221

银河麒麟Arm64 v10 sp1系统QT5.12.8离线环境配置全攻略

本文详细介绍了在银河麒麟Arm64 v10 sp1系统上配置QT5.12.8离线开发环境的完整流程。从安装包获取、依赖检查到环境变量配置,逐步指导开发者解决飞腾处理器架构下的常见问题,包括OpenGL库冲突、中文乱码处理等,特别适合军工、政务等需要离线部署的场景。

weixin_26899659的博客 507

Mathmen 优先队列贪心

Problem DescriptionMathmen love mathematics, and they live on the number line. All the mathmen spend all their time on solving mathematical problems and proving theorems. Like humen beings, mathmen do...

Little_boy_z的博客 346

告别“单打独斗”:Oh My Open Code 如何用多模型协作重塑 AI 编程范式

介绍"Oh My OpenCode"——一个能协调多个专业AI模型完成复杂开发任务的智能编程框架。您将看到它如何分配任务、发挥不同模型的独特优势,并通过并行处理和实时纠错等功能解决AI编程流程中的常见痛点。

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 4212

Windows11下QGIS 3.34.4安装Geo-SAM插件全流程(附RTX3060 CUDA12.0配置技巧)

本文详细介绍了在Windows 11系统中为QGIS 3.34.4安装和配置Geo-SAM插件的完整流程,特别针对RTX 3060显卡用户提供了CUDA 12.0与PyTorch环境的精准搭建方案。通过预编码与交互式分割两大核心步骤,该插件能显著提升遥感图像半自动标注的效率,降低硬件门槛,是地理信息处理领域融合AI技术的实用指南。

weixin_29089057的博客 296

Number Puzzle (ZOJ - 2836 ,容斥原理)

一.题目链接: ZOJ-2836 二.题目大意: 第一行给出 n, m 第二行有 n 个数 求在不大于 M 的非负整数中,有多少个数可以被这 n 个数中的任意一个整除. 三.分析: 容斥原理模板题存一下(偷笑.jpg) 四.代码实现: #include <set> #include <map> #include <ctime> #incl...

The___Flash的博客 862

stm32最小系统_完成一个最小FOC矢量控制系统所需的基本模块和功能配置

当我们读懂 FOC 矢量控制的基本原理之后,便迫不及待的想动手尝试,去实现一个矢量控制系统,让电机先转起来,有一个直观的感受。因此,我们需要设计实现一个矢量控制的最小系统,具备矢量控制的基本功能,满足电机矢量运行的基本条件。首先,看一下矢量控制的基本架构:矢量控制架构如上图所描述,矢量控制系统包括实时电流的采集、clarke 变换、park 变换、SVPWM 、实时角度的反馈和计算以及电流环和速...

weixin_39524048的博客 1784

最大子矩阵(HDU - 1559,前缀和)

一.题目链接: HDU-1559 二.题目大意: 给出一个 m × n 的矩阵,和一个大小为 x × y 的子矩阵,求子矩阵的最大值为多少? 三.分析: 利用前缀和求出 顶点 到 每个点 矩阵的和,然后枚举子矩阵顶点的位置即可. 如图: 四.代码实现: #include <set> #include <map> #include <ctime&g...

The___Flash的博客 608

RK3588 Ubuntu 20.04 编译 eglinfo 踩坑实录:从 Python 环境配置到 Mali 驱动调试

本文详细解析了在RK3588平台上使用Ubuntu 20.04编译eglinfo的全过程,包括Python环境配置、waf构建系统升级、Mali驱动调试等关键步骤。通过系统级软链接方案、驱动状态诊断和EGL环境验证技巧,帮助开发者快速解决常见问题,构建可靠的图形调试环境。

weixin_29158047的博客 374

瑞芯微RV1109平台GT911触摸屏驱动调试记录1

很明显这里可以看到系统已经配置了i2c-0、i2c-1、i2c-3、i2c-4、i2c-5,当开机的时候系统已经将相应的I2C节点注册成功了,说明I2C部分是没有问题的。

bingdund的博客 297

Plants vs. Zombies (ZOJ - 4062,二分答案 + 细节)

一.题目链接: ZOJ-4062 二.题目大意: n 个植物排成一排. 水壶只能移动 m 步. 水壶一步移动一个单位长度,所到达的位置,该植物的防御值会相应增加. 求浇水之后,所有植物防御值中最小值最大可以为多少. 三.分析: 二分答案即可. 不过要加限制条件,在 check(mid) 函数中 cnt 可能会暴 long long. 这是因为,假设n == 1e5,mid =...

The___Flash的博客 606

OpenMVS :用 colmap制作自己的数据集 重建(用colmap计算位姿,将位姿转为MVS需要的格式)

数据集制作主要是在windows进行,比较方便。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 3325

例题 3-4 猜数字游戏的提示(Master-Mind Hints,UVA 340)

一. 题目链接 : Master-Mind Hints UVA-340 二. 题目大意 : 多组数据,每组数据中有一个标准数字序列,之后多组数字序列,输出 A 和 B. A : 在每组数字序列中,与标准数字序列中数字且位置相同的数字个数. B :在每组数字序列中,有多少个数字在两组数字序列里都出现过,但位置不同. 三.分析 : A : A很好求,直接同时遍历 标准数字序列 和 ...

The___Flash的博客 493

[Dify实战] 做企业内部助手时,最容易被低估的不是提示词,而是权限、状态同步和反馈回写

这篇文章围绕“做企业内部助手时”这个具体问题展开,很多团队做企业内部助手时,最先优化的是提示词,但真正决定系统能不能上线长期跑下去的,往往是权限边界、状态同步和反馈回写闭环。正文会结合Dify拆解节点设计、配置建议和测试样例,补充关键步骤、检查点和常见坑,帮助读者判断第一版该怎么落地,并把经验复用到自己的真实业务场景中。

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 68

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Eight II (HDU - 3567,BFS 打表 + 思维)

一.题目链接: HDU-3567 二.题目大意: Eight的升级版,游戏规则相同. 每次给出两个字符串 A, B,问 从 A 到 B 的最少步数 并 打印最小字典序的路径. 三.分析: 看了大神的分析才懂。。。 在这里阐述一下. 只考虑 X 的位置,由于 1 ~ 8 数字无特殊性 所以可将所给的 A 重新编号. 例如 A1:8 7X 6 5 4 3 2 1 编号为 A...

The___Flash的博客 485

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Kth Minimum Clique(2019牛客暑期多校训练营(第二场)D,K 大完全子图)

一.题目链接: Kth Minimum Clique 二.题目大意: 有 n 个点,有着各自的点权. 给出连通的边. 求权值 k 大的完全子图. 三.分析: 由于 n ≤ 1e3,所以直接暴搜即可. 这里和状压 DP 有点像,搜索的是状态以及对应的权值. 考虑状态的转移,比如在什么情况下,i 点可以加入. 因为是求完全子图,所以现状态应真包含于 i 点的连接点,否则就不是完全图...

The___Flash的博客 465

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Books (ZOJ - 4067,思维 + 理解题意)

一.题目链接: ZOJ-4067 二.题目大意: DreamGrid 去买书,有 n 本书排成一行,价格记为 a[0],a[1] .... a[n - 1]. 若DreamGrid 所带的钱不少于 第 i 本书的价格,则买这本书. 最后DreamGrid 共买了 m 本书. if 不可能买了 m 本书,则输出Imp...

The___Flash的博客 462

Matrix (POJ - 3685,二分答案 + 二分)

一.题目链接: POJ-3685 二.题目大意: 给 n 和 m. 表示有一个 n × n 的矩阵,求第 m 小的元素的值. 矩阵元素的计算公式: 三.分析: 易得矩阵的元素在同一列上单增. 第一层二分答案. 因为是求第 m 小的数,所以必有 m 个数 ≤答案(数有重复). check(mid) 函数里先枚举列,对于每一列再二分有多少个数 ≤ mid即可. ps: 控制边界...

The___Flash的博客 450

Fairy tale(BFS + 大模拟)

一.题目链接: Fairy tale 二.题目大意: 给你一个N × N 的地图,图上的每个点有四种方向(E W S N),代表着移动方向. 在 t = 0 时,saya 在 (1, 1),treasure 在 (n, n). 在每个单位时间内,分为 3 步. ①saya 先按照地图移动一个单位. ② saya 可以向四个方向移动一个单位,saya 会移动到距离 treasure ...

The___Flash的博客 445

Fliptile (POJ - 3279, 思维 + 二进制枚举)

一.题目链接: POJ-3279 二.题目大意: 给你一个图,只有 0 和 1. 0 表示白色,1 表示黑色. 每敲击一块砖,这块砖以及它周围四个方向的砖都会转变颜色. 问是否能够将砖块都变为白色 如果可以,输出在最小步数情况下,操作的最小字典序. 否则,输出 "IMPOSSIBLE" 三.分析: 二进制枚举对第一行的操作. 再又第 1 行的状态,确定第 2 行的操作 比如 ...

The___Flash的博客 439

习题 3-5 谜题(Puzzle, ACM/ICPC World Finals 1993, UVA227)

一. 题目链接: Puzzle UVA-227 二.题目大意: 有一个 5 × 5 的字母矩阵,其中有一个是空格。 共有 4 中指令,分别为 A, B, L, R. A:将空格上的相邻字母移到空格中. B:将空格下的相邻字母移到空格中. L:将空格左的相邻字母移到空格中. R:将空格右的相邻字母移到空格中. 输入指令后 若有非法指令输出“This puzzle has no fi...

The___Flash的博客 430

Pearls in a Row( CodeForces - 620C,贪心)

一.题目链接: CodeForces-620C 二.题目大意: 给出一个数字序列,若有数字重复出现则称这一段序列为 “好”,求这个序列中最多有多少个 “好” 序列. 三.分析: 把序列中的元素放入 set 里,并进行查找,若找到,则 ans++,set 清空,记录首尾位置. 详见代码. 四.代码实现: #include <set> #include <map&g...

The___Flash的博客 422

Tunnel Warfare (HDU - 1540,这也能用线段树 ?!)

一.题目链接: HDU-1540 二.题目大意: 有 n 个村庄排列在一条线上,编号为 1 ~ n. 现有 3 种 m 次操作 D x:摧毁第 x 个村庄 Q x:查询与第 x 个村庄相邻的村庄数. R:修复上一个被摧毁的村庄. 三.分析: 当查询与第 x 个村庄相邻的村庄数时 只需要查询在 1 ~ x 中被摧毁村庄的最大编号 && 在 x ~ n 中被摧毁村...

The___Flash的博客 420

Monitor( HDU - 6514 ,子矩阵和 + 前缀和处理)

一.题目链接: HDU-6514 二.题目大意: 给你 p 个红矩阵 一个整数 q,接下来 q 行 每行给出一个蓝矩阵 如果蓝矩阵被完全包含于红矩阵内,输出 "YES",否则输出 "NO". 三.分析: 赛后听 ltr 讲才恍然大悟,不就是这两道题的结合吗?(tql orzzzz) 最大子矩阵(HDU - 1559,前缀和) Color the ball(HDU - 1556...

The___Flash的博客 417

例题 3-6 环状序列(Circular Sequence,ACM/ICPC Seoul 2004,UVA1584)

一.题目链接: Circular Sequence UVA-1584 二.题目大意: 给定一个只含 A , T , C , G 的环形字符串,输出其字典序最小的字符串. 三.分析: 例如CTCC,则根据字典序最小可以写成CCCT. 注意该字符串是环形的,所以应该想到在字符串处理上使用 "%" 运算. 由此,我们只需要找出取余点即可. 那么,就枚举一遍取余点喽,把字典序最小的取余点记...

The___Flash的博客 403
上一篇: NPY and girls (HDU - 5145,莫队算法 + 乘法逆元)
下一篇: Sorting It All Out (POJ - 1094 ,拓扑排序 + 链式向前星存图)
The___Flash
博客等级 码龄8年 79粉丝 223原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值