题目描述

Farmer John 有 N 头奶牛(1≤N≤20),高度为 a1…aN。他的牛栏有 N 个牛棚,高度限制分别为b1…bN(例如,如果 b5=17,那么一头高度不超过 17 的奶牛可以住在牛棚 5 里)。Farmer John 有多少种不同的方式安排他的奶牛,使得每头奶牛均住在不同的牛棚里,并且使得每个牛棚的高度限制均得到满足?

输入格式(从终端/标准输入读入):

输入的第一行包含 N。第二行包含 N 个空格分隔的整数 a1,a2,…,aN。第三行包含 N 个空格分隔的整数 b1,b2,…,bN。所有的高度和高度限制均在范围 [1,10^9] 内。

输出格式(输出至终端/标准输出):

输出 Farmer John 可以将每头奶牛安排到不同的牛棚里,使得每个牛棚的高度限制均得到满足的方法数。注意输出的数量可能需要使用 64 位整数型,例如 C++ 中的 long long。

输入样例:

4
1 2 3 4
2 4 3 4

输出样例:

8

样例解释:

在这个例子中,我们不能将第三头奶牛安排到第一个牛棚里,因为 3=a3>b1=2。类似地,我们不能将第四头奶牛安排到第一或第三个牛棚里。一种符合高度限制的安排方式为将奶牛 1 安排到牛棚 1,奶牛 2 安排到牛棚 2,奶牛 3 安排到牛棚 3,奶牛 4 安排到牛棚 4。

测试点性质:

  • 测试点 1-5 满足N≤8。
  • 测试点 6-12 没有额外限制。

供题:Shreyas Thumathy

要求与思路:

1. 将n头奶头放进n间牛棚内,保证奶牛的高度不超过牛棚的高度,计算一共有多少种方法?

2. 排序后,最高的奶牛受限最多,我们从最高的奶牛开始计算,每头奶牛可以有多少间牛棚可以选择,将所有奶牛的选择性乘起来就是答案。

3. 当前这头牛,可以住在大于等于自己身高的牛棚里,当然需要排除掉其他牛已经占据的牛棚,同时,最高的牛我们自然也安排住进最高的牛棚里。

知识点:

贪心、排序、排列组合

代码:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
long long ans = 1;
int a[30], b[30], flag[30];//flag标记当前第i个牛棚是否用过
int main(){int n;cin >> n;for (int i = 1; i <= n; i++)cin >> a[i];for (int i = 1; i <= n; i++)cin >> b[i];sort(a + 1, a + n + 1);sort(b + 1, b + n + 1);//从高到矮,记录每头牛有几间牛棚可选 for(int i = n; i >= 1; i--) {int cnt = 0;for (int j = n; j >= 1; j--){if (flag[j] == 0 && b[j] >= a[i]){cnt++;}}
//      cout << "cnt " << cnt << endl;//从高到矮安排牛棚入驻 for (int k = n; k >= 1; k--){if (flag[k] == 1)continue;else {flag[k] = 1;break;}}
//      for (int m = 1; m <= n; m++)cout << "flag[m] " << flag[m] << " ";
//      cout << endl;ans *= cnt;}cout << ans;return 0;
}

思考:

1. 这场月赛三道题目,第三题反而比较简单,看起来USACO也并不完全是按照难度对题目进行排序的。

2. 一开始以为得用快速幂结果不是,N最多才20,乘起来不超过longlong,所以还是比较友好的一道排列题目

USACO 2021 January Contest, BronzeProblem 3. Just Stalling题解相关推荐

  1. USACO 2021 January Contest, BronzeProblem 3. Just Stalling题解 贪心 排序

    已经鸽了好久了写一篇题解把 题目描述 Farmer John 有N头奶牛(1≤N≤20),高度为a1-aN.他的牛栏有N个牛棚,高度限制分别为b1-bN(例如,如果b5=17,那么一头高度不超过17的 ...

  2. USACO 2021 January Contest, Bronze. Problem 1. Uddered but not Herd

    题目描述 一个鲜为人知的事实是,奶牛拥有自己的文字:「牛文」.牛文由 26 个字母 'a' 到 'z' 组成,但是当奶牛说牛文时,可能与我们所熟悉的 'abcdefghijklmnopqrstuvwx ...

  3. USACO 2022 December Contest, BronzeProblem 1. Cow College 题解

    以下是2022年-2023年USACO赛季第一个月的青铜组第一题,可以使用"计数数组+打擂台找最值"的思想,需要考生掌握一点算法才能通关.文章引用了官网题面,提供思考思路和代码,代 ...

  4. USACO 2020 December Contest, BronzeProblem 2. Daisy Chains题解

    题目描述: 每天,作为她绕农场行走的一部分,奶牛 Bessie 会经过她最喜爱的草地,其中种有 N 朵花(五颜六色的雏菊),编号为1-N(1≤N≤100),排列成一行.花 i 有 pi 朵花瓣(1≤p ...

  5. USACO 2018 January Contest

    USACO 2018 January Contest 比赛链接 T1 MooTube 题目链接 题目大意:给定一个图,两个点之间的距离是他们路径上边权的最小值.给定一个起点,求距离大于等于K的点有几个 ...

  6. Promotion Counting【USACO 2016 January Contest, Bronze】

    今天来分享一下我做过的几道Usaco的比较简单的题,Usaco是美国的一个c++竞赛比赛,但是全球各地的人都可以参加,Usaco没有监考,全凭诚信,但是你拿着这个 作弊 借鉴来的成绩,所有美国的大学都 ...

  7. USACO 2012 January Contest, Silver Division Solution

    T1是一道构图然后跑最短路的题. T2是一道裸的dp 然而我看了以后觉得爆搜是一定可以过掉的== 于是我先来一发二进制枚举,然后two points 维护答案.. T3是一道神题 首先要分类讨论,然后 ...

  8. USACO 2015 January Contest Bronze——奶牛的旅行路线

    文章目录 题目描述 输入格式 输出格式 数据范围 输入样例 输出样例 实现代码--奶牛只想走一条路线的情况下 题目描述 厌倦了农场寒冷的冬季天气,奶牛贝茜计划飞往一个温暖的目的地度假. 不幸的是,她发 ...

  9. USACO 2022 January Contest, Bronze

    Problem 1. Herdle 奶牛们发明了一种名为 Herdle 的新型解谜游戏,在牛界引起了轰动. 每天都会有一个新谜题发布供奶牛解决.游戏采用 3x3 方阵的形式表示农场的一块田地,田地的每 ...

最新文章

  1. python 跳出两层循环,跳出多层循环
  2. Serializable在C#中的作用及其优点
  3. android手势操作滑动效果触摸屏事件处理
  4. vue对象深拷贝_Vue 对数据对象实现深拷贝赋值
  5. 分布式系统概念 | 分布式锁:数据库、Redis、Zookeeper解决方案
  6. linux基于域的虚拟目录,RHELAS4.0 apache配置之我的小结(虚拟目录,虚拟主机)
  7. 数据可视化系列(六):场景案例显神通
  8. (转)Spring Boot 2 (二):Spring Boot 2 尝鲜-动态 Banner
  9. 顺丰快递员私自截留口罩贩卖?官方回应来了:口罩微商搞的鬼!
  10. 华为畅享9S曝光:2400万超广角AI三摄+珍珠屏
  11. 谈谈运维监控那些事儿
  12. matlab使用笔记(一)——matlab语言中if、for语句与C语言中的差别
  13. 安卓学习日志 Day15 — 数据库基础
  14. excel表格如何转换成word表格_轻松将Excel表格完美转换成Word文档
  15. 小武实习的debug日记2
  16. 【存储】HDS VSP
  17. python爬取LOL皮肤
  18. web集群之通过tomcat部署jpress应用
  19. python正版软件多少钱_正版数据库软件需要多少钱
  20. html5字体统一解决方案

热门文章

  1. 法国计算机与电信工程师学院,如何选择法国工程师学院?
  2. 深度学习GPU选购指南
  3. 智能合约部署Error: exceeds block gas limit undefined
  4. 谷歌索引量查询,批量查询网站在谷歌RR权重值
  5. Android上的RNDIS
  6. HTML5之audio实战,网页音乐播放器开发
  7. bi工具有哪些,该怎么选择呢?
  8. 潜在语义索引(LSI)
  9. uniapp发布h5和小程序样式或者一些其他问题
  10. 学生公寓怎么使用预付费电能管理系统