平時十四測

2022-05-29 04:54:08 字數 2752 閱讀 4704

第一題:藍書原題,單詞建邊,跑尤拉路;

無向聯通圖:尤拉路:有2個度數為奇數的點;

尤拉迴路:沒有度數為奇數的點;

有向聯通圖:尤拉路:每個點入度=出度 或者 起點出度=入度+1 終點出度=入度-1,剩餘點出度=入度;

#includeusing

namespace

std;

const

int me = 200000 + 5

;int tot = 1, d[me], h[me], cur[me], now, in[me], out

[me];

//int ru[me], rv[me];

bool vis[me << 1

];struct edgeg[me << 1

];int

t, n, m;

void add(int u, int v, int

id)void

print()

intread()

while(c<='

9'&&c>='0')

return x*=f;

}void dfs(int u, int

k) cur[++now] =g[k].id;

}void dfs2(int u, int

k) cur[++now] =g[k].id;

}int

main()

int start = 1, cnt = 0

;

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

if(d[i]&1)

if(cnt > 2 || cnt == 1)return !puts("no"

);

dfs(start, 0);

if(now != n+1)return !puts("no"

); puts(

"yes");

print();

}else

int st = -1, ed = -1, cnt = 0

;

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

if(in[i] != out

[i])

if((cnt != 0 && cnt != 2) || ((st == -1 || ed == -1) && cnt != 0))return !puts("no"

);

if(st == -1)for(int i = 1; i <= n; i++)

if(in[i])

dfs2(st, 0);

if(now != n+1)return !puts("no"

); puts(

"yes");

print();

return0;}}

view code

第二題:有乙個性質,發現就好做了,但我根本沒有去思考,思維僵化啊;

平時十八測

今天沒有一道題想到正解,全部打的暴力,今天題思維很活啊 第一題 主要是利用只有26個字母,往這方面想了,但失敗了 計數排序 主要針對資料很集中的 建26棵線段樹,記錄區間中該數有多少個,每次查詢區間中26個字母各有多少個,按順序排列 就乙個區間查詢,修改操作,此題卡常 includeusing na...

暑假第十四測

題解 第一題 dp i 表示我們給這棵樹再分配了i的度數 dp i max dp j f i j 1 f 1 因為我們只考慮連在葉子節點上,所以只有葉子節點貢獻改變 includeusing namespace std const int m 2020 int n,val m dp m intmai...

第十四周模測 貓睡覺問題

一 題目二 輸入 多組資料,多組資料,多組資料哦,每組資料的格式如下 第1行輸入三個整數,a 和 b 和 n 1 a 24,1 b 24,1 n 20 第2到n 1行為每日的新番時間表,每行乙個時間段,格式形如 hh mm hh mm 閉區間 這是一種時間格式,hh mm 的範圍為 00 00 到 ...