zoukankan      html  css  js  c++  java
  • CF1065B Vasya and Isolated Vertices 题解

    CF1065B Vasya and Isolated Vertices 题解

    题目分析

    看着构造的标签进来的,进来前没想到这么简单

    首先保留节点的最小值,就是让每一条边连接当前度数为 0 的两个点,这样子可以最大程度地利用每一条边。

    所以 (min=max(0,n-2*m))

    那么保留节点的最大值,也就等价于最少的点连最多的边,很容易想到完全图,也就是点数为 (n) 的简单图 (G) ,最多有 (frac{n*(n-1)}{2}) 条边。

    二分出边数 (geq m) ,点数最小且为 (t) 的完全图,

    (max=n-t)

    Code:

    #include<bits/stdc++.h>
    using namespace std;
    template <typename T>
    inline void read(T &x){
        x=0;char ch=getchar();bool f=false;
        while(!isdigit(ch)) f|=ch=='-',ch=getchar();
        while(isdigit(ch))  x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
        x=f?-x:x;return;
    }
    template <typename T>
    inline void print(T x){
        if(x<0) putchar('-'),x=-x;
        if(x>9) print(x/10);
        putchar(x%10^48);return;
    }
    #define ll long long
    ll n,m;
    int main(){
        read(n),read(m);ll minn=0,maxn=0;
        minn=max(0ll,n-2*m);print(minn),putchar(' ');
        ll l=0,r=n;
        while(l<=r){
            ll mid=(l+r)>>1;
            if(mid*(mid-1)/2>=m)    r=mid-1,maxn=mid;
            else l=mid+1;
        }
        print(n-maxn);
        return 0;
    }
    
  • 相关阅读:
    块级作用域
    作用域变量 var
    unkown类型
    generator (2)
    generator (1)
    generator
    索引类型
    XML 特殊字符处理和 CDATA
    15 个实用的 PHP 正则表达式
    论MySQL数据库中两种数据引擎的差别
  • 原文地址:https://www.cnblogs.com/NuoCarter/p/15261727.html
Copyright © 2011-2022 走看看