小球称重---思维+map遍历

1.思维:次品一定出现在次品堆里,若出现x次次品堆,那么唯一的次品一定出现x次,同时确定的正品也要用set存一下

2.1e9的范围不能用数组,那么我们用map+auto遍历,不能用二维的遍历,不然内存超限得90%

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<ll,int> pii;
map<int,int> q;
set<int> zp;
int n;
int m;
int l[N];
int r[N];
char op;
int c;
int main()
{
    scanf("%d",&n);
    scanf("%d",&m);
    bool f=false;
    while(m--)
    {
        int k;
        scanf("%d",&k);
        for(int i=0;i<k;i++)
        {
            scanf("%d",&l[i]);
        }
        for(int i=0;i<k;i++)
        {
            scanf("%d",&r[i]);
        }
        cin>>op;
        if(op=='=')
        {
            for(int i=0;i<k;i++)
			{
			zp.insert(l[i]);
            zp.insert(r[i]);
			}
        }else
        {
        f=true;
        c++;
        if(op=='>')
        {
            for(int i=0;i<k;i++) zp.insert(l[i]),q[r[i]]++;

        }
        else
        if(op=='<')
        {
            for(int i=0;i<k;i++) zp.insert(r[i]),q[l[i]]++;
        }
        }
    }
    if(!f) cout<<n-zp.size();
    else
    {
    m=0;
    for(auto it:q)
    {
    if(zp.count(it.first)==1) continue;
    if(it.second==c)
    m++;
    }
    cout<<m;
    }
    return 0;
}
相关推荐
明月看潮生3 分钟前
青少年编程与数学 02-016 Python数据结构与算法 24课题、密码学算法
python·算法·青少年编程·密码学·编程与数学
绝了10 分钟前
Go的手动内存管理方案
后端·算法·go
南星啊12 分钟前
洛谷P1312 [NOIP 2011 提高组] Mayan 游戏
算法
南川琼语14 分钟前
算法——直接插入排序
数据结构·算法·排序算法
XiaolongTu32 分钟前
从“啃算法”到“看见算法”:如何更好地学习算法和数据结构
算法·面试
陈壮实的搬砖日记36 分钟前
一文看懂矩阵的秩和奇异值及python计算
深度学习·算法
夜羽rancho42 分钟前
二分查找,其实就这些了
前端·算法
天天扭码44 分钟前
一分钟解决 | 高频面试算法题——接雨水(双指针最优解)
前端·算法·面试
Cachel wood1 小时前
大数据开发知识1:数据仓库
android·大数据·数据仓库·sql·mysql·算法·ab测试
zdsji1 小时前
从零开始物理引擎(六)- 重构完成与MVP理解
c++·算法·重构·ue5·游戏引擎