No.3390 Public or Private
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 36
作問者 :
yu23578
/ テスター :
GaLLium
yt142857
aa36
Germanium32
タグ : / 解いたユーザー数 36
作問者 :
yt142857
Germanium32
問題文最終更新日: 2025-11-28 10:18:48
コンテストの他の問題:
問題文
yu23578君が運営しているSNS「Y23」は現在 $N$ 人の人に利用されていて、それぞれユーザー $1$ からユーザー $N$ までの番号が振られています。
「Y23」のユーザーには公開または非公開のステータスが定まっており、現在すべてのユーザーのステータスは公開です。
また、「Y23」には「フォロー」という機能があります。現在 $M$ 組のフォロー関係があり、ユーザー $u_i$ はユーザー $v_i$ のことをフォローしています。
$Q$ 個の操作及び問題への解答を順に行ってください。そのうち $i$ 回目の操作では $q_i,\ a_i,\ b_i$ が与えられるので、
$q_i=1$ の時、ユーザー $a_i$ がユーザー $b_i$ を
- フォローしているならば、 ユーザー $b_i$ のフォローを解除する。
- フォローしていないならば、ユーザー $b_i$ をフォローする。
- 公開ならば、ユーザー $a_i$ のステータスを非公開に変更する。
- 非公開ならば、ユーザー $a_i$ のステータスを公開に変更する。
制約
- $2 \le N \le 10^9$
- $1 \le M \le \mathrm{min} (\frac{N(N-1)}{2} , 2 \times 10^5)$
- $1 \le u_i,v_i \le N$
- $u_i \neq v_i$
- $i \neq j$ ならば、 $(u_i,v_i) \neq (u_j,v_j)$
- $1 \le Q \le 3000$
- $q_i=1$ のとき、 $1 \le a_i,b_i \le N$
- $q_i=2$ のとき、 $1 \le a_i \le N,\ b_i = -1$
- $a_i \neq b_i$
- 入力はすべて整数
入力
$N\ M$ $u_1\ v_1$ $u_2\ v_2$ $\vdots$ $u_M\ v_M$ $Q$ $q_1\ a_1\ b_1$ $q_2\ a_2\ b_2$ $\vdots$ $q_Q\ a_Q\ b_Q$
出力
最後に改行してください。
サンプル
サンプル1
入力
5 2 1 2 1 3 6 1 2 1 2 1 -1 2 4 -1 1 3 4 1 2 1 2 1 -1
出力
4 4 3 3 2 3
説明(長いので折りたたみ)
はじめ、ユーザーのフォロー関係は以下の通りです。
$1$ 番目のクエリで、ユーザー $2$ がユーザー $1$ をフォローします。
問題文の条件を満たすのはユーザー $1,3,4,5$ の $4$ 人です。
$2$ 番目のクエリで、ユーザー $1$ のステータスが非公開になります。
問題文の条件を満たすのはユーザー $2,3,4,5$ の $4$ 人です。
$3$ 番目のクエリで、ユーザー $4$ のステータスが非公開になります。
問題文の条件を満たすのはユーザー $2,3,5$ の $3$ 人です。
$4$ 番目のクエリで、ユーザー $3$ がユーザー $4$ をフォローします。
問題文の条件を満たすのはユーザー $2,4,5$ の $3$ 人です。
$5$ 番目のクエリで、ユーザー $2$ がユーザー $1$ のフォローを解除します。
問題文の条件を満たすのはユーザー $3,5$ の $2$ 人です。
$6$ 番目のクエリで、ユーザー $4$ のステータスが公開になります。
問題文の条件を満たすのはユーザー $2,3,5$ の $3$ 人です。
サンプル2
入力
2 1 1 2 2 2 1 -1 2 2 -1
出力
1 0
条件を満たすユーザーがいない場合もあります。
サンプル3
入力
1000000000 9 1 2 12 23 123 235 1234 2357 12345 23578 2345 3578 345 578 45 78 5 8 10 1 3 5 1 89 34 1 314 159 1 44 23 1 1 2 2 1 -1 2 23 -1 2 2357 -1 2 1 -1 2 23578 -1
出力
999999999 999999999 999999999 999999999 999999999 999999999 999999998 999999997 999999997 999999997
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。