问题描述
丽江河边有n家独具特色的客栈,按照位置从1到n编号。每家客栈装饰有k种不同的色调(用整数0 ~ k-1表示),并且每家客栈都设有一家咖啡店,每个咖啡店都有各自的最低消费。两位游客喜欢相同的色调,并计划分别住在两家色调相同的客栈中。他们打算在晚上选择一家位于两家客栈之间(包括住的客栈)的咖啡店喝咖啡,要求咖啡店的最低消费不超过p元。他们想知道总共有多少种选择住宿的方案,确保晚上可以找到一家最低消费不超过p元的咖啡店。
输入格式
输入文件共包含n+1行。
第一行包含三个整数n, k, p,每两个整数之间用一个空格隔开,分别表示客栈的数量、色调的数量和能接受的最低消费的最高值。
接下来的n行,第i+1行包含两个整数,表示第i号客栈的装饰色调和该客栈咖啡店的最低消费。
输出格式
输出仅一行,包含一个整数,表示可选的住宿方案的总数。
样例输入
5 2 3
0 5
1 3
0 2
1 4
1 5
样例输出
3
提示
【样例说明】
客栈编号:① ② ③ ④ ⑤
色调:0 1 0 1 1
最低消费:5 3 2 4 5
两人要住同样色调的客栈,所有可选的住宿方案包括:住客栈①③,②④,②⑤,④⑤,但若选择住4、5号客栈,则4、5号客栈之间的咖啡店最低消费为4元,而两人能承受的最低消费是3元,所以不满足要求。因此只有前3种方案可选。
数据范围:
对于30%的数据,n ≤ 100;
对于50%的数据,n ≤ 1,000;
对于100%的数据,2 ≤ n ≤ 200,000,0 ≤ k ≤ 50,0 ≤ p ≤ 100,0 ≤ 最低消费 ≤ 100。
解题思路
一种较为直观的算法是使用线段树查询区间最值,但这会导致较高的时间复杂度。我们寻求更高效的解法。
对于每个客栈i,如果它前面有与其同色的客栈j,我们可以从离i最近的第一个开始往远处找,只要某一个满足到i之间花费的最小值小于要求值,则往远处延伸的都满足条件。
因此,我们记录与i同色的上一个点位置pos和花费小于要求值点离i最近的点last。如果pos <= last,则i可以和前面搭配的数量ans_i = cnt[col_i],否则ans_i = ans_pos。
以下是实现代码:
#include
#include
-
一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]本文探讨了 JSOI2010 的蔬菜庆典问题,主要关注如何处理非根非叶子节点的无限大权值情况。通过分析根节点及其子树的特性,提出了有效的解决方案,并详细解释了算法的实现过程。 ... [详细]探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]本题要求在一组数中反复取出两个数相加,并将结果放回数组中,最终求出最小的总加法代价。这是一个经典的哈夫曼编码问题,利用贪心算法可以有效地解决。 ... [详细]本文深入探讨了UNIX/Linux系统中的进程间通信(IPC)机制,包括消息传递、同步和共享内存等。详细介绍了管道(Pipe)、有名管道(FIFO)、Posix和System V消息队列、互斥锁与条件变量、读写锁、信号量以及共享内存的使用方法和应用场景。 ... [详细]本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]本文介绍了一种使用 Java 编程语言实现的二维极点算法。该算法用于从一组二维坐标中筛选出极点,适用于需要处理几何图形和空间数据的应用场景。文章不仅详细解释了算法的工作原理,还提供了完整的代码示例。 ... [详细]本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]二叉树很重要树是数据结构中的重中之重,尤其以各类二叉树为学习的难点。单就面试而言,在 ... [详细]Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]本文将详细探讨RDMA架构中的关键组件——队列对(Queue Pair,简称QP),包括其基本概念、硬件与软件实现、QPC的作用、QPN的分配机制以及用户接口和状态机。通过这些内容,读者可以更全面地理解QP在RDMA通信中的重要性和工作原理。 ... [详细]2019独角兽企业重金招聘Python工程师标准model:public$imageFile;publicfunctionrules(){return[[[na ... [详细]Tags | 热门标签RankList | 热门文章
- 1分享一个方便使用的、简洁的输入验证码的控件
- 2织梦DedeCMS数据校验有问题,程序返回解决方法
- 32、深入理解JVM中Java对象的创建、对象结构、以及对象访问定位
- 4使用和代码示例:org.apache.hadoop.hbase.client.Append.size()方法详解
- 5VMTools_Parrot os 安装vmtools
- 6html5中template用法,html5标签
- 7《水调歌/水调》翻译 原文赏析诗人宋林正大
- 8(转载)IplImage、CvMat等图像处理库的使用方法详解
- 92021年9月14日Python学习心得分享(大部分内容为转载)
- 10在Android平台上制作一个SMS应用程序 - Making an SMS Application on the Android Platform
- 11org.apache.poi.hssf.usermodel.HSSFSheet.getFirstRowNum()方法的用法与示例代码详解
- 12深入解析Java泛型类的原理与应用(1)
- 13C语言函数的定义及其含义
- 14RabbitMQ运用负载均衡与消息持久化的实现
- 15统计字符串中连续数字字符构成整数的数量