第一題:藍書原題,單詞建邊,跑尤拉路;
無向聯通圖:尤拉路:有2個度數為奇數的點;
尤拉迴路:沒有度數為奇數的點;
有向聯通圖:尤拉路:每個點入度=出度 或者 起點出度=入度+1 終點出度=入度-1,剩餘點出度=入度;
#includeusingview codenamespace
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;}}
第二題:有乙個性質,發現就好做了,但我根本沒有去思考,思維僵化啊;
平時十八測
今天沒有一道題想到正解,全部打的暴力,今天題思維很活啊 第一題 主要是利用只有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 到 ...