AGC027B Garbage Collector

一道很好的构造题
原题链接
很快就能想到,捡每个垃圾的能量可以最后再算。然后,对于每个垃圾,在路上耗费的能量仅与它是第几个被捡的有关,于是我们考虑将垃圾分组。
首先,我们定义\(F(x,i)\)为某次从\(0\)出发,捡到坐标为\(x\)的垃圾的次序为\(i\)的花费,则有:

\(F(x,i)=\left\{\begin{matrix} 5x\ \ (i=1)\\ (2i-1)x\ \ (i>1) \end{matrix}\right.\)

由上式,易知对于每一组,让机器人先捡最右边的垃圾,然后往回一个一个捡是最优的。同时,将所有垃圾从后往前按一个固定的间隔\(k\)分组是最优的。
所以,我们只需要枚举\(k\),再利用前缀和,\(O(logn)\)计算组间距为\(k\)的花费,更新一下答案就行了。
为什么是\(O(logn)\)?因为调和级数的性质,\(\sum\limits_{i=1}^n\frac{1}{i}=logn+O(1)\)
因为中途计算时可能会爆\(long long\),所以我们要特判一下,当前的花费大于等于\(ans\)时就可以跳出循环了。
Code:
#include <bits/stdc++.h>using namespace std;#define ll long longint n;
ll x, ans = (ll)9e18, a[200005];int main() {cin >> n >> x;for(int i = 1; i <= n; ++i) cin >> a[i], a[i] += a[i-1];for(int k = 1; k <= n; ++k) {ll coef = 3LL, sum = 0;for(int i = n; i >= 1; i -= k) {sum += (a[i]-a[max(0, i-k)])*max(coef, 5LL), coef += 2;if(sum >= ans) break; //防爆long long}ans = min(ans, sum+(k+n)*x);}cout << ans << endl;return 0;
}

转载于:https://www.cnblogs.com/dummyummy/p/9660416.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/413304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[css] 你认为sass和less的最大区别是什么呢?你喜欢哪个?为什么?

[css] 你认为sass和less的最大区别是什么呢&#xff1f;你喜欢哪个&#xff1f;为什么&#xff1f; less 没有循环只有递归&#xff1b; less 没有 if 只有 when&#xff1b; sass 多个 function 很棒&#xff0c;否则只能堆变量了&#xff1b; less 拼接类名的字符串需加上 ~…

Python爬虫自学之第(零)篇——爬虫思路和request模块使用

题外话&#xff1a; 《Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元》相信过去BTC的人&#xff0c;信不信未来的PI&#xff0c;了解一下&#xff0c;唯一一个高度与之持平的项目 爬虫思路 无思路不成器&#xff0c;如果你怎么想都想不出爬虫的原理&#xff0c;…

[css] css的哪个属性可以把所有元素或其父元素的属性重置呢?

[css] css的哪个属性可以把所有元素或其父元素的属性重置呢&#xff1f; all:unset个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

pycharm中更新pip版本的问题

经常使用Python的都知道pip&#xff0c;但有时候&#xff0c;下载某个模块不成功&#xff0c;提示信息如下 pytharm查看自带的pip版本 解决方式一&#xff1a; pytharm的terminal里卸载pip再安装pip 如果还不行&#xff0c;解决方式二 去你当前的项目路径下找到lib文件夹下的…

[css] 如何取消从父级元素继承下来的CSS样式呢?

[css] 如何取消从父级元素继承下来的CSS样式呢&#xff1f; 如果是恢复单个属性样式&#xff0c;例如font-size&#xff0c;可以使用 font-size: initial; 如果是将所有属性样式恢复为默认状态&#xff0c;可以使用 all: initial; 个人简介 我是歌谣&#xff0c;欢迎和大家…

小程序的wx.onAccelerometerChange

https://www.2cto.com/kf/201802/724174.html&#xff08;copy&#xff09; 也许有人会问&#xff0c;小程序中都是竖直app形态&#xff0c;要横竖屏判断有什么用?即使判断出了横屏状态&#xff0c;你能把小程序横过来?答案是不能的&#xff0c;但是判断当前设备处于横屏或者…

Python爬虫自学之第(②)篇——BeautifulSoup解析网页

题外话&#xff1a; 《Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元》相信过去BTC的人&#xff0c;信不信未来的PI&#xff0c;了解一下&#xff0c;唯一一个高度与之持平的项目 学了requests&#xff0c;了解了伪装技巧后&#xff0c;终于能爬到些比较正常的网页…

[css] 说下你对css样式的这几个属性值initial、inherit、unset、revert的理解

[css] 说下你对css样式的这几个属性值initial、inherit、unset、revert的理解 initial&#xff08;初始&#xff09;、inherit&#xff08;继承&#xff09;、unset&#xff08;未设置&#xff09;、revert&#xff08;还原&#xff09; inherit可以继承父级元素的属性&#x…

Django通过中间件实现登录验证demo

前提&#xff1a;中间件版的登录验证需要依靠session&#xff0c;所以数据库中要有django_session表。 1 from django.conf.urls import url2 from django.contrib import admin3 from app01 import views4 5 urlpatterns [6 url(r^admin/, admin.site.urls),7 url(r^…

Python爬虫自学之第(③)篇——实战:requests+BeautifulSoup实现静态爬取

题外话&#xff1a; 《Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元》相信过去BTC的人&#xff0c;信不信未来的PI&#xff0c;了解一下&#xff0c;唯一一个高度与之持平的项目 前篇全片都是生硬的理论使用&#xff0c;今天就放个静态爬取的实例让大家体验一下B…

[css] 如何解决css加载字体跨域的问题?

[css] 如何解决css加载字体跨域的问题&#xff1f; 刚才碰到一个css加载字体跨域问题&#xff0c;记录一下。 站点的动态请求与静态文件请求是不同的域名的。站点的域名为 www.domain.com&#xff0c;而静态文件的域名为 st.domain.com。 问题&#xff1a; 页面中加载css文件&…

django cookie、session

1.cookie (1)什么是cookie? 服务器让浏览器保存在浏览器本地的键值对 (2) 为什么要有cookie&#xff1f; 因为http协议无状态&#xff0c;每一次访问请求没有任何关系&#xff0c;无法保存状态 (3)cookie的特点&#xff1f; cookie是由服务器给浏览器设置的 在同一个浏览器中访…

Python爬虫自学之第(④)篇——强大的正则表达式,re模块

题外话&#xff1a; 《Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元》相信过去BTC的人&#xff0c;信不信未来的PI&#xff0c;了解一下&#xff0c;唯一一个高度与之持平的项目 如果把BeautifulSopu比喻成通过线索一步步接近目标的侦探的话&#xff0c;那么正则…

[css] 当使用@font-face的时候,为什么src中要加入local呢?

[css] 当使用font-face的时候&#xff0c;为什么src中要加入local呢&#xff1f; 网上的说法片面不一&#xff0c;CSDN和掘金都没见到正确回复&#xff0c;然后我在MDN找到了比较明确的说法。MDN的 font-face 这是一个CSS 规则 &#xff0c;它允许网页开发者为其网页指定在…

Python爬虫自学之第(⑤)篇——爬取某宝商品信息

题外话&#xff1a; 《Pi Network 免费挖矿国外热门项目 一个π币大约值3元到10元》相信过去BTC的人&#xff0c;信不信未来的PI&#xff0c;了解一下&#xff0c;唯一一个高度与之持平的项目 能看到这里说明快进入动态网页爬取了&#xff0c;在这之前还有一两个知识点要了解&…

Vue通信、传值的多种方式,详解

Vue通信、传值的多种方式&#xff0c;详解 转自&#xff1a;https://blog.csdn.net/qq_35430000/article/details/79291287 一、通过路由带参数进行传值 ①两个组件 A和B,A组件通过query把orderId传递给B组件&#xff08;触发事件可以是点击事件、钩子函数等&#xff09; this.…

[css] 你有使用过font-size-adjust属性吗?说说它的作用是什么?

[css] 你有使用过font-size-adjust属性吗&#xff1f;说说它的作用是什么&#xff1f; 很少用。 实际应用场景&#xff1a; 实际应用场景在指定字体时&#xff0c;出于安全考虑&#xff0c;人们通常会为一个元素指定多种字体&#xff0c;希望当首选字体不可用时&#xff0c;让…

Python代写CSSE1001/7030 python程序作业、代做python CSSE1001/7030程序作业、 代写CSSE1001/7030 python 作业...

Python代写CSSE1001/7030 python程序作业、代做python CSSE1001/7030程序作业、 代写CSSE1001/7030 python 作业UnoAssignment 2CSSE1001/7030Semester 2, 2018Version 1.0.110 marksDue Friday 21st September, 2018, 20:30IntroductionThis assignment follows a programming…

selenium等待定位标签加载完再执行

遇到的问题描述 我们经常会碰到用selenium操作页面上某个元素的时候&#xff0c; 需要等待页面加载完成后&#xff0c; 才能操作。 否则页面上的元素不存在&#xff0c;会抛出异常。 比如&#xff1a; 一个动态网页使用了ajax的异步加载&#xff0c;我们需要等待元素加载…

[css] body{height:100%}和html,body{height:100%}有什么区别?为什么html要设置height:100%呢,html不就是整个窗口吗?

[css] body{height:100%}和html,body{height:100%}有什么区别&#xff1f;为什么html要设置height:100%呢&#xff0c;html不就是整个窗口吗&#xff1f; html是body的父级&#xff0c;在缺少了父级的宽高之后&#xff0c;如果给body设置一个渐变色背景的话将不会正常显示。个…