Untitled
unknown
plain_text
4 years ago
1.8 kB
8
Indexable
#include <bits/stdc++.h> using namespace std; #define F first #define S second #define pb push_back #define gap ' ' #define fastIO {ios_base::sync_with_stdio(false);cin.tie(NULL);} #define Inf 1e18 #define fix fixed<<setprecision(10) #define all(v) v.begin(),v.end() #define For(i, a, b) for(ll i = a; i <b ; i ++) #define endl "\n" #define yes cout<<"YES\n" #define no cout<<"NO\n" #define debug(x) cout<< #x << " = " << x <<endl; typedef long long ll; typedef pair<ll, ll> pll; typedef map<ll, ll> mll; typedef vector< ll > vl; const ll mod = 1e9 + 7;; const int sz = 2e5 + 5; vector < vector<ll> > edge(sz); ll vis[sz]; void dfs(ll u) { if(vis[u]) return; vis[u] = 1; for(auto v: edge[u]) dfs(v); } void solve() { memset(vis, 0, sizeof(vis)); edge.clear(); vector< pair< ll, ll> > a; vector< pair< ll, ll> > b; ll n; cin>> n; For(i, 0, n) { ll x; cin>> x; a.pb({x, i + 1}); } For(i, 0, n) { ll x; cin>> x; b.pb({x, i + 1}); } sort(all(a)); sort(all(b)); For(i, 1, n) { edge[ a[i - 1].S ].pb(a[i].S); edge[ b[i - 1].S ].pb(b[i].S); } dfs(a[n - 1].S); For(i, 1, n +1) cout<< vis[i]; cout<< endl; } int32_t main() { fastIO ll T; T = 1; cin >> T; while(T --) { solve(); } return 0; }
Editor is loading...