目录

小数据

大数据


小数据

题目描述

农夫约翰有一个圆形的谷仓,谷仓分成了环形的n(3≤n≤1000)个房间,编号为1 , 2 , …… 。每个房间有三个门,两个门通往两个相邻的房间,第三个门朝外。约翰有n头奶牛,乱哄哄的在谷仓外面。有的房间门口有多头奶牛排队,有的房间外一头也没有。现在约翰想让每头奶牛都呆在一个房间,他要让奶牛先进入房间,然后按顺时针方向穿过门到其他的房间。奶牛的移动是要消耗能量的,一头奶牛经过  个门需要消耗  的能量。请问如何消耗最少的能量,完成约翰的任务。

输入

第一行包含n个整数,接下来n行,表示初始时每个房间的奶牛数,保证奶牛数等于n。

输出

一个整数,表示所需要的最小能量。

思路: 简单! 看这些 蒟蒻 人的就行:  洛谷题解

大数据

题目描述

农夫约翰有一个圆形的谷仓,谷仓分成了环形的n(3≤n≤100000)个房间,编号为1 , 2 , …… 。。。。。。(同上)

输入

第一行包含n个整数,接下来n行,表示初始时每个房间的奶牛数,保证奶牛数等于n。

输出

一个整数,表示所需要的最小能量。

思路

此题初看时,我就用了DP的思维,就是逆推。因为最终每个房间都会有一个奶牛,那么不妨用一个数组  来存每个房间的奶牛的出发地, 表示第  个房间的奶牛从第  个房间出发。首先把  初始化:   =   。

然后就从任意一个房间开始,逆向循环,直到走完一圈后,遍历完 n 个房间。用一个队列 q ,依次存奶牛数为空的房间号,这样,q.front() 就会是顺时针方向的最远的空房间号。接下来,一旦遇到奶牛数 >1 的房间  , 就依次把多余的奶牛“移”到 q 队首的元素中,更新: 。如果 q 为空或者房间  奶牛数 = 1了,就停止。

如果 q 此时不为空,那就继续从(结束位置 - 1 )逆向循环,内容与之前完全相同,直到 q 为空。

为什么要把 i 房间的奶牛移到当前最远的位置 q.front() 呢?这是为了让后面的奶牛移动距离减短!

因为是距离 d 的平方,所以可以转化为面积:

明显第二种耗费能量最小。

最后循环一遍,根据每个奶牛的来源,计算能量总和。

最后别忘了转换成long long.

圆形谷仓Circular Barn_Silver---(DP优化 / )队列 + 贪心(复杂度O(2n))---DD(XYX)​​​​​​​的博客的更多相关文章

  1. 洛谷 P3137 [USACO16FEB]圆形谷仓Circular Barn_Silver

    P3137 [USACO16FEB]圆形谷仓Circular Barn_Silver 题目描述 Being a fan of contemporary architecture, Farmer Joh ...

  2. 「 Luogu P3137 」X 「 USACO16FEB 」 圆形谷仓

    # 题目大意 管理大大给修下 $\text{Markdown}$ 吧,严重影响做题体验啊. 这道题的意思很简单就是给你一个长度是 $n$ 的环,这个环上不均匀的分布着 $n$ 头奶牛.一头奶牛移动要花 ...

  3. 拥挤的奶牛题解---队列优化DP---DD(XYX)​​​​​​​的博客

    拥挤的奶牛 时间限制: 1 Sec  内存限制: 128 MB 题目描述 FJ的n头奶牛(1<=n<=50000)在被放养在一维的牧场.第i头奶牛站在位置x(i),并且x(i)处有一个高度 ...

  4. mysql深度优化与理解(迄今为止读到最优秀的mysql博客)

    转载:https://www.cnblogs.com/shenzikun1314/p/6396105.html 本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如 ...

  5. hexo博客-性能优化

    前言 刚开始搭建博客的时候觉得很好玩,可是玩的久了,问题慢慢就出来了,就跟谈恋爱一样==.比如现在我访问博客的时候就感觉慢的要死,不可否认,使用hexo搭建服务器方便快捷,但是由于github作为服务 ...

  6. WordPress 性能优化:为什么我的博客比你的快

    WordPress 很慢? 很多博主都会感觉 WordPress 很慢?作为全世界最常用的建站和博客系统 WordPress 来说,在性能设计上肯定不会有太大的问题,WordPress 开发团队也肯定 ...

  7. [poj3017] Cut the Sequence (DP + 单调队列优化 + 平衡树优化)

    DP + 单调队列优化 + 平衡树 好题 Description Given an integer sequence { an } of length N, you are to cut the se ...

  8. dp优化1——sgq(单调队列)

    该文是对dp的提高(并非是dp入门,dp入门者请先参考其他文章) 有时候dp的复杂度也有点大...会被卡. 这几次blog大多数会讲dp优化. 回归noip2017PJT4.(题目可以自己去百度).就 ...

  9. 【烽火传递】dp + 单调队列优化

    题目描述 烽火台又称烽燧,是重要的防御设施,一般建在险要处或交通要道上.一旦有敌情发生,白天燃烧柴草,通过浓烟表达信息:夜晚燃烧干柴,以火光传递军情.在某两座城市之间有 n 个烽火台,每个烽火台发出信 ...

随机推荐

  1. 前端学习 linux —— shell 编程

    前端学习 linux - shell 编程 shell 原意是"外壳",与 kernel(内核)相对应,比喻内核外的一层,是用户和内核沟通的桥梁.shell 有很多种,国内通常使用 ...

  2. LVGL库入门教程 - 颜色和图像

    颜色 构造颜色 在 LVGL 中,颜色以结构 lv_color_t 表示.在最开始移植整个工程时,曾经在 lv_conf.h 中修改过颜色深度: /*Color depth: 1 (1 byte pe ...

  3. UiPath鼠标操作元素的介绍和使用

    一.鼠标(mouse)操作的介绍 模拟用户使用鼠标操作的一种行为,例如单击,双击,悬浮.根据作用对象的不同我们可以分为对元素的操作.对文本的操作和对图像的操作 二.鼠标对元素的操作在UiPath中的使 ...

  4. 【python基础】第11回 数据类型内置方法 02

    本章内容概要 列表内置方法 字典内置方法 元组内置方法 集合内置方法 可变类型与不可变类型 本章内容详细 1.列表内置方法 list 列表在调用内置方法之后不会产生新的值 1.1 统计列表中的数据值的 ...

  5. [零基础学IoT Pwn] 环境搭建

    [零基础学IoT Pwn] 环境搭建 0x00 前言 这里指的零基础其实是我们在实战中遇到一些基础问题,再相应的去补充学习理论知识,这样起码不会枯燥. 本系列主要是利用网上已知的IoT设备(路由器)漏 ...

  6. NC23053 月月查华华的手机

    NC23053 月月查华华的手机 题目 题目描述 月月和华华一起去吃饭了.期间华华有事出去了一会儿,没有带手机.月月出于人类最单纯的好奇心,打开了华华的手机.哇,她看到了一片的QQ推荐好友,似乎华华还 ...

  7. SpringCloud微服务实战——搭建企业级开发框架(四十三):多租户可配置的电子邮件发送系统设计与实现

      在日常生活中,邮件已经被聊天软件.短信等更便捷的信息传送方式代替.但在日常工作中,我们的重要的信息通知等非常有必要去归档追溯,那么邮件就是不可或缺的信息传送渠道.对于我们工作中经常用到的系统,里面 ...

  8. Java学习dayo4

    分支结构和循环语句 1.包的概念 包就是文件夹 包的命名规范:全小写,域名倒置,不能以点开头或结尾,可以包含点,每存在一个点表示一个子目录 举例:com.baidu.demo 定义包后,包中的java ...

  9. 运行Flutter时连接超时

    这个墙不知道浪费了开发者多少的时间!!!!!!!!!!!!!!!!!!! 1.修改仓库地址为阿里仓库: 编辑android/build.gradle,把文件中的两处: google() jcenter ...

  10. freeswitch的话单模块

    概述 最近因为业务需要,在看freeswitch中话单相关的一些模块. 在voip的使用过程中,话单是重要的基础模块,涉及到计费和问题查找. 呼叫话单最重要的一点是稳定,不能有错误或遗漏. 本章对fs ...