提交时间:2023-08-16 12:08:39
运行 ID: 98612
#include<bits/stdc++.h> #include<bits/extc++.h> __gnu_pbds::gp_hash_table<int, bool> mp; using namespace std; const int N = 1e5 + 5; int n, m; int a[N]; int main() { ios::sync_with_stdio(0); cin>>n>>m; for(int i = 1;i <= n;i ++) cin>>a[i]; while(m --) { int op, l, r, k; cin>>op; if(op == 1) { cin>>l>>r>>k; for(int i = l;i <= r;i ++) a[i] = k; } else { cin>>l>>r; int ans = 0; for(int i = l;i <= r;i ++) { if(!mp[a[i]]) { mp[a[i]] = 1; ans ++; } } cout<<ans<<endl; mp.clear(); } } return 0; }