2023年2月18日晚解題報告

2021-07-27 16:02:40 字數 1718 閱讀 1667

t1:

分析:

首先看題,發現是一道很簡單的尤拉迴路題目,o(∩_∩)o,心中竊喜,結果一看資料範圍,看不懂的小,糾結了半天,也沒想到什麼演算法讓資料最大只有20,只有打了乙個尤拉迴路.結果居然a了,orz,真是迷啊!

code:

#include

#include

#include

#include

#include

using

namespace

std;

void setio(const

string&a)

#include

vector

g[15];

int cnt=0,head,tail;

int n,m;

bool dfs(int u,int pre) else

}if(u==tail) return next==head&&cnt==m*2;

return dfs(next,u);

}int main()

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

}}

t2:

分析:

剛拿到這題發現是一道mst的模板題,但是看到是一張完全圖且n最大是1e5,所以我們肯定不能把所有的邊都求出來,那麼考慮刪邊,一開始我以為從他定義的距離考慮,後來發現不行,那麼這題可以轉化成從(n^2-1)條邊中選擇(n-1)條邊的問題.此時我們可以考慮給x,y,z排序,然後建邊,用kruskal求解.

解法的證明:

我們需要滿足每輛個點有且僅有一條邊,所以我們排序後選擇每兩個相鄰的點之間的距離,因為若中間相隔必然沒有相鄰優.而對於這樣是否能建成乙個樹也是很顯然的.因為相鄰兩點必然兩兩不同,所以一定會有樹.至於排三次序後出現環的話,可以用並查集解決.

code:

#include

#include

#include

#include

#include

#include

#include

#define fo(i,a,b) for(int i=a;i<=b;i++)

#define fod(i,a,b) for(int i=a;i>=b;i--)

using

namespace

std;

const

int maxn=300000+10;

struct ex

}ex[maxn];

struct ey

}ey[maxn];

struct ez

}ez[maxn];

int n,fa[maxn];

int find(int x)

struct edge

}e[maxn*2];

bool cmp(const edge &a,const edge& b)

}printf("%d",ans);

}int main()

sort(ex+1,ex+1+n);

sort(ey+1,ey+1+n);

sort(ez+1,ez+1+n);

fo(i,2,n)

sort(e+1,e+1+len,cmp);

kruskal();

return

0;}

t3

還沒改完

continue—–

2023年11月1日普及組模擬賽 解題報告

給定乙個長和寬都小於等於100的矩陣,求出矩陣邊緣的和 暴力模擬 include using namespace std int a,n,m,i,j long long s int main if i 1 j 1 i n j m s a 直接判斷 printf lld s 輸出 return 0 給...

2023年2月25日手記

由於這幾個星期太忙所以一直沒時間更新自己的微博,為自己沒有做到堅持一天一更而感到羞愧留,好吧 先說下昨天剛了解到的知識點吧1.內聯元素2.css命名的權重問題。好了我先來聊一聊內聯元素的問題。1.據我了解,元素分為塊級元素和內聯元素 1.內聯元素中的內容都是在同一行內的,不分行 2.裡面的內容不能是...

隨筆記 2023年6月18日23 08 19

今天是父親節,每每想起自己的父親都會感到特別的高興。父親在自己心中是那麼的強大,感覺沒有什麼還能比父親更偉大。作為乙個農村的孩子,你所生活的家庭你是選擇不了的,但是你可以通過自己的努力去改變他。之前上學的時候,感覺他為自己做的一切都是理所當然的,總感覺我要什麼你就得給我什麼,一切都是我說了算。一直到...