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. Nginx入门篇(三)之虚拟主机配置

    一.虚拟主机概念 所谓虚拟主机,在Web服务当中就是一个独立的网站站点,这个站点对应独立的域名(也有可能是IP或者端口),具有独立的程序和资源目录,可以独立地对外提供服务供用户访问. 这个独立的站点在 ...

  2. 16、Java并发编程:Timer和TimerTask

    Java并发编程:Timer和TimerTask(转载) 下面内容转载自: http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer ...

  3. Lambada表达式的作用

    Lambda函数的用处   假设你设计了一个地址簿的类.现在你要提供函数查询这个地址簿,可能根据姓名查询,可能根据地址查询,还有可能两者结合.要是你为这些情况都写个函数,那么你一定就跪了.所以你应该提 ...

  4. Linux大全

    Linux 基本指令介紹   一定要先學會的指令:ls, more, cd, pwd, rpm, ifconfig, find 登入與登出(開機與關機):telnet, login, exit, sh ...

  5. JavaFX学习笔记——ControlsFX控件集学习——ToggleSwitch和BreadCrumbBar例子

    ToggleSwitch ToggleSwitch ts = new ToggleSwitch("开"); 效果 BreadCrumbBar BreadCrumbBar<St ...

  6. elasticserach + kibana环境搭建

    一.java环境安装: 1.安装jdk,点击下一步即可. 2.环境变量配置 1) 找到jdk安装目录:C:\Program Files\Java\jdk1.8.0_161 2) 配置环境变量 ①找到环 ...

  7. React 初学

    React.createClass({}); getInitialState,this.setState({}); {}解读代码块,外层不要加引号,比如onChange={this.handleCha ...

  8. Python中import的as语法

    在Python中,如果import的语句比较长,导致后续引用不方便,可以使用as语法,比如: import dir1.dir2.mod # 那么,后续对mod的引用,都必须是dir1.dir2.mod ...

  9. int 和 Integer的区别

    int是基本类型,默认值为0,int a=5;a只能用来计算,一般作为数值参数. Integer是引用类型,默认值为null, Integer b=5;b是一个对象,它可以有很多方法,一般做数值转换, ...

  10. ASP.NET MVC5 学习系列之模型绑定

    一.理解 Model Binding Model Binding(模型绑定) 是 HTTP 请求和 Action 方法之间的桥梁,它根据 Action 方法中的 Model 类型创建 .NET 对象, ...