Codeforces Round #544 (Div. 3) (补)
D:没有注意到a==0&&b==0的情况,把自己卡崩了。对于数学公式推导一定要注意关于0的特殊情况,不可以少
#include <iostream>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <algorithm>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <stack>
#include <queue>
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const double Pi=3.14159265358979323846;
typedef long long ll;
const int MAXN=+;
const int dx[]={,,,,-};
const int dy[]={,-,,,};
const int INF = 0x3f3f3f3f;
const int NINF = 0xc0c0c0c0;
const ll mod=1e9+;
struct node
{
int a,b;
long double c;
}d[MAXN]; bool cmp(node a,node b)
{
return abs(a.a)<abs(b.a);
} bool cmp2(node a,node b)
{
return a.c<b.c;
} int main()
{
int n;scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%d",&d[i].a);
}
for(int i=;i<=n;i++)
{
scanf("%d",&d[i].b);
}
int cnts=;
for(int i=;i<=n;i++)
{
if(d[i].a==&&d[i].b==) cnts++; if(d[i].a!=)
d[i].c=d[i].b*1.0/d[i].a;
else d[i].c=;
}
sort(d+,d+n+,cmp);
int t=;
for(int i=;i<=n;i++)
{
if(d[i].a==) continue;
else
{
t=i;
break;
}
}
if(d[n].a==)
{
cout << cnts<<endl;
return ;
}
// cout <<t<<endl;
/* for(int i=t;i<=n;i++)
{
cout <<d[i].c<<" ";
}*/
sort(d+t,d+n+,cmp2);
/*for(int i=t;i<=n;i++)
{
cout <<d[i].c<<" ";
}*/
int ans=;int cnt=;long double x=d[t].c;
for(int i=t+;i<=n;i++)
{
if(d[i].c==x)
{
cnt++;
ans=max(ans,cnt);
}
else
{
x=d[i].c;
cnt=;
}
}
cout <<ans+cnts<<endl;
return ;
}
F1:被D心态搞崩,然后F1比赛的时候读不懂题,Your task is to find any spanning tree of this graph such that the maximum degree over all vertices is maximum possible这句话半天理解不了,下来问,才知道直接简单bfs就可以了,然后忘了bfs咋写,写了好长时间(太菜了)
#include <iostream>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <algorithm>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <stack>
#include <queue>
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
using namespace std;
const double Pi=3.14159265358979323846;
typedef long long ll;
const int MAXN=+;
const int dx[]={,,,,-};
const int dy[]={,-,,,};
const int INF = 0x3f3f3f3f;
const int NINF = 0xc0c0c0c0;
const ll mod=1e9+;
int dis[MAXN];
vector <int> G[MAXN]; void bfs(int M)
{
queue <int> Q;
Q.push(M);
dis[M]=;
while(!Q.empty())
{
int F=Q.front();Q.pop(); for(int i=;i<G[F].size();i++)
{
if(dis[G[F][i]]==)
{
printf("%d %d\n",F,G[F][i]);
Q.push(G[F][i]);
dis[G[F][i]]=;
}
}
}
}
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<=m;i++)
{
int a,b;scanf("%d%d",&a,&b);
G[a].push_back(b);
G[b].push_back(a);
}
int Msize=;int M=;
for(int i=;i<=n;i++)
{
if(G[i].size()>Msize)
{
Msize=G[i].size();
M=i;
}
}
bfs(M);
return ;
}
现在还是一碰见图和树的问题就发怵。
E:还没写出来
Codeforces Round #544 (Div. 3) (补)的更多相关文章
- Codeforces Round #544 (Div. 3) 题解
Codeforces Round #544 (Div. 3) D. Zero Quantity Maximization 题目链接:https://codeforces.com/contest/113 ...
- Codeforces Round #412 Div. 2 补题 D. Dynamic Problem Scoring
D. Dynamic Problem Scoring time limit per test 2 seconds memory limit per test 256 megabytes input s ...
- Codeforces Round #544 (Div. 3) dp + 双指针
https://codeforces.com/contest/1133/problem/E 题意 给你n个数(n<=5000),你需要对其挑选并进行分组,总组数不能超过k(k<=5000) ...
- Codeforces Round #544 (Div. 3) D. Zero Quantity Maximization
链接:https://codeforces.com/contest/1133/problem/D 题意: 给两个数组a,b. 同时ci = ai * d + bi. 找到一个d使c数组中的0最多. 求 ...
- Codeforces Round #544 (Div. 3) C. Balanced Team
链接:https://codeforces.com/contest/1133/problem/C 题意: 给n个数, 在这n个数中选最多n个数,来组成一个队伍. 保证这n个数的最大最小差值不大于5. ...
- Codeforces Round #544 (Div. 3) B.Preparation for International Women's Day
链接:https://codeforces.com/contest/1133/problem/B 题意: 给n个数,和一个k,在n个数中选几对数,保证没对数相加可以整除k. 求最大能选几个数. 思路: ...
- Codeforces Round #544 (Div. 3) A.Middle of the Contest
链接:https://codeforces.com/contest/1133/problem/A 题意: 给两个时间点,求中间时间点. 思路: 数学 代码: #include <bits/std ...
- Codeforces Round #544 (Div. 3) Editorial C. Balanced Team
http://codeforces.com/contest/1133/problem/Ctime limit per test 2 secondsmemory limit per test 256 m ...
- D. Zero Quantity Maximization ( Codeforces Round #544 (Div. 3) )
题目链接 参考题解 题意: 给你 整形数组a 和 整形数组b ,要你c[i] = d * a[i] + b[i], 求 在c[i]=0的时候 相同的d的数量 最多能有几个. 思路: 1. 首先打开 ...
随机推荐
- Java技巧之双括弧初始化
由于Java语言的集合框架中(collections, 如list, map, set等)没有提供任何简便的语法结构,这使得在建立常量集合时的工作非常繁索.每次建立时我们都要做: 定义一个临时的集合类 ...
- [转]关于ReentrantLock中线程读某个变量是否需要加锁
我在使用ReentrantLock类对变量进行多线程累加时,调用了lock()和unlock()方法,但读取该变量时我未加锁,结果是能正确执行,代码如下: public class Main { pr ...
- Ubuntu 16 修改时区!
网上大部分解决办法是命令tzselect,然后选择亚洲-->中国->上海,但很遗憾,一点效果没有:后找到解决办法,运行命令dpkg-reconfigure tzdata,选择Asia--& ...
- Java Web(二) Servlet详解
什么是Servlet? Servlet是运行在Web服务器中的Java程序.Servlet通常通过HTTP(超文本传输协议)接收和响应来自Web客户端的请求.Java Web应用程序中所有的请求-响应 ...
- java 一些容易忽视的小点-数据类型和运算符篇
注释 文档注释: 以"/**"开头以"*/"结尾,注释中包含一些说明性的文字及一些JavaDoc标签(后期写项目时,可以生成项目的API) 行注释: 以 ...
- nginx+tomcat集群
参考: 简单:http://blog.csdn.net/wang379275614/article/details/47778201 详细:http://www.jb51.net/article/77 ...
- [HDU2475]Box
Problem 先告诉你每个盒子在哪个盒子的内部 接下来有M个操作: 可以把一个盒子及里面的盒子移到另外一个盒子的内部 或者询问你某个盒子最外面的盒子是哪个 Solution 首先可以建成一个图,然后 ...
- python ----字符串基础练习题30道
1.执行python脚本的两种方式 一种是点开始--运行--cmd 方式(这个操作需要先配置好环境变量path路径)之后运行python 二是直接进安装目录 运行tython软件运行.pycharm ...
- JSON转化
相关链接 : http://blog.csdn.net/gchb9527/article/details/8688279 --------------------------------------- ...
- do文件的编写(转)
以前在使用ModelSim进行仿真的时候,一直是使用其GUI进行操作的,但是这样很繁琐也很费时.故希望学习其自动化仿真do文件,下面是学习的一些总结. 一.编写基本的do文件 下面按照实际仿真的步骤来 ...