题意:

  • 有n间宿舍实施宵禁:
  • 1.一个舍监从1走向n,另一个舍监从n走向1
  • 2每个宿舍有a[i]a[i]a[i]个学生,且∑ni=1a[i]=n∗b∑i=1na[i]=n∗b\sum_{i=1}^n a[i]=n*b
  • 3舍监走到某个宿舍前,未上锁宿舍的学生可以走到距离当前宿舍不超过d的宿舍
  • 4舍监查某个宿舍时,如果宿舍人数<b<b<script type="math/tex" id="MathJax-Element-1197">
  • 5所有宿舍上锁,结束
  • 6如果n是奇数,第n/2+1n/2+1n/2+1个宿舍归第一个舍监查

想法:

#include <cstdio>
#include <cstring>
#include <iostream>
#define ll long long
#define fo(i,a,b) for(i=a;i<=b;i++)
#define min(a,b) ((a)<(b)?(a):(b))
#define max(a,b) ((a)>(b)?(a):(b))
using namespace std;
const ll maxN=1e5+10;
ll n,d,k,a[maxN],sum[maxN],cnt1,cnt,b,i,ans,x;
int main(){//freopen("a.in","r",stdin); scanf("%I64d%I64d%I64d",&n,&d,&b);fo(i,1,n) scanf("%I64d",&a[i]),sum[i]=sum[i-1]+a[i];fo(i,1,n/2){x=sum[min(n,i*d+i)]-cnt*b;if (x>=b) cnt++;x=sum[n]-sum[max(n-i*d-i,0)]-cnt1*b;if (x>=b) cnt1++;}ans=n/2-min(cnt,cnt1);printf("%I64d",ans);
}

Codeforces469div2F curfew(贪心)相关推荐

  1. 【CF949D】Curfew(贪心)

    [CF949D]Curfew(贪心) 题面 CF 洛谷 破池姐姐翻译好强啊 题解 今天菊开讲这题,我大力猜想一波说肯定从中间有个分界线,他还说可能是假的 大力贪心就好了,从两边往中间考虑,只要这个房间 ...

  2. 算法设计与分析第3章 贪心算法

    第4章 贪心算法 贪心算法总是作出在当前看来最好的选择.也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择. 贪心算法的基本要素 1.贪心选择性质 所谓贪心选择性质是指所 ...

  3. 贪心算法单源点最短路径例题c语言源代码,Dijkstra算法是解单源最短路径问题的一个贪心算法...

    问题描述 给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数. 另外,还给定 V 中的一个项点,称为源. 现在我们要计算从源到所有其他各项点的最短路径长度. 这里的长度是指路上各边权之 ...

  4. Too Many Segments CF595D 贪心乱搞

    传送门! 比赛的时候没有时间写了,看看了看大佬的代码,学习学习. 一开始实验室大佬说是用差分写的,但是看了代码发现打cf的人大家都是stl狂魔! 贪心思路:区间按照左端点排序,从1~2e5遍历每一个点 ...

  5. Roundgod and Milk Tea 贪心

    这个题好像可以用一种类似与置换的贪心方法来做~ sum记为剩余奶茶,一开始sum等于奶茶和 ans记录已经喝的奶茶数 不用排序,我们就从前往后直接处理,考虑的是每一个班最多可以喝多少杯奶茶 就是从剩余 ...

  6. 贪心算法简单实践 -- 分糖果、钱币找零、最多区间覆盖、哈夫曼编解码

    1. 贪心算法概览 贪心算法是一种算法思想.希望能够满足限制的情况下将期望值最大化.比如:Huffman编码,Dijkstra单源最短路径问题,Kruskal最小生成树 等问题都希望满足限制的情况下用 ...

  7. 贪心:expedition 最优加油方法

    已知一条公路上,有一个起点与一个终点,这之间有n个加油站;已知从这n个加 油站到终点的距离d与各个加油站可以加油的量l,起点位置至终点的距离L与起 始时刻油箱中汽油量P;假设使用1个单位的汽油即走1个 ...

  8. 贪心:Burst Balloons 最少次数完成射击气球

    已知在一个平面上有一定数量的气球,平面可以看作一个坐标系,在平面的x轴的不同位 置安排弓箭手向y轴方向射箭,弓箭可以向y轴走无穷远;给定气球的宽度 xstart ≤ x ≤ xend,问至少需要多少弓 ...

  9. 贪心:jump 游戏(获取最少跳跃的次数以及跳跃路径)

    一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回最少 ...

  10. 贪心:Jump Game 跳跃游戏

    一个数组存储了非负整型数据,数组中的第i个元素a[i],代表了可以从数组第i个 位置最多向前跳跃a[i]步;已知数组各元素的情况下,求是否可以从数组的第0个位置跳跃到数组的最后一个元素的位置,返回是t ...

最新文章

  1. _vsnprintf 用法
  2. 中国科学家提出“探索极端宇宙”国际科学计划
  3. nginx 一个请求发给多台机器_一个机器人可以同时为多台数控机床上下料吗?东智力衡...
  4. Spring Rdbms操作(二)——SqlFunction 获取表数据条数
  5. JavaSE----代码块、内部类
  6. 纯新手DSP编程--5.21--RTDX
  7. 利用ExcelJS读取Excel文件
  8. opencv codebook
  9. ubuntu固定内网ip_Ubuntu 设置固定ip地址
  10. IT行业市场人才需求
  11. Websphere9.0的安装
  12. Alienware-17-R4-630-1060-MacOS 笔记本双显卡 外星人黑苹果hackintosh 10.15
  13. H5唤起web地图导航
  14. python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程
  15. 安卓仿陌陌用户详情页轮播图联动效果
  16. JetBrains全家桶(IDEA、Pycharm等各个产品)在国内高速下载地址
  17. 外边距 - margin
  18. Atcoder Codefestival Exhibition/Team Relay/Tournament Round 简要题解
  19. OWL操盘主图可视化解读
  20. 使用树莓派定时给微信群发消息

热门文章

  1. Typora最后的免费版本
  2. 环境诉讼与当事人适格
  3. 360校招笔试题(C++小明买菜)
  4. 小韦系统装工行网银U盾驱动的方法
  5. C++语言风格流变史(转)
  6. Kubernetes运维之使用Prometheus全方位监控K8S
  7. Grasshopper显示配色
  8. 求偶数c语言程序,用C语言编写一道程序计算100以内偶数的和
  9. 细数那些深度定制的PC版 安卓系统
  10. python雨课堂答案_雨课堂和微助教的比较分析