[AT2369] [agc013_c] Ants on a Circle
题目链接
AtCoder:https://agc013.contest.atcoder.jp/tasks/agc013_c
洛谷:https://www.luogu.org/problemnew/show/AT2369
Solution
首先可以注意到他们的相对位置是不变的。
然后两只蚂蚁相遇可以看作是他们穿过了彼此然后交换编号。
那么我们就可以得到最后的位置了,只需要确定编号就好了。
注意到如果有一只蚂蚁穿过了\(l-1\sim 0\)之间,所有编号都会左移(右移)一格。
那么我们只需要处理出他们编号是怎么移的就好了。
#include<bits/stdc++.h>
using namespace std;#define int long long void read(int &x) {x=0;int f=1;char ch=getchar();for(;!isdigit(ch);ch=getchar()) if(ch=='-') f=-f;for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0';x*=f;
}void print(int x) {if(x<0) putchar('-'),x=-x;if(!x) return ;print(x/10),putchar(x%10+48);
}
void write(int x) {if(!x) putchar('0');else print(x);putchar('\n');}#define lf double
#define ll long long const int maxn = 1e5+10;
const int inf = 1e9;
const lf eps = 1e-8;int p[maxn],n,c,l,t;signed main() {read(n),read(l),read(t);for(int i=1,x;i<=n;i++) {read(p[i]),read(x);x=x==2?-1:x;p[i]+=x*t;if(p[i]>0) c+=p[i]/l;else if(p[i]<0) c+=(p[i]+1)/l-1;p[i]=(p[i]%l+l)%l;}sort(p+1,p+n+1);c=(c%n+n)%n;for(int i=c+1;i<=n;i++) write(p[i]);for(int i=1;i<=c;i++) write(p[i]);return 0;
}
转载于:https://www.cnblogs.com/hbyer/p/10717599.html
[AT2369] [agc013_c] Ants on a Circle相关推荐
- atCoder Ants on a Circle(又是蚂蚁问题。。。)
atCoder Ants on a Circle(又是蚂蚁问题...) 传送门 题意:一个圈,蚂蚁在上面以相同的速度和不同的方向走,问t秒后它们各自的位置. 解法:和经典的蚂蚁问题一致,把相撞的情况看 ...
- AtCoder Grand Contest 013 题解
A - Sorted Arrays 贪心,看看不下降和不上升最长能到哪,直接转移过去即可. 1 //waz 2 #include <bits/stdc++.h> 3 4 using nam ...
- 2016区域赛前冲刺训练
UPD 2016.10.23 shift-and (2题) Codeforces 训练 现在已经完成了: 191 [Codeforces Round #377] (6/6) Div 2 A Buy a ...
- OpenCV 学习笔记03 boundingRect、minAreaRect、minEnclosingCircle、boxPoints、int0、circle、rectangle函数的用法...
函数中的代码是部分代码,详细代码在最后 1 cv2.boundingRect 作用:矩形边框(boundingRect),用于计算图像一系列点的外部矩形边界. cv2.boundingRect(arr ...
- 旷视提Circle Loss,统一优化视角,革新深度特征学习范式 | CVPR 2020
作者 | 旷视研究院 本文是旷视 CVPR 2020的被收录论文解读第.它提出用于深度特征学习的Circle Loss,从相似性对优化角度正式统一了两种基本学习范式(分类学习和样本对学习)下的损失函数 ...
- CVPR 2020 Oral | 旷视提出Circle Loss,革新深度特征学习范式
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文系旷视研究院投稿 本文是旷视CVPR2020论文系列解读第4篇, ...
- CVPR 2020 Oral | 旷视研究院提出Circle Loss,革新深度特征学习范式
IEEE 国际计算机视觉与模式识别会议 CVPR 2020 (IEEE Conference on Computer Vision and Pattern Recognition) 将于 6 月 14 ...
- codeforces1700数学:E2. Close Tuples (hard version)[组合计数 逆向统计] D. Circle Game[对称博弈考虑对称状态的胜负]
E2. Close Tuples (hard version) 题目大意: 给定一个长度为n的序列a,给定一个长度为n的序列a,给定一个长度为n的序列a, 要从中挑选一个m元组(ai1,ai2,ai3 ...
- R语言distVincentyEllipsoid函数计算大圆距离实战(Great Circle Distance)
R语言distVincentyEllipsoid函数计算大圆距离实战(Great Circle Distance) 目录 R语言distVincentyEllipsoid函数计算大圆距离实战(Grea ...
最新文章
- 8086CPU写汇编的规则
- 剑指offer——最小的K个数和数组中第K大的元素
- Java SSM篇3——Mybatis
- Exploring Ionic Lists
- Net设计模式实例之建造者模式(Builder Pattern)(1)
- 数组转ArrayList的正确方式
- 史上最全的vim快捷键
- 【第十届“泰迪杯”数据挖掘挑战赛】C题:疫情背景下的周边游需求图谱分析 问题三方案及Python实现
- PCS7专用台式计算机,PCS7.V7.0.深入浅出.pdf
- HR人事管理系统软件有哪些?如何选择HR人事管理软件?
- git tracked branch
- 编译coccinelle-1.0.0-rc24时的错误Error: Unbound module Parmap以及解决方法
- SQP(序列二次规划中的Marotos效应)
- html编写红头文件
- 慎用小封装大阻值电阻
- vue全家桶学习笔记
- java代码--------随机输出100个随机数,要求每行10个数
- Photoshop CS6调整界面字体大小
- 怎么脚本控制虚拟机的服务器,宿主机脚本控制虚拟机
- 《那些年啊,那些事——一个程序员的奋斗史》——124
热门文章
- 在VirtualBox下安装linux操作系统
- 2019 年 Spread.NET 产品路线图(Roadmap)
- 个人站立会议(11月17日)
- ORM 和 JDBC有何不一样
- [快速数论变换 NTT]
- CABasicAnimation 动画组合
- Thread系列之Thread.Join()
- flash与字符串:数组转换为字符串
- 在OpenCV环境下写的灰度图像二维傅里叶换,幅值计算,频谱平移和将数值归一化到0到255区间的四个函数
- MATLAB的fft2和OpeCV的cvDFT的结果应该是一样的,但为什么有时候会相差255倍呢?