ZOJ 3981(Balloon Robot)
题目链接
题目意思:n支队伍,一张桌子有m个座位顺时针编号1~m。p个预言。预言a队伍在b时刻ac一道题目。机器人每个时刻都顺时针走一步,有需要气球的就发。每支队伍,ac后多少时刻没收到气球就有多少不开心的值,问机器人起始位置在哪里可以使得总的不高兴值最小。输出最小的不高兴值。
思路:把每次预言转一下,a,b。那就让a队伍位置往前推b的位置值加一。那么不高兴值就是机器人花费时间乘以值求和。然后换起始点可以O(1)转。
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
#include <string>
#include <vector>
#include <map>using namespace std;
typedef long long int LL;const int maxn=1e6+10;
int n,m,p;
map<int,int>val;
int pos[maxn];int main()
{int T;scanf("%d",&T);while(T--){scanf("%d%d%d",&n,&m,&p);val.clear();for(int i=1;i<=n;i++) scanf("%d",&pos[i]);for(int i=1;i<=p;i++){int x,y;scanf("%d%d",&x,&y);LL p=((pos[x]%m)*1ll-y+(1000000000ll/m+1)*m)%m;val[(int)(p)]++;}LL sum=0,base=0,ans;int st=val.begin()->first;;for(map<int,int>::iterator i=val.begin();i!=val.end();i++){sum+= i->second;base+=(1ll*i->second*(i->first - st));}ans=base;int prekey;map<int,int>::iterator it=val.begin();prekey=it->first;int preval=it->second;it++;for(;it!=val.end();it++){int dt=it->first-prekey;base=base-((sum-preval)*dt)+(m-dt)*preval;ans=min(base,ans);prekey=it->first;preval=it->second;}cout<<ans<<endl;}return 0;
}
转载于:https://www.cnblogs.com/coded-ream/p/7762718.html
ZOJ 3981(Balloon Robot)相关推荐
- ZOJ 3981 2017CCPC秦皇岛 A:Balloon Robot
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3981 题意: 第一行三个数字n, m, q表示有m个座位围成一个 ...
- 2017 秦皇岛CCPC Balloon Robot (ZOJ 3981)
题意:给出n个队伍,m个座位,q次A题的队伍与时间,下一行是n个队伍的坐的位置,再下面q行就是第x个队再第y秒A出一道题,然后有一个机器人,开始位置由你选,他每走一步 他就会向右走一格,走到m的时候会 ...
- Problem solved list
Time: 2017.11.7 :(tot solved 4) 组队训练(CCPC秦皇岛)solved 5 : ZOJ - 3981 Balloon Robot 思维 ZOJ - 3987 Numbe ...
- NOIP 好题推荐(DP+搜索+图论)POJ ZOJ
NOIP好题推荐(DP+搜索+图论)POJ ZOJ 1370 Gossiping (数论->模线性方程有无解的判断)+(图论->DFS) 1090 Chain ->格雷码和二进制码 ...
- 2021-10-30
算法 Brackets Sequence 题目描述 Let us define a regular brackets sequence in the following way: Empty sequ ...
- ZOj 2104——Let the Balloon Rise
老师在上课的时候讲过这道题,不过当时做这道题时还是纠结了许久,那时stl不熟,老是想着用数组,去重很麻烦,学了STL后,用map就简单多了. code : #include <iostream& ...
- POJ ZOJ题目分类
POJ,ZOJ题目分类(多篇整合版,分类很细致,全面) 标签: 题目分类POJ整理 2015-04-18 14:44 1672人阅读 评论(0) 收藏 举报 本文章已收录于: 分类: ACM资料(5) ...
- POJ,ZOJ题目分类(多篇整合版,分类很细致,全面)
水题: 3299,2159,2739,1083,2262,1503,3006,2255,3094 初级: 一.基本算法: (1)枚举 (1753,2965) (2)贪心(13 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自--http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
最新文章
- java 程序运行时注入方法_Spring入门(九):运行时值注入
- oracle部署部分整理
- Windows 64位驱动 关闭内存保护
- faster rcnn论文_faster-rcnn论文思路及代码编译
- 矩阵连乘 动态规划_Java动态规划
- 靠谱测试人员需要具备BUG洞察能力
- python怎么清理垃圾_python清理内存
- opencv matlab配置,Matlab下运行c++程序的配置(包含opencv的c++程序)
- sklearn.preprocessing.Imputer
- 蚂蚁金融科技守护金融安全,蚂蚁风险大脑助阵
- 40年间,“国货”如何崛起
- 关于这个DOS或者是C++中的左右斜杠问题
- OpenLayers官方教程二:实现简单的地图显示
- 子集生成算法 之 位向量法和增量构造法
- 希腊神话、罗马神话与中国神话人物大比拼
- ssh / sftp 远程登录出现:RSA host key for *.*.*.* has changed...的解决办法
- 短视频剪辑自学需要掌握的小技巧,初学者可收藏
- 淘宝小二腐败案,到底谁是黑幕?
- 丰田生产方式及其应用(zt)
- Win10 安裝pytorch 的坑
热门文章
- 计算机专业二本可以考cfa,计算机专业的CFA考生的备考经验分享
- 推荐系统实践读书笔记-08评分预测问题
- vue中使用Ueditor编辑器
- Azure基础:什么是云计算(2) NIST云计算模型定义
- 图案设计灵感怎么写_设计的灵感来源
- 移动互联网终端策略研究
- 移动互联网终端的touch事件,touchstart, touchend, touchmove
- SpringBoot项目中使用set方法后,自动保存问题
- 安卓火狐导出书签_firefox火狐浏览器中怎么导出书签备份收藏夹?
- Firefox for Android 代理设置