【组合数】[NOIP2011]选择客栈[c++]

[NOIP2011真题]选择客栈 题目背景 NOIP2011提高组 DAY1 试题。题目描述 丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从 1 到 n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一 阅读详情
题目描述

丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。
两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过 p 。
他们想知道总共有多少种选择住宿的方案,保证晚上可以找到一家最低消费不超过 p元的咖啡店小聚。

输入格式:
共n+1 行。
第一行三个整数n ,k ,p,每两个整数之间用一个空格隔开,分别表示客栈的个数,色调的数目和能接受的最低消费的最高值;
接下来的n 行,第 i+1 行两个整数,之间用一个空格隔开,分别表示 i 号客栈的装饰色调和i 号客栈的咖啡店的最低消费。

输出格式:

输出只有一行,一个整数,表示可选的住宿方案的总数。

输入输出样例

输入样例#1:
5 2 3
0 5
1 3
0 2
1 4
1 5

输出样例#1:
3

思路

总的解数 = 所有色调相同的客栈两两相配的总数量 - 因咖啡馆价格问题而不能相配的数量 。
附组合数递推公式 c(m,n)=c(m-1,n-1)+c(m-1,n)

代码[c++]
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;
int color[200000],price;
bool f[200000];
int main() {
    int n,k,p;
    scanf("%d%d%d",&n,&k,&p);
    for(int i=0; i<n; i++) {
        scanf("%d%d",&color[i],&price);
        if(price>p)f[i]=true;
    }
    int cnt[55]={0};
    int sum=0;
    for(int i=0;i<n;i++){  //这一段循环计算因咖啡馆价格问题而不能相配的对数
        if(!f[i]){
            memset(cnt,0,sizeof(cnt));
            continue;
        }
        cnt[color[i]]++;
        sum+=cnt[color[i]]-1;  //c(m,2)=c(m-1,1)+c(m-1,2)
    }
    int ans=0;
    memset(cnt,0,sizeof(cnt)); 
    for(int i=0;i<n;i++){  //这一段循环计算所有色调相同的客栈两两相配的总对数 
        cnt[color[i]]++;
        ans+=cnt[color[i]]-1;  //c(m,2)=c(m-1,1)+c(m-1,2)
    }
    printf("%d\n",ans-sum);
    return 0;
}
论文分享 - OctoMap八叉树建图原理 论文:OctoMap:An Efficient Probabilistic 3D Mapping Framework Based on Octrees。 阅读详情

相关推荐

Pytorch.nn.Linear 解析(数学角度)

pytorch.nn.Linear 是一个类,下面是它的一些初始化参数 in_features : 输入样本的张量大小 out_features : 输出样本的张量大小 bias : 偏置 它主要是对输入数据做一个线性变换。 y=xAT+b y=xA^T+b y=xAT+b 这里A是权重矩阵,b是偏置。他们都是根据 in_features 生成 测试代码: m = torch.nn.Linea...

Medlen 1万+

[NOIP2011 提高组] 选择客栈

丽江河边有n家很有特色的客栈,客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰(总共k种,用整数0∼k−1表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过p。他们想知道总共有多少种选择住宿的方案,保证晚上可以找到一家最低消费不超过。

2201_75785857的博客 421

告别手动复制粘贴:3种高效合并Excel表格的方法对比(含代码)

本文对比了VBA、Power Query和Python三种高效合并Excel表格的方法,并提供了可直接运行的代码。针对不同数据量、更新频率和技术背景,详细分析了各方案的优缺点与适用场景,帮助读者告别低效的手动操作,实现自动化数据整合。

weixin_29057237的博客 441

【优快云竞赛第33期】C++题解

两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。贪心,假设当前客栈的的颜色为c,最低消费为d,如果d不大于题意中的最低消费p,那我们 记下当前位置idx(颜色为c的位置),接下来判断,如果idx不小于上一个颜色为c的位置,那么当前颜色的客栈我们可选的有之前出现颜色为c的客栈总数,接着答案加上当前颜色的可选数量(具体构造方案:咖啡店选择最后一个满足最低消费不大于p的,客栈也固定选择和咖啡相同的一家,另外一个客栈在相同的颜色的可选客栈中任选一个即可)。

openallzzz 706

从零实现Unitree Go2的SLAM建图与导航:手把手集成slam_toolbox和nav2(附Rviz2可视化配置)

本文详细指导如何在Unitree Go2四足机器人上集成slam_toolbox和nav2,实现SLAM建图与导航功能。从ROS2环境配置、雷达数据处理到slam_toolbox参数优化,再到nav2路径规划与Rviz2可视化调试,提供完整解决方案。特别适合机器人开发者快速掌握ROS2导航栈在Unitree Go2上的应用实践。

weixin_33737134的博客 1231

OSMDroid 切换地图不更新的问题

用OSMDroid加载Google地图的时候 需要有按钮切换不同图层的地图,如果发现调用了mMapView.setTileSource(ITileSource aTileSource)方法的时候发现地图View没有更新的话,可能是因为两个实例化TileSource对象其子类BitmapTileSourceBase这个类的aName成员变量值一样导致的地图在setTileSource出现不更新问题,...

godoge的博客 1039

c++ 选择客栈

分析: 首先这个客栈的总数n最大值为20万用朴素做法的两重循环肯定会超时,所以要改变循环方式。 在输入的同时进行操作,当输入的旅店的最低消费小于等于p时进行更新,从后往前循环到上一个最低消费小于p的点(m),对每个遍历到的旅店相应的颜色+1(num[kz[j].sd]++,num[]为储存对应下标颜色的旅馆个数),然后更新ans(ans+=num[kz[i].sd]-1)因为kz[i]本身就是一个符合条件的旅店可以与前面的任意一个相同颜色的旅店组合成一个不重不漏地(因为是随输入更新,线性)新组...

m0_63799444的博客 938

麒麟V10 SP1系统下编译linuxdeployqt并打包Qt 5.15.2程序完整指南

麒麟V10 SP1系统下编译linuxdeployqt并打包Qt 5.15.2程序完整指南

ChenJin_2的博客 275

【11NOIP提高组】选择客栈(信息学奥赛一本通 1546)(洛谷 1311)

题目描述 丽江河边有nn家很有特色的客栈,客栈按照其位置顺序从11到nn编号。每家客栈都按照某一种色调进行装饰(总共kk种,用整数00~k-1k−1表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求...

anglanjing7414的博客 653

电气论文实现:前推回代在IEEE33节点中的潮流计算实现(matlab,python)

本文首先介绍了前推回代的原理。然后基于IEEE33节点算例,分别用python和matlab运用前推回代进行了潮流计算。

总裁余(余登武)博客 8608

数字电路与逻辑设计实验二 组合逻辑电路

1.组合逻辑电路功能测试 (1)用 2 片 74LS00 组成图 2.1 所示逻辑电路。为便于接线和检查,在图中要注明 芯片编号及各引脚对应的编号。 (2)图中 A、B、C 接逻辑开关,Y1,Y2 接发光管电平显示。 (3)按表 2.3 要求,改变 A、B、C 输入的状态,填表并写出 Y1,Y2 的逻辑表达式。 (4)将运算结果与实验结果进行比较。 2.测试用异或门(74LS86)和与非门组成的半加器的逻辑功能。 根据半加器的逻辑表达式可知,半加 器 Y 是 A、B 的异或,而进位 Z 是 A

欢迎交流学习心得 1278

P1311 [NOIP2011 提高组] 选择客栈

两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过 p。所以我们当前客栈所能组成的最多的对数为上一家相同颜色客栈所能组成的对数,当然若当前客栈与上一家相同颜色的客栈之间有能组成的咖啡馆也会算上。每当我们找到一家客栈时这家客栈能与前一家相同颜色且满足条件的客栈组成一对,还能与能与前一家相同颜色的客栈组成一对的客栈组成一对。

benny114514的博客 529

MATLAB 图像滤波:高通、低通、带通和方向滤波器

在 MATLAB 中,我们可以使用不同类型的滤波器对图像进行处理,包括高通滤波器、低通滤波器、带通滤波器和方向滤波器。通过以上代码示例,我们介绍了 MATLAB 中使用高通滤波器、低通滤波器、带通滤波器和方向滤波器对图像进行滤波的方法。高斯滤波器可以实现带通滤波效果,通过调整滤波器的方差参数可以控制带通滤波器的频率范围。这里的平均滤波器是一种常见的低通滤波器,通过对图像周围的像素进行平均来实现平滑效果。Sobel 滤波器是一种常用的方向滤波器,用于检测图像中的水平和垂直边缘。函数将高通滤波器应用于图像。

CyberSparkZ的博客 1394

【NOIP2011提高组】选择客栈

题目背景 NOIP2011提高组 DAY1 试题。 题目描述 丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从 1 到 n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们...

ETO的博客 1485

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

NOIP 2011 选择客栈

题目描述 丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客...

weixin_34352449的博客 155

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

2011 选择客栈

选择客栈 题目描述 丽江河边有n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一...

weixin_33672400的博客 490

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【P1311】选择客栈

题目描述 丽江河边有n n家很有特色的客栈,客栈按照其位置顺序从 1 1到n n编号。每家客栈都按照某一种色调进行装饰(总共 kk 种,用整数 00 ~ k-1k−1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的...

贺朝夫斯基 355

一本通1546:NOIP2011 选择客栈(st算法+链表)

【题目描述】 丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从 1 到 n 编号。 每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 k−1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。 晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过 p 。 他们想知道总共有多少种选择住宿的方案,保证晚上可以找

amazingee的博客 834

选择客栈(枚举 & 方案数)

丽江河边有n家很有特色的客栈,客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰(总共k种,用整数0k−1表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过p。他们想知道总共有多少种选择住宿的方案,保证晚上可以找到一家最低消费不超过p。

m0_60593173的博客 499

[Noip2011] 选择客栈

Description 丽江河边有 \(n\) 家很有特色的客栈,客栈按照其位置顺序从 \(1\) 到 \(n\) 编号。每家客栈都按照某一种色调进行装饰(总共 \(k\) 种,用整数 \(0\)~\(k-1\) 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打...

weixin_30527323的博客 195

P1311 选择客栈

题目 这道题目写得我真舒畅,一遍过。 由题意可以很轻松的得出这道题目是要查询区间最小值。 众所周知有两种非常普遍的方法; ST表 线段树 这里要隆重介绍的是线段树,线段树有很良好的性质。就是完全二叉树的一些性质。 如图 可以观察出 左儿子的编号是父节点编号的两倍,右儿子的编号是父节点编号的两倍加一。 这也是线段树要运用的最主要的东西。 分析完该用什么算法后接着来看思路 即 判定一个区间的最小值是...

weixin_42404190的博客 308

NOIP 选择客栈

描述 丽江河边有n家很有特色的客栈,客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰(总共k种,用整数0~ k-1表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的...

weixin_34360651的博客 266

打卡信奥刷题(974)用C++实现信奥 P1311 [NOIP 2011 提高组] 选择客栈

丽江河边有n家很有特色的客栈,客栈按照其位置顺序从1到n编号。每家客栈都按照某一种色调进行装饰(总共k种,用整数0∼k−1表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈),且咖啡店的最低消费不超过p。他们想知道总共有多少种选择住宿的方案,保证晚上可以找到一家最低消费不超过。

Loge谈信奥--一个专注于信奥人的博客 5685

Bailian4034 选择客栈【序列处理】

4034:选择客栈 总时间限制: 1000ms 内存限制: 65535kB 描述 丽江河边有 n 家很有特色的客栈,客栈按照其位置顺序从 1 到n 编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~ k-1 表示) ,且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(包括他们住的客栈) ,且咖啡店的最低消

海岛Blog 814

noip 选择客栈

题目描述 丽江河边有nn n家很有特色的客栈,客栈按照其位置顺序从 1到n编号。每家客栈都按照某一种色调进行装饰(总共 k 种,用整数 0 ~k−1 表示),且每家客栈都设有一家咖啡店,每家咖啡店均有各自的最低消费。 两位游客一起去丽江旅游,他们喜欢相同的色调,又想尝试两个不同的客栈,因此决定分别住在色调相同的两家客栈中。晚上,他们打算选择一家咖啡店喝咖啡,要求咖啡店位于两人住的两家客栈之间(...

weixin_30681615的博客 292
上一篇: 【模拟】[NOIP2011]铺地毯[c++]
下一篇: 【LCA&倍增】货物运输 @upcexam5909
乌拉尔银狼
博客等级 码龄10年 9粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值