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 翻车记的更多相关文章

  1. Codeforces Round#500 Div.2 翻车记

    A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...

  2. Codeforces Round#509 Div.2翻车记

    A:签到 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> # ...

  3. Educational Codeforces Round 56 Div. 2 翻车记

    A:签到. B:仅当只有一种字符时无法构成非回文串. #include<iostream> #include<cstdio> #include<cmath> #in ...

  4. Educational Codeforces Round 55 Div. 2 翻车记

    A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...

  5. Codeforces Round #524 Div. 2 翻车记

    A:签到.room里有一个用for写的,hack了一发1e8 1,结果用了大概600+ms跑过去了.惨绝人寰. #include<iostream> #include<cstdio& ...

  6. Codeforces Round#516 Div.1 翻车记

    A:开场懵逼.然后发现有人1min过,于是就sort了一下,于是就过了.正经证明的话,考虑回文串两端点一定是相同的,所以最多有Σcnti*(cnti+1)/2个,cnti为第i种字母出现次数.而sor ...

  7. Codeforces Round #517 Div. 1翻车记

    A:真的懵逼了.冷静了半天之后决定二分一下答案,然后先a安排上尽量小的再贪心地一个个扩大.40min才过.这个做法非常怂的以代码复杂度和时间复杂度为代价换取了比较稳的正确性,事实上由于1~n可以组合出 ...

  8. Educational Codeforces Round 53 Div. 2翻车记

    A:差点开场懵逼.只要有相邻两位不同就可以作为答案. #include<iostream> #include<cstdio> #include<cmath> #in ...

  9. Codeforces Round #394 (Div. 2) 颓废记

    昨天晚上(今天凌晨),又忍不住去打CF.(本蒟弱到只能打Div.2)... 我觉得我可以用一个词概括我这次的CF: 呵呵 刚一开赛,我就codeforces访问失败.. 后来好不容易能上了,两三分钟才 ...

随机推荐

  1. CF833D Red-Black Cobweb

    题面 题解 点分治大火题... 设白边数量为$a$,黑边为$b$,则$2min(a,b)\geq max(a,b)$ 即$2a\geq b\;\&\&2b\geq a$ 考虑点分治时如 ...

  2. 【BZOJ4016】[FJOI2014]最短路径树问题

    [BZOJ4016][FJOI2014]最短路径树问题 题面 bzoj 洛谷 题解 虽然调了蛮久,但是思路还是蛮简单的2333 把最短路径树构出来,然后点分治就好啦 ps:如果树构萎了,这组数据可以卡 ...

  3. KVM虚拟机无法启动

    一.启动虚拟机报错: [root@KVM ~]# virsh start node-mssql-test01 error: Failed to start domain node-mssql-test ...

  4. L013-linux基础正则表达式手把手实战讲解小节

    L013-linux基础正则表达式手把手实战讲解小节 这么一看又有10天没更新博客了,最近也一直在学就是时间比较闲散,再加上做上次老师留的十多道题,所以时间比较紧张,本来做完题准备直接先看L014讲解 ...

  5. 接口文档神器Swagger(下篇)

    本文来自网易云社区 作者:李哲 二.Swagger-springmvc原理解析 上面介绍了如何将springmvc和springboot与swagger结合,通过简单配置生成接口文档,以及介绍了swa ...

  6. TCP的三次握手和四次分手

    TCP的三次握手 图解:     • 第一次握手:客户端发送syn包到服务器,并进入syn_send状态,等待服务器进行确认: • 第二次握手:服务器收到客户端的syn包,必须确认客户的SYN,同时自 ...

  7. Oracle数据库备份与还原命令

    http://www.2cto.com/database/201305/210262.html

  8. axios封装(二)队列管理

    在某些特定的场景(比如 即时搜索 ,表格分页),会频繁的发起ajax请求,而由于ajax是异步API,所以返回的时序并不能够保证,这时候就需要实现一个ajax队列,在相同的请求发起时,取消处理上一个请 ...

  9. 小白初识 - 计数排序(CountingSort)

    计数排序,属于桶排序特殊的一种. 当要排序n个数据的时候,如果所处的范围不大,我们可以取其中的最大值K,并将数据分散在K个桶里面, 每个桶里面的数据都是相同的(这样省去了桶内排序的时间),然后顺序取出 ...

  10. 阿里云服务器Centos上Apache安装SSL证书配置Https

    首先我们先去阿里云申请一个免费的SSL证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232BzMSp5&co ...