AtCoder Regular Contest 082
我都出了F了……结果并没有出E……atcoder让我差4分上橙是啥意思啊……
C - Together
题意:把每个数加1或减1或不变求最大众数。
#include<cstdio>
#include<algorithm>
using namespace std; int read_p,read_ca;
inline int read(){
read_p=;read_ca=getchar();
while(read_ca<''||read_ca>'') read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p;
}
int t[],n,a;
int main(){
n=read();
for (int i=;i<=n;i++){
a=read();
t[a]++;t[a+]++;t[a+]++;
}
a=;
for (int i=;i<=;i++) if (t[i]>a) a=t[i];
printf("%d\n",a);
}
D - Derangement
题意:求把一个排列变成错排的最少操作数,操作是交换相邻俩位置。
#include<cstdio>
#include<algorithm>
using namespace std; int read_p,read_ca;
inline int read(){
read_p=;read_ca=getchar();
while(read_ca<''||read_ca>'') read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p;
}
int t[],n,a=;
int main(){
n=read();
for (int i=;i<=n;i++){
t[i]=read();
}
for (int i=;i<n;i++)
if (t[i]==i) a++,swap(t[i],t[i+]);
if (t[n]==n) a++;
printf("%d\n",a);
}
E - ConvexScore
题意:一个凸包的价值为其$2^{内部点数}$求所以凸包价值之和。
题解:窝好蠢啊,居然没想到这个……$2^{内部点数}$其实就是把每个集合都统计了一遍,这样就只剩下直线的集合没被统计了。
代码还没写(不想补题)
F - Sandglass
题意:一沙漏初始上边那个为a,下边为X-a,每秒上边向下边掉一个,一些时刻会把沙漏倒过来,问某时刻的状态。
题解:反正就是个分段函数,而且只有3段。
#include<cstdio>
#include<algorithm>
#define MN 110000
#define int long long
using namespace std; int read_p,read_ca;
inline int read(){
read_p=;read_ca=getchar();
while(read_ca<''||read_ca>'') read_ca=getchar();
while(read_ca>=''&&read_ca<='') read_p=read_p*+read_ca-,read_ca=getchar();
return read_p;
}
int n,m,X,K,T[MN],la=,Q,t,a,l[MN],r[MN],L[MN],R[MN];
signed main(){
X=read();
K=read();
l[]=;L[]=;r[]=X;R[]=X;
for (int i=;i<=K;i++){
a=read();
T[i]=a;
l[i]=l[i-];r[i]=r[i-];
L[i]=L[i-]-(a-la);
R[i]=R[i-]-(a-la);
if (L[i]<=R[i])
if (R[i]<=){
l[i]=;L[i]=X;r[i]=;R[i]=X;
}else{
if (L[i]<)
l[i]-=L[i],
L[i]=; L[i]=X-L[i];R[i]=X-R[i];
}else
if (L[i]<=){
l[i]=;L[i]=X;r[i]=;R[i]=X;
}else{
if (R[i]<)
r[i]+=R[i],
R[i]=; L[i]=X-L[i];R[i]=X-R[i];
}
la=a;
} /*for (int i=0;i<=K;i++)
printf("%d %d %d %d %d\n",i,l[i],r[i],L[i],R[i]);*/
Q=read();
for (int i=;i<=Q;i++){
t=read();a=read();
int _l=,_r=K,mid;
while (_l<_r){
if (T[mid=_l+_r+>>]<=t) _l=mid;else _r=mid-;
}
t-=T[_l];
if (a<=l[_l]) a=L[_l];else if (a>=r[_l]) a=R[_l];else if (L[_l]==R[_l]) a=L[_l];else
if (L[_l]<R[_l]) a=L[_l]+(a-l[_l]);else a=L[_l]-(a-l[_l]); a-=t;
if (a<) a=; if (_l&) a=X-a; printf("%lld\n",a);
}
}
AtCoder Regular Contest 082的更多相关文章
- AtCoder Regular Contest 082 D Derangement
AtCoder Regular Contest 082 D Derangement 与下标相同与下个交换就好了.... Define a sequence of ’o’ and ’x’ of lengt ...
- AtCoder Regular Contest 082 (ARC082) E - ConvexScore 计算几何 计数
原文链接http://www.cnblogs.com/zhouzhendong/p/8934254.html 题目传送门 - ARC082 E 题意 给定二维平面上的$n$个点,定义全集为那$n$个点 ...
- 【推导】【模拟】AtCoder Regular Contest 082 F - Sandglass
题意:有个沙漏,一开始bulb A在上,bulb B在下,A内有a数量的沙子,每一秒会向下掉落1.然后在K个时间点ri,会将沙漏倒置.然后又有m个询问,每次给a一个赋值ai,然后询问你在ti时刻,bu ...
- 【计算几何】【推导】【补集转化】AtCoder Regular Contest 082 E - ConvexScore
题意:平面上给你N个点.对于一个“凸多边形点集”(凸多边形点集被定义为一个其所有点恰好能形成凸多边形的点集)而言,其对答案的贡献是2^(N个点内在该凸多边形点集形成的凸包内的点数 - 该凸多边形点集的 ...
- 【推导】AtCoder Regular Contest 082 D - Derangement
题意:给你一个排列a,每次可以交换相邻的两个数.让你用最少的交换次数使得a[i] != i. 对于两个相邻的a[i]==i的数,那么一次交换必然可以使得它们的a[i]都不等于i. 对于两个相邻的,其中 ...
- AtCoder Regular Contest 082 E
Problem Statement You are given N points (xi,yi) located on a two-dimensional plane. Consider a subs ...
- AtCoder Regular Contest 082 F
Problem Statement We have a sandglass consisting of two bulbs, bulb A and bulb B. These bulbs contai ...
- AtCoder Regular Contest 082 ABCD
A #include<bits/stdc++.h> using namespace std; ]; int n,m; int main(){ cin>>n>>m; ...
- 【AtCoder Regular Contest 082 F】Sandglass
[链接]点击打开链接 [题意] 你有一个沙漏. 沙漏里面总共有X单位的沙子. 沙漏分A,B上下两个部分. 沙漏从上半部分漏沙子到下半部分. 每个时间单位漏1单位的沙子. 一开始A部分在上面.然后在r1 ...
随机推荐
- JDBC结果集rs.next()注意事项
写在前面: 用JDBC从数据库中查询数据要用到结果集ResultSet,其中我们在获取结果的时候经常用到rs.next()方法来判断是否查询到了数据. 但是要特别注意,next()方法用一次,游标就往 ...
- while,until
while ] 注释:中括号写的条件判断式中不能用<.=.>这类符号,要用-lt.-eq.-gt这类符号,且变量前要用$来取值 do sum=$(($sum+$i)) i=$(($i+)) ...
- js判断文件类型大小并给出提示
上传文件是工作中常用的功能,不同的场景对不同的文件类型和文件大小都有不同的要求: <form id="uploadForm" method="post" ...
- Visual simultaneous localization and mapping: a survey 论文解析(全)
当激光或声纳等距离传感器被用来构建小的静态环境的二维地图时,SLAM的问题被认为是解决的.然而,对于动态,复杂和大规模的环境,使用视觉作为唯一的外部传感器,SLAM是一个活跃的研究领域. 第一部分是简 ...
- MAMP升级mysql5.6到5.7
RT 1.先把mamp环境停掉 sudo sh /Applications/MAMP/bin/stop.sh 2.然后使用brew安装mysql5.7 brew install mysql 3.默认安 ...
- ln 命令详解
ln 命令 作用:它的功能是为某一个文件在另外一个位置建立一个同步的链接 参数:必要参数: -b 删除,覆盖以前建立的链接 -d 允许超级用户制作目录的硬链接 -f 强制执行 -i 交互模式, ...
- Asp.net IIS Express 无法启动 解决办法
http://www.mamicode.com/info-detail-1893424.html 一 .其他项目都可以,就这么一个不行 用记事本或者其他什么文本编辑器,打开项目的.csproj文件,定 ...
- Scrum And Teamwork
Scrum Learning 概念 Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发.Scrum包括了一系列实践和预定义角色的过程骨架.Scrum中的主要角色包括同项目经理类似的Scrum主管 ...
- SpringMVC @SessionAttributes注解
@SessionAttributes 注解只能作用到类上 @SessionAttributes(value={"user"},types={String.class}) @Sess ...
- 扎实基础之从零开始-Nginx集群分布式.NET应用
1 扎实基础之快速学习Nginx Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.其特点是占有内存少 ...