鹿乃子乃子跳下懸崖躲避獵友會的追捕
不只是鹿乃子乃子,其他生活在大自然的鹿隻也會遇到遭到獵捕的危機。近期即將又要有大批獵人前來,鹿群打算趕緊修葺緊急通道,以避免無鹿可退的窘境。
鹿群的棲息地由 $N$ 個據點而成,在據點之間一共有 $M$ 個可以建造緊急通道的預定地,第 $i$ 個緊急通道連通據點 $u_i, v_i$,能讓鹿隻在兩據點之間移動,並且在 $M$ 條緊急通道皆完工的情況下,能確保從任何一個據點開始皆可以透過若干條緊急通道撤離到其他所有的據點。另外,兩個據點之間可能會有多個緊急通道的預定地。
每一天鹿群可以建造至多一條緊急通道,然而明天跟意外永遠不知道何者會先到來,在建造緊急通道的過程中也有可能遭到獵人的追擊。幸好根據法律規定,獵人也不能每天打獵,鹿群已經提前得知了每一個緊急通道的預定地皆會有一段時間——第 $s_i$ 天到第 $t_i$ 天(包含 $s_i, t_i$)獵人是絕對不會出現的。鹿群評估工程風險的方式很簡單,如果在施工的當天該預定地獵人絕對不會出現,則該工程的風險值為 $0$;否則,該工程的風險值為 $1$。
在第一階段的工程中,鹿群希望先建造一些緊急通道使獨從任何一個據點開始皆可以透過若干條緊急通道撤離到其他所有的據點。請你寫一支程式幫鹿群安排施工的日程,最小化完成第一階段工程需要遭遇的風險值總和。
輸入的第一行包含兩個整數 $N, M$。接下來 $M$ 行,每行包含四個整數 $u_i, v_i, s_i, t_i$,表示第 $i$ 個緊急通道預定地的工程資訊。
第一行請輸出一個整數,表示要完成第一階段工程至少需要遭遇的風險值總和。第二行請輸出一個長度為 $M$ 的 01 字串,若要在風險值為 $0$ 的狀態下建造第 $i$ 條緊急通道,則第 $i$ 個字元為 1
;否則,第 $i$ 個字元為 $0$。
如果有多種可能的輸出,你可以輸出任意一種。
第一筆範例測資中,鹿群可以在第 $1$ 天建造第 $1$ 條緊急通道,在第 $2$ 天建造第 $7$ 條緊急通道,在第 $3$ 天建造第 $3$ 條緊急通道,在第 $4$ 天建造第 $6$ 條緊急通道。四條緊急通道皆在風險值為 $0$ 的狀態下建造完,並且建造完後即完成第一階段工程的目標。
第二筆範例測資中,鹿群可以在第 $1$ 天建造第 $2$ 條緊急通道,在第 $2$ 天建造第 $1$ 條緊急通道,在第 $3$ 天建造第 $3$ 條緊急通道,在第 $4$ 天建造第 $4$ 條緊急通道。建造第 $4$ 條緊急通道時風險值為 $1$,其餘則為 $0$。
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~1 | 範例測資 | 0 |
2 | 2~15 | $\forall 1 \leq i \leq M,\ s_i=t_i=i$ | 0.48763 |
3 | 16~53 | $M=N-1$,$\forall 1 \leq i < M,\ u_i=i,\ v_i=i+1$ | 0.51237 |
4 | 54~61 | $N \leq 50, M \leq 100$ | 4 |
5 | 54~72 | $N \leq 200, M \leq 1000$ | 1 |
6 | 9~15, 35~96 | $N \leq 400, M \leq 1000$ | 4 |
7 | 0~120 | 無額外限制 | 90 |