Codeforces Round#514 Div.2 翻车记
A:签到
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 100010
int n,l,m;
struct data{int x,y;
}a[N];
int main()
{
n=read(),l=read(),m=read();
for (int i=;i<=n;i++)
{
int x=read(),y=read();
a[i].x=x,a[i].y=x+y;
}
a[].x=a[].y=,a[n+].x=a[n+].y=l;
int ans=;
for (int i=;i<=n+;i++) ans+=(a[i].x-a[i-].y)/m;
cout<<ans;
return ;
}
B:只能对于一个八个方向都被要求染色的位置染色。染完之后看一下和所要求的图是否相同就行了。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 1010
int n,m,a[N][N],b[N][N];
int main()
{
n=read(),m=read();
for (int i=;i<=n;i++)
{
for (int j=;j<=m;j++)
{
char c=getchar();
while (c!='#'&&c!='.') c=getchar();
if (c=='#') a[i][j]=;
else a[i][j]=;
}
}
for (int i=;i<=n;i++)
for (int j=;j<=m;j++)
if (a[i-][j]&&a[i][j-]&&a[i][j+]&&a[i+][j]&&a[i+][j+]&&a[i+][j-]&&a[i-][j+]&&a[i-][j-])
b[i-][j]=b[i][j-]=b[i][j+]=b[i+][j]=b[i+][j+]=b[i+][j-]=b[i-][j+]=b[i-][j-]=;
for (int i=;i<=n;i++)
for (int j=;j<=m;j++)
if (a[i][j]!=b[i][j]) {cout<<"NO";return ;}
cout<<"YES";
return ;
}
C:要求字典序最大也就要求gcd的变化尽量早出现。如果n>=4,最容易使gcd增大的方法肯定是删掉所有奇数。所以递归删除即可。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 1000010
int n;
void print(int n,int s)
{
if (n==) {cout<<s;return;}
if (n==) {cout<<s<<' '<<(s<<);return;}
if (n==) {cout<<s<<' '<<s<<' '<<s*;return;}
for (int i=;i<=(n+)>>;i++) printf("%d ",s);
print(n>>,s*);
}
int main()
{
n=read();
print(n,);
return ;
}
D:二分圆半径,对于每个圆就可以求出它所要求的圆心所在区间,判断一下有没有交。然而不知道是写挂还是卡精度了,一个半小时都没搞出来,惨炸。
//wa on 5
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int read()
{
int x=,f=;char c=getchar();
while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
return x*f;
}
#define N 100010
int n;
long double eps=1E-;
struct data{int x,y;
}a[N];
struct data2
{
long double x;int op;
bool operator <(const data2&a) const
{
return x<a.x;
}
}b[N];
bool check(long double k)
{
int t=;
for (int i=;i<=n;i++)
{
if (*k-a[i].y<) return ;
long double x=sqrt(a[i].y)*sqrt(*k-a[i].y);
b[++t].x=a[i].x-x,b[t].op=,b[++t].x=a[i].x+x+eps,b[t].op=-;
}
sort(b+,b+t+);
int cnt=;
for (int i=;i<=t;i++)
{
cnt+=b[i].op;
if (cnt==n) return ;
}
return ;
}
long double calc()
{
long double l=,r=2e18,ans=2e18;
while ((r-l)/((r+l)/)>eps)
{
long double mid=(l+r)/;bool flag=;
if (check(mid)) ans=mid,r=mid-eps;
else l=mid+eps;
}
return ans;
}
int main()
{
n=read();
long double flag1=,flag2=;
for (int i=;i<=n;i++)
{
a[i].x=read(),a[i].y=read();
if (a[i].y<) flag2=;
if (a[i].y>) flag1=;
}
if (flag1&&flag2) {cout<<-;return ;}
if (flag2) for (int i=;i<=n;i++) a[i].y=-a[i].y;
double ans=calc();printf("%.7lf",ans);
return ;
}
E:好像很多人过然而还并没有看。
result:rank 329 rating -14
Codeforces Round#514 Div.2 翻车记的更多相关文章
- Codeforces Round#500 Div.2 翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
- Codeforces Round#509 Div.2翻车记
A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...
- Educational Codeforces Round 56 Div. 2 翻车记
A:签到. B:仅当只有一种字符时无法构成非回文串. #include<iostream> #include<cstdio> #include<cmath> #in ...
- Educational Codeforces Round 55 Div. 2 翻车记
A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...
- Codeforces Round #524 Div. 2 翻车记
A:签到.room里有一个用for写的,hack了一发1e8 1,结果用了大概600+ms跑过去了.惨绝人寰. #include<iostream> #include<cstdio& ...
- Codeforces Round#516 Div.1 翻车记
A:开场懵逼.然后发现有人1min过,于是就sort了一下,于是就过了.正经证明的话,考虑回文串两端点一定是相同的,所以最多有Σcnti*(cnti+1)/2个,cnti为第i种字母出现次数.而sor ...
- Codeforces Round #517 Div. 1翻车记
A:真的懵逼了.冷静了半天之后决定二分一下答案,然后先a安排上尽量小的再贪心地一个个扩大.40min才过.这个做法非常怂的以代码复杂度和时间复杂度为代价换取了比较稳的正确性,事实上由于1~n可以组合出 ...
- Educational Codeforces Round 53 Div. 2翻车记
A:差点开场懵逼.只要有相邻两位不同就可以作为答案. #include<iostream> #include<cstdio> #include<cmath> #in ...
- Codeforces Round #394 (Div. 2) 颓废记
昨天晚上(今天凌晨),又忍不住去打CF.(本蒟弱到只能打Div.2)... 我觉得我可以用一个词概括我这次的CF: 呵呵 刚一开赛,我就codeforces访问失败.. 后来好不容易能上了,两三分钟才 ...
随机推荐
- 人脸识别引擎SeetaFaceEngine中Alignment模块使用的测试代码
人脸识别引擎SeetaFaceEngine中Alignment模块用于检测人脸关键点,包括5个点,两个眼的中心.鼻尖.两个嘴角,以下是测试代码: int test_alignment() { std: ...
- [CF1042D] Petya and Array
题面 题解 这道题目到底叫什么好呢?? 史上最短CDQ分治题 记一个前缀和,然后CDQ分治即可. 代码 #include<cstdio> #include<algorithm> ...
- GlusterFS学习之路(三)客户端挂载和管理GlusterFS卷
一.客户端挂载 可以使用Gluster Native Client方法在GNU / Linux客户端中实现高并发性,性能和透明故障转移.可以使用NFS v3访问gluster卷.已经对GNU / Li ...
- MySQL入门篇(三)之my.cnf配置文件详解【转】
转自:https://www.cnblogs.com/panwenbin-logs/p/8360703.html #*** client options 相关选项 ***# #以下选项会被MySQL客 ...
- bzoj1854 [Scoi2010]游戏 ([SCOI2010]连续攻击游戏)
bzoj1854 [Scoi2010]游戏 ([SCOI2010]连续攻击游戏) 据说正解是并查集???我不会 这不是一道匈♂牙利好题吗??? 一个装备的两个属性都向它连边,然后跑一遍匈♂牙利 注意: ...
- 【MYSQL安装】mysql 5.6在centos6.4上的安装
1.卸载系统自带的mysql [root@zhangmeng ~]# rpm -qa |grep mysql mysql-libs--.el6_3.x86_64 [root@zhangmeng ~]# ...
- 【MySQL高级特性】高性能MySQL第七章
2017-07-25 14:15:43 前言:MYSQL从5.0和5.1版本开始引入了很多高级特性,例如分区.触发器等,这对有其他关系型数据库使用 背景的用户来说可能并不陌生.这些新特性吸引了很多用户 ...
- 真香!iOS云真机全新上线!
WeTest 导读 众多开发者已经渐渐适应通过调用线上的安卓真机进行远程调试,但是针对iOS设备,则依然存在“iOS设备昂贵”“无法及时采购iOS最新设备”“无法复现iOS历史系统版本”等问题. 为了 ...
- Keil出错解决方法
1.安装KEIL5后创建工程后出现这个报错 解决方法:打开下图目录的文件. Keil.STM32F1xx_DFP.pdsc文件是只读文件,必须将只读属性取消. 如下图所示,注释掉红色圆圈的哪一行,保存 ...
- redis主从配置+sentinel哨兵
redis主从配置+sentinel哨兵 1:编译环境准备 1.1环境确认 Redis是一个开源.支持网络.基于内存.键值对存储数据库,使用ANSI C编写.所以在搭建Redis服务器时需要C语言的编 ...