1. 程式人生 > >HDUOJ 4496 通化邀請賽重現 D-City

HDUOJ 4496 通化邀請賽重現 D-City

傳送門

題意:一個圖,問按順序破壞邊後的塊數。

思路:邊全部破壞後肯定是n塊,想到可以從後往前推答案,於是簡單的並查集就好了。

吐槽:多case,白wa了。

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int f[10005];
int a[100005],b[100005];
int m,n;
int ans[100005];
int num;
int find(int i)
{
    if(f[i]==i)return i;
    else
    {
        f[i]=find(f[i]);
        return f[i];
    }
}
void go(int i)
{
    int x=find(a[i]);
    int y=find(b[i]);
    if(x!=y)
    {
        num--;
        if(x<y)f[y]=x;
        else f[x]=y;
    }
}
int main()
{
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        for(int i=1; i<=m; i++)scanf("%d%d",&a[i],&b[i]);
        for(int i=0; i<n; i++)f[i]=i;
        num=n;
        for(int i=m; i>0; i--)
        {
            ans[i]=num;
            go(i);
        }
        for(int i=1; i<=m; i++)printf("%d\n",ans[i]);
    }
    return 0;
}


相關推薦

HDUOJ 4496 通化邀請賽重現 D-City

傳送門 題意:一個圖,問按順序破壞邊後的塊數。 思路:邊全部破壞後肯定是n塊,想到可以從後往前推答案,於是簡單的並查集就好了。 吐槽:多case,白wa了。 #include<iostream> #include<cstdio> #include&l

HDUOJ 4497 通化邀請賽重現 GCD and LCM

傳送門 題意:略。 思路: 這裡我就講下結論吧,程式碼略搓,就不貼了。 結論:首先看L能否整除G,如果不能,輸出0;否則另C=L/G,然後對C分解質因數,對於每種質因數求出個數乘以6,再將他們都乘起來。 如: 6 72 C=72/6=12=2*2*3 其中2有2個,3有1個

hdu 4496 並查集 反向並查集 水題 D-City

ssi fat include connected fin lines bottom printf conn 覺得這道題以後可以和優先隊列結合起來 嗯 就是說依次去掉前n條路求連通塊數量 處理的時候 只要每次merge發現父親不相等 然後進到裏面合並的時候 num--

HDU 4496 D-City(反向並查集)

Problem Description Luxer is a really bad guy. He destroys everything he met.  One day Luxer went to D-city. D-city has N D-points and M D-line

HDU 4496 D-City 並查集倒排加邊

D-City Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 4344 Accepted

HDOJ 題目4496 D-City(倒著的並查集)

Luxer is a really bad guy. He destroys everything he met.  One day Luxer went to D-city. D-city has N D-points and M D-lines. Each D-line connects exactly

HDU 4496 D-City (並查集的應用)逆向思維

D-City Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 1237    Accepted Submiss

HDOJ 4496 D-City(並查集變形,逆序 刪邊)

 D-City Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others) Total

HDU 4496 D-City(並查集刪邊)

Luxer is a really bad guy. He destroys everything he met. One day Luxer went to D-city. D-city has N D-points and M D-lines. Each D-line connects exactly t

BUCTOJ邀請賽20180814-D: String

傳送門:http://116.196.97.99/problem.php?cid=1003&pid=3 問題 D: String 時間限制: 1 Sec  記憶體限制: 128 MB     樣例輸入 3 a

2013 通化邀請賽小記

經過了四天三夜,終於回杭州了! 千里迢迢跨越半個中國來到吉林,為的竟然是能在現場被虐一虐。。呵呵。。 頭一次看見邀請賽有獎金,更是頭一次有邀請賽把獎金設在了熱省賽,,汗,,, 話說熱身賽的題目有夠坑的,,,不能多說,,,要不以後熱身賽不做題了。。。免得影響心情 正賽:::

hdu 6286 ——2018(CCPC2018-湖南全國邀請賽-重現賽(感謝湘潭大學))

2018 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 500    Accepted Submission(

2017ACM-ICPC廣西邀請賽-重現

這是在厚林工作室4個人打的一場 騷呢 兩年沒回去了 拿lzy的號打,打的被老劉查水錶了 01 列舉kkk^kkk,k≤15k \leq 15k≤15。 看到我的TTT就知道我是怎麼wa的了。。 #include <bits/stdc++.h>

南京邀請賽重現

只做了四道水題 A ans = (m/n)ans + avg 注意m == n 和 avg == 0.0的情況 #include <set> #include <cmath> #include <queue> #include <s

並查集:HDU4496-D-City(倒用並查集)

D-City Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others) Total Submission(s): 2448 Accepted

2017ACM/ICPC廣西邀請賽-重現賽(感謝廣西大學) B

Do you like painting? Little D doesn’t like painting, especially messy color paintings. Now Little B is painting. To prevent him fr

HDU 6185 Covering (2017 廣西邀請賽重現賽)(矩陣快速冪)

題意:用1x2或者2x1的地毯去鋪滿4xN的地面。給定N,問方案數.          (偶見DFS暴力搜尋前10個結果,學習中,稍後貼上) 解法:推匯出公式後,轉換成矩陣快速冪求解即可. /*dfs

2013 通化邀請賽

A:求平均數,水題,注意輸出的格式。 D:從後往前做並查集,並記錄集合個數即可 E:數論,先把L / G 分解質因子,然後這些質因子要分給三個數,就是A(3,2)每個因子的個數再相乘 G:暴力dfs剪枝。 H:記憶化搜尋,dp[20][20][20][20][2]的狀態,前

HDU - 4496 City (逆向並查集)

span 個數 return 離線處理 line lin mat 我們 type 題意:有N個點M條邊的無向圖,每次刪除一條邊直到刪完為止,求每一次刪邊操作之後,連通塊的個數。 M<=1e5,N<=1e4。如果每次刪邊之後暴力求連通塊肯定超時。換個思路,對一個N