题目大意:

N (1 ≤ N ≤ 50,000)头牛被编号为1-N,牛i可以在M(1 ≤ M ≤ N)条不同的高速路上以Si (1 ≤ Si ≤ 1,000,000) km/h的速度飞驰

为了避免相撞,牛i会为在其前的每头牛减速D (0 ≤ D ≤ 5,000) km/h,thus,牛i的速度实际上是max[Si - D × K,0],高速路限速为L (1 ≤L ≤ 1,000,000) km/h。

Input

* Line 1: Four space-separated integers: NMD, and L

* Lines 2..N+1: Line i+1 describes cow i's initial speed with a single integer: Si

Output

* Line 1: A single integer representing the maximum number of cows that can use the highway

Sample Input

3 1 1 5
5
7
5

Sample Output

2

考虑太少忽视了 M条路 的问题 码完才发现傻了

思路来自 https://www.cnblogs.com/Sunnie69/p/5575455.html

1.首先来考虑怎么分配道路.由于影响后排牛的速度的因素只有前排牛的数量,比起在一条路上排长队,把牛们尽可能均匀地分配到每一条道路上的做法会让前排的牛更少,这样后面的牛需要减的速度就更小,就有可能有更多牛在路上跑.

2.再来考虑怎么分配牛.比起把速度大的牛放在前排,把速度小的牛放在前排的做法可能会让更多的牛在路上跑,因为速度大的牛更优秀,所以更优可能能在前排牛很多的情况下依然跑.

所以算法就是先把牛的速度排个序,然后一层一层地放牛

#include <bits/stdc++.h>
using namespace std; int main()
{
int n,m,d,l;
scanf("%d%d%d%d",&n,&m,&d,&l);
int s[n+];
for(int i=;i<=n;i++)
scanf("%d",&s[i]);
sort(s+,s++n);
int cnt=; ///cnt持续记录符合条件的牛
for(int i=;i<=n;i++)
{
s[i]=max(s[i]-cnt/m*d,);
if(s[i]>=l) cnt++; ///cnt/m 即前面的牛平均分配到m条路上
}
printf("%d\n",cnt); return ;
}

USACO2008 Cow Cars /// oj23323的更多相关文章

  1. 1623: [Usaco2008 Open]Cow Cars 奶牛飞车

    1623: [Usaco2008 Open]Cow Cars 奶牛飞车 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 291  Solved: 201[S ...

  2. bzoj 1623: [Usaco2008 Open]Cow Cars 奶牛飞车

    1623: [Usaco2008 Open]Cow Cars 奶牛飞车 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 325  Solved: 223[S ...

  3. bzoj1623 / P2909 [USACO08OPEN]牛的车Cow Cars

    P2909 [USACO08OPEN]牛的车Cow Cars 显然的贪心. 按速度从小到大排序.然后找车最少的车道,查询是否能填充进去. #include<iostream> #inclu ...

  4. USACO Cow Cars

    洛谷 P2909 [USACO08OPEN]牛的车Cow Cars https://www.luogu.org/problemnew/show/P2909 JDOJ 2584: USACO 2008 ...

  5. 【BZOJ1623】 [Usaco2008 Open]Cow Cars 奶牛飞车 贪心

    SB贪心,一开始还想着用二分,看了眼黄学长的blog,发现自己SB了... 最小道路=已选取的奶牛/道路总数. #include <iostream> #include <cstdi ...

  6. bzoj1623 [Usaco2008 Open]Cow Cars 奶牛飞车

    Description   编号为1到N的N只奶牛正各自驾着车打算在牛德比亚的高速公路上飞驰.高速公路有M(1≤M≤N)条车道.奶牛i有一个自己的车速上限Si(l≤Si≤1,000,000).     ...

  7. BZOJ——1623: [Usaco2008 Open]Cow Cars 奶牛飞车

    http://www.lydsy.com/JudgeOnline/problem.php?id=1623 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 6 ...

  8. BZOJ 1623 [Usaco2008 Open]Cow Cars 奶牛飞车:贪心

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1623 题意: 编号为1到N的N只奶牛正各自驾着车打算在牛德比亚的高速公路上飞驰.高速公路有 ...

  9. bzoj 1623: [Usaco2008 Open]Cow Cars 奶牛飞车【排序+贪心】

    从小到大排个序,然后能选就选 #include<iostream> #include<cstdio> #include<algorithm> using names ...

随机推荐

  1. webogic基本使用

    文章目录 启动 注入 部署应用: 访问 启动 /root/Oracle/Middleware/user_projects/domains/weblogic/bin/startWebLogic.sh 上 ...

  2. 2.3 Gulp

    在前端工程化中最重要的就是流程管理,借用 gulp 可以很方便的基于流的方式定义流程任务,并将任务串联起来,本节中将详细介绍 gulp ,包括: gulp 介绍 gulp 是什么 gulp 能够解决哪 ...

  3. Lilo的实现

    书承上文:http://www.cnblogs.com/long123king/p/3549267.html 我们找一份Lilo的源码来看一下 http://freecode.com/projects ...

  4. hadoop命令行

    持续更新中................ 1. 设置目录配额 命令:hadoop dfsadmin -setSpaceQuota 样例:hadoop dfsadmin -setSpaceQuota ...

  5. notepad++ remove duplicate

    step1 to sort and remove space. Since Notepad++ Version 6 you can use this regex in the search and r ...

  6. AN之数据集

    一.数据集: 首先介绍数据集参数: 英文简称 英文全称 中文全称 单位 换成正常单位 说明1 说明2 Time Time 时间 小时:分钟       Temp Temperature 温度 摄氏度 ...

  7. Aria2 Centos8 安装配置

    使用chkconfig 或者 chkconfig –list就可以看出当前系统已经设置的各个服务在各个运行级别下的开闭状态.如果我们想设置某个服务自启动或者关闭的话,那么只需要按照下面的格式使用即可 ...

  8. vue生态系统之vuex

    一.webpack生成项目 1.webpack 在需要建立项目的目录中进行初始化项目 E:\vueProject>vue init webpack vuexpj ? Project name v ...

  9. windows10 自动配置切换IP

    办公室与家里的ip网段不一样.每次都要来回修改本地无线WLAN IP段.写了个脚本bat,自动配置WLAN IP,方便切换. 建立 auto-set-ip.bat,保存格式需为ANSI,否则中文会乱码 ...

  10. 使用Thread创建线程

    #_author:来童星#date:2019/12/17#使用Thread创建线程import threadingimport timeclass Sunthread(threading.Thread ...