zoukankan      html  css  js  c++  java
  • CSP 2020 T2 动物园

    实在是出题人良心的馈赠,将为每位选手的oi之路上平添一份助力。

    description

    solution:

    这道题才是真正的签到题,且题目还保证了(q_i)互不相同
    对于第(k)位为1的情况,如果当前的动物中没有这一位为1的,那么这位就必须选0
    不妨设有(cnt)位是自由的,那么答案就是(2^{cnt}-n)
    注意开(unsigned long long)以及特判(2^{64})的情况

    code:

    #include<bits/stdc++.h>
    using namespace std;
    typedef unsigned long long ll;
    const int N=70;
    ll a;
    int n,m,c,k;
    bool flag[N];
    inline ll read()
    {
    	ll s=0,w=1; char ch=getchar();
    	for(;!isdigit(ch);ch=getchar())if(ch=='-')w=-1;
    	for(;isdigit(ch);ch=getchar())s=(s<<1)+(s<<3)+(ch^48);
    	return s*w;
    }
    int main()
    {
    	scanf("%d%d%d%d",&n,&m,&c,&k);
    	for(int i=1;i<=n;++i)
    	{
    		ll x=read();a|=x;
    	}
    	for(int i=1;i<=m;++i)
    	{
    		int p,q;scanf("%d%d",&p,&q);
    		if((!((a>>p)&1))&&(!flag[p]))--k,flag[p]=1;
    	}
    	ll ans=0ull;
    	if(k==64)
    	{
    		if(!n)return puts("18446744073709551616"),0;
    		else ans=18446744073709551615ull,--n;
    	}
    	else ans=1ull<<k;
    	cout<<ans-1ull*n<<endl;
    	return 0;
    }
    
  • 相关阅读:
    编译使用tinyxml
    GitLab 项目创建后地址由Localhost改为实际IP的方法
    树莓派相机设定
    MongoDB的数据备份与恢复
    Nginx PHP fpm forbidden 原因
    PSR2规范
    docker 日志管理
    Docker 拷贝文件
    Docker MySQL基本操作
    deepin安装php5.6
  • 原文地址:https://www.cnblogs.com/zmyzmy/p/13950837.html
Copyright © 2011-2022 走看看