Codeforces Beta Round #9 (Div. 2 Only)

http://codeforces.com/contest/9

A

gcd水题

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define maxn 1000010
typedef long long ll;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
int gcd(int a,int b){
if(b==) return a;
return gcd(b,a%b);
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
int n,m;
cin>>n>>m;
n=max(n,m);
int fz=-n+;
int fm=;
int d=gcd(fz,fm);
// cout<<fz<<" "<<fm<<endl;
cout<<fz/d<<"/"<<fm/d<<endl;
}

B

模拟题

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define maxn 1000010
typedef long long ll;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
struct Point{
ll x,y;
}a[]; double dist[][]; int main(){
#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif
ll n,vb,vs;
cin>>n>>vb>>vs;
for(int i=;i<=n;i++){
cin>>a[i].x;
a[i].y=;
}
ll sx,sy;
cin>>sx>>sy;
for(int i=;i<=n;i++){
dist[][i]=sqrt(sqr(a[].x-a[i].x)+sqr(a[].y-a[i].y));
}
for(int i=;i<=n;i++){
dist[i][]=sqrt(sqr(a[i].x-sx)+sqr(a[i].y-sy));
}
double ans=1e18;
ll pos=;
for(int i=;i<=n;i++){
if(a[i].x!=){
double t1=dist[][i]/vb;
double t2=dist[i][]/vs;
if(ans>=t1+t2){
ans=t1+t2;
pos=i;
}
}
}
cout<<pos<<endl;
}

C

dfs

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define maxn 1000010
typedef long long ll;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
map<ll,int>mp;
ll n;
int ans; void dfs(int pos){
if(pos>n) return;
if(!mp[pos]){
ans++;
mp[pos]=;
}
else return;
dfs(pos*);
dfs(pos*+);
} int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
cin>>n;
dfs();
cout<<ans<<endl;
}

D

参考博客:http://www.cnblogs.com/qscqesze/p/5414271.html

DP

dp[i][j]表示当前用了i个节点,高度小于等于j的方案数

dp[i][j] = sigma(dp[k][j-1]*dp[i-k-1][j-1])

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define maxn 1000010
typedef long long ll;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ long long dp[][]; int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
int n,h;
cin>>n>>h;
for(int i=;i<=n;i++){
dp[][i-]=;
for(int j=;j<=n;j++){
for(int k=;k<j;k++){
dp[j][i]+=dp[k][i-]*dp[j-k-][i-];
}
}
}
cout<<dp[n][n]-dp[n][h-]<<endl;
}

E

题意:给出n个点,m条边,问是否能通过加一些边,使得n个点构成有且仅有n条边的单个环

直接构造就好

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define maxn 1000010
typedef long long ll;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */
int fa[];
int d[];
vector<pair<int,int> > ve,ans;
int Find(int x){
int r=x,y;
while(x!=fa[x]){
x=fa[x];
}
while(r!=x){
y=fa[r];
fa[r]=x;
r=y;
}
return x;
}
void join(int x,int y)
{
int xx=Find(x);
int yy=Find(y);
if(xx!=yy) fa[xx]=yy;
}
int main(){
int n,m;
cin>>n>>m;
int v,u;
for(int i=;i<=n;i++) fa[i]=i;
for(int i=;i<=m;i++){
cin>>u>>v;
ve.push_back(make_pair(u,v));
join(u,v);
d[v]++,d[u]++;
if(d[u]>||d[v]>){
cout<<"NO"<<endl;
return ;
}
}
for(int i=;i<=n;i++){
for(int j=;j<i;j++){
if(d[j]<=&&d[i]<=&&Find(i)!=Find(j))
{
ans.push_back(make_pair(j,i));
join(i,j);
d[i]++,d[j]++;
}
}
}
for(int i=;i<=n;i++){
if(d[i]!=){
for(int j=;j<i;j++){
if(d[j]==){
ans.push_back(make_pair(j,i));
join(i,j);
d[i]++,d[j]++;
}
}
}
}
for(int i=;i<=n;i++)
if(d[i]==)ans.push_back(make_pair(i,i));
int p = Find();
for(int i=;i<=n;i++)
if(Find(i)!=p){
cout<<"NO"<<endl;
return ;
}
cout<<"YES"<<endl;
cout<<ans.size()<<endl;
for(int i=;i<ans.size();i++)
cout<<ans[i].first<<" "<<ans[i].second<<endl;
}

Codeforces Beta Round #9 (Div. 2 Only)的更多相关文章

  1. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  2. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  3. Codeforces Beta Round #79 (Div. 2 Only)

    Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...

  4. Codeforces Beta Round #77 (Div. 2 Only)

    Codeforces Beta Round #77 (Div. 2 Only) http://codeforces.com/contest/96 A #include<bits/stdc++.h ...

  5. Codeforces Beta Round #76 (Div. 2 Only)

    Codeforces Beta Round #76 (Div. 2 Only) http://codeforces.com/contest/94 A #include<bits/stdc++.h ...

  6. Codeforces Beta Round #75 (Div. 2 Only)

    Codeforces Beta Round #75 (Div. 2 Only) http://codeforces.com/contest/92 A #include<iostream> ...

  7. Codeforces Beta Round #74 (Div. 2 Only)

    Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...

  8. Codeforces Beta Round #73 (Div. 2 Only)

    Codeforces Beta Round #73 (Div. 2 Only) http://codeforces.com/contest/88 A 模拟 #include<bits/stdc+ ...

  9. Codeforces Beta Round #72 (Div. 2 Only)

    Codeforces Beta Round #72 (Div. 2 Only) http://codeforces.com/contest/84 A #include<bits/stdc++.h ...

  10. Codeforces Beta Round #70 (Div. 2)

    Codeforces Beta Round #70 (Div. 2) http://codeforces.com/contest/78 A #include<bits/stdc++.h> ...

随机推荐

  1. js在html文件中的解析顺序

    我们可以将JavaScript代码放在html文件中任何位置,但是我们一般放在网页的head或者body部分. 放在<head>部分 最常用的方式是在页面中head部分放置<scri ...

  2. OSPF两种组播地址的区别和联系

    1.点到点网络: 是连接单独的一对路由器的网络,点到点网络上的有效邻居总是可以形成邻接关系的,在这种网络上,OSPF包的目标地址使用的是224.0.0.52.广播型网络, 比如以太网,Token Ri ...

  3. 华为P10的内存门和闪存门的检测方法

    用android的终端模拟器,进入以后进入界面,输入命令ls /proc/fs/*,可以查看是否ufs还是emmc硬盘:用devcheck可以查看到手机的内存是否是DDR3还是DDR4:用androb ...

  4. Session的使用与Session的生命周期

    1.HttpSession的方法 Object getAttribute(String); Enumeration<String> getAttributeNames(); long ge ...

  5. Spark学习笔记6:Spark调优与调试

    1.使用Sparkconf配置Spark 对Spark进行性能调优,通常就是修改Spark应用的运行时配置选项. Spark中最主要的配置机制通过SparkConf类对Spark进行配置,当创建出一个 ...

  6. dbms_xplan之display_cursor函数的使用

    DBMS_XPLAN包中display_cursor函数不同于display函数,display_cursor用于显示SQL语句的真实的执行计划,在大多数情况下,显示真实的执行计划有助于更好的分析SQ ...

  7. python之路之迭代器与生成器

    一  迭代器 那么在研究迭代器之前首先应该要知道什么是迭代. 迭代:是一个重复的过程,并且每次重复都是建立基于上一次的结果而来的,所以在迭代的过程其实是在不断变化的. 迭代器:就是迭代取值的工具. 那 ...

  8. Supervisor: 进程控制系统

    Supervisor: 进程控制系统 概述:Supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序. 它与launch ...

  9. vb 使用StreamWriter书写流写出数据并生成文件

    sql = "Select case when date ='' then '0'else CONVERT(varchar(100), date, 101) end as date,case ...

  10. Declaration terminated incorrectly 讨厌 这样就不可以了

    #include "vcl.fctreeview.hpp"#include "RM_Class.hpp"#include "RM_Common.hpp ...