当前位置: 首页 > news >正文

P3137 [USACO16FEB] Circular Barn S

P3137 [USACO16FEB] Circular Barn S

思路:数据范围为O(n^2)那么因此我们可以暴力,那么如何进行构造呢?首先假设一头奶牛在a,一头在b,如果要使一个到b,另一个到c,(a<b<c),那肯定选择a的奶牛到b,b的奶牛到c的花费更小,那么我们可以保证每个地方必然有一个奶牛要移动,可以用优先队列存,提取最前面的奶牛,然后计算最前面的奶牛到这个点的距离,那么起始点怎么判断?就可以考虑用暴力的写法一个个去枚举。最后计算最小答案即可。

代码:

#include <bits/stdc++.h>
#define int long long
#define fi first 
#define se second
#define all(v) v.begin(),v.end()
using namespace std;
const int inf = 0x3f3f3f3f3f3f3f;
const int N = 5005;
int a[N];
int n;void solve(){cin>>n;for(int i=1;i<=n;i++)cin>>a[i];for(int i=n+1;i<=2*n;i++)a[i] = a[i-n];int ans = inf;priority_queue<int,vector<int>,greater<int>>q;for(int i=1;i<=n;i++){bool flag = true;int res = 0;for(int j=i;j<=i+n-1;j++){if(q.size() == 0 && a[j] == 0){flag = false;break;}int cnt = a[j];while(cnt--)q.push(j);int x = q.top();q.pop();res += (j-x)*(j-x);}if(!flag)continue;ans = min(ans,res);}cout<<ans<<"\n";}signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int T = 1;//cin>>T;while(T--){solve();}return 0;
}


http://www.mrgr.cn/news/55369.html

相关文章:

  • 关于Qt中进行输出的方式及对比分析
  • Vue2、Vue3温习解惑知识点
  • k8s 1.28.2 集群部署 harbor v2.11.1 接入 MinIO 对象存储
  • 有同学问:拿到大厂JAVA OFFER,但是会不会不稳定,有失业风险?!
  • 爬虫python=豆瓣Top250电影
  • 数据结构(线性表)
  • 全面了解 NGINX 的负载均衡算法
  • c语言基础程序——经典100道实例(二)
  • 中电金信重磅发布《金融数据安全治理白皮书》
  • 百度地图引入个性化样式,加载时出现大片白块的解决办法
  • 数据中心母线槽测温监控装置的优势和如何选型
  • Java 创建图形用户界面(GUI)组件详解之下拉式菜单(JMenu、JMenuItem)、弹出式菜单(JPopupMenu)等
  • 协议 MQTT
  • 国产操作系统的介绍与试用
  • 【ios】使用TestFlight将app分发给测试人员(超详细)
  • 微信小程序实现canvas电子签名
  • intel和AMD突然联姻,这操作给我看傻了
  • 移除Microsoft Edge浏览器“由你的组织管理“提示的方法
  • springboot图书馆座位预约系统-计算机毕业设计源码85670
  • Vue 变量关键字,var、let 和 const区别
  • 工业物联网网关的概述及工作原理-天拓四方
  • 怎么修改文件的创建日期?操作详细的5个超简单方法
  • RHCE的学习(3)
  • 【C++】哈希 Hash
  • 私域电商新纪元:消费增值模式引领业绩飞跃
  • stable diffusion WEBUI Brief summary