鐘老頭的一鍵三連

2022-05-01 11:09:12 字數 1519 閱讀 1786

題:

題意:給出n個點m條邊的圖,逐一刪除每個指定點,問每次刪除前圖是否連通。

分析:把指定的序列反過來做就行,對於每個加進來的點,看原本集合中有無進來點的連邊,有就用並查集聯絡起來,表示倆者所處連通塊連通,(正著切斷,反著就判斷連通與否就行),每次檢查當前集合是否連通即可,複雜度:o(nlogn)

#includeusing

namespace

std;

typedef

long

long

ll;const

int inf=0x3f3f3f3f

;const ll inf=1e18;

const

int m=3e5+6

;#define pb push_back

#define lson root<<1,l,midd

#define rson root<<1|1,midd+1,r

intf[m],sz[m],a[m],ans[m];

sets;

vector

g[m];

int find(int

x)void unite(int u,intv)}

intmain()

for(int i=1;i<=n;i++)

cin>>a[i];

int sign=a[n];

for(int i=n;i>=1;i--)

if(sz[find(sign)]==s.size())

ans[i]=1

; }

for(int i=1;i<=n;i++)

if(ans[i])

cout

<

yes"

<

;

else

cout

<

<

;

return0;

}

view code

題:題意:給定序列,你能執行這樣的操作:當相鄰的值是相同的時候就可講倆者合併成當前值加1,問最大合併出的值是多少

分析:區間dp,dp[i][j]表示區間[i,j]能合併成的最大值;

#includeusing

namespace

std;

typedef

long

long

ll;const

int inf=0x3f3f3f3f

;const ll inf=1e18;

const

int m=300

;#define pb push_back

#define lson root<<1,l,midd

#define rson root<<1|1,midd+1,r

intdp[m][m];

intmain()

}cout

return0;

}

view code

題:題意:找出n的排列中滿足相鄰相鄰互質的個數

分析:咕咕咕

make安裝軟體一鍵三連

configure檔案是乙個可執行的指令碼檔案,主要作用是對安裝的軟體進行配置,檢查當前的環境是否滿足要安裝軟體的依賴關係。它有很多選項,在待安裝的原始碼目錄下使用命令 configure help可以輸出詳細的選項列表。其中 prefix 選項是配置安裝目錄,如果不配置該選項,安裝後可執行檔案預設...

UWP 模仿嗶哩嗶哩的一鍵三連

什麼是一鍵三連?去年在雲之幻大佬的 嗶哩 專案裡看到一鍵三連的 uwp 實現,覺得挺有趣的,這次參考它的 重新實現一次,最終成果如下 下面這些是一鍵三連的核心功能 這篇文章將介紹如何使用自定義控制項實現上面的功能。寫簡單的自定義控制項的時候,我推薦先寫完 然後再寫控制項模板,但這個控制項也適合一步步...

單身三連之一

乙個讓單身狗們崩潰的題 題目大意 有n件物品,一共取d次,一次取的必須少於m件,問共有多少種取法。每個物品相同,有多測,對998244353取模 題解 30 演算法 n,d 20,m 10 簡單的dp。設f i j 為取了i次,共取了j件物品的方案數,則有如下狀態轉移方程 f i j kk max ...