CodeForces Round #403 补题
来源:互联网 发布:最新网络电话软件下载 编辑:程序博客网 时间:2024/06/07 07:51
Problem A :
#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define F(i,a,b) for(int i=a;i<=b;i++)#define maxn 100005int main(){ int n,num[2*maxn]; scanf("%d",&n); F(i,1,2*n) scanf("%d",&num[i]); int count=0,res=0,vis[maxn]; memset(vis, 0, sizeof(vis)); F(i,1,2*n){ if(vis[num[i]]==0){ vis[num[i]]=1; count++; }else{ count--; } res = max(res, count); } cout<<res<<endl; return 0;}
Problem B :
这题刚开始没有什么思路,后来想通了是用二分查找,注意在STL库里面max 和 min比较double,尾数越多比较的时间越长,选择 1e-7 才不容易TLE
#include <iostream>#include <cstdio>using namespace std;const double eps=1e-7;#define maxn 60005#define F(i,a,b) for(int i=a;i<=b;i++)int n,x[maxn],v[maxn],sum;bool check(double m){ double b=-2e9,t=2e9; F(i,1,n){ b = max(b,x[i]-v[i]*m); t = min(t,x[i]+v[i]*m); } return b<=t;}int main(){ sum =0; scanf("%d",&n); F(i,1,n) {scanf("%d",&x[i]);sum+=x[i];} F(i,1,n) scanf("%d",&v[i]); double L=0,R=1e9,M; while((R-L)>=eps){ M = (L+R)/2.0; if(check(M)) R=M; else L=M; } printf("%.9lf\n",(L+R)/2.0); return 0;}
Problem C :
#include <cstdio>#include <iostream>#include <cstring>#include <vector>#include <algorithm>using namespace std;const int maxn = 2e5+5;int n,color[maxn],vis[maxn],res=0;vector<int> v[maxn];void dfs(int d){ int now = 1; vector<int>::iterator it; for(it=v[d].begin();it!=v[d].end();it++){ if(*it==vis[d]) continue; vis[*it]=d; while (color[d]==now || color[vis[d]]==now) now++; color[*it]=now; now++; } res=max(now-1,res); for(it=v[d].begin();it!=v[d].end();it++){ if(*it!=vis[d]) dfs(*it); }}int main(){ scanf("%d",&n); for(int i=0,x,y;i<n-1;i++){ scanf("%d%d",&x,&y); v[x].push_back(y); v[y].push_back(x); } color[1] = 1; dfs(1); cout<<res<<endl; for(int i=1;i<n;i++) printf("%d ",color[i]); cout<<color[n]<<endl; return 0;}
0 0
- CodeForces Round #403 补题
- CodeForces Round #401 补题
- Codeforces Round #337 (Div. 2)-------补题
- Codeforces Round #340 (Div. 2)--补题
- Codeforces Round #341 (Div. 2) ---补题
- Codeforces 补题 Educational Round 19
- codeforces round 416 div2补题
- Codeforces Round #207 (Div. 2) 赛后补题
- Codeforces Round #208 (Div. 2) 赛后补题
- Codeforces Round #209 (Div. 2)赛后补题
- Educational Codeforces Round 24B Permutation Game 补题
- Educational Codeforces Round 24 D. Multicolored Cars 补题
- Codeforces Round #335 (Div. 2) [补E]
- Educational Codeforces Round 5 [补F]
- 补: Codeforces Round #355 (Div. 2)
- CodeForces Round402 补题
- Codeforces Round #381 (Div. 2) 补一道很经典的一定要记住的题
- Codeforces Round #418 (Div. 2) (补题C 尺取法)
- MySQL 主从复制与读写分离概念及架构分析 (转)
- 静态资源的引用
- 深度学习(2):Recurrent Neural Networks
- ARM基础 七、ARM伪操作和伪指令
- 微信小程序要这样去解读
- CodeForces Round #403 补题
- Java IO流分析整理
- 单例模式双重检查锁问题
- 图论(5)-more is better
- java中操作符“==”与对象equals()方法的比较
- 258. Add Digits (C++)
- windows10安装.net3.5失败的解决办法
- C++第2次实验-作业报告(1)
- JavaScript 特效之匀速动画