E - LCM on Whiteboard(数学&思维)

考虑每个数是否会影响答案,只需判断每个数对应的质因子是否所有的里面的最大的(不包含重复)。

然后最后丢进set去重一波。

答案就是E - LCM on Whiteboard(数学&思维)_i++的大小E - LCM on Whiteboard(数学&思维)_c++_02,因为其他的下标共同构成了一种答案。

E - LCM on Whiteboard(数学&思维)_i++大小为E - LCM on Whiteboard(数学&思维)_算法_04答案就是E - LCM on Whiteboard(数学&思维)_算法_04

#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
map<int,pair<int,int>>M;
for(int i=0;i<n;i++){
int m;
cin>>m;
for(int j=0;j<m;j++){
int p,e;
cin>>p>>e;
auto&[r,k]=M[p];
if(e>r)r=e,k=i;
else if(e==r)k=-1;
}
}
set<int>s;
for(auto[p,q]:M){
if(q.second>=0)s.insert(q.second);
}
cout<<(s.size()<n?s.size()+1:n)<<endl;
}