日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【10.20校内测试】【小模拟】【无向图建树判奇偶环】【树上差分】

發布時間:2023/12/10 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【10.20校内测试】【小模拟】【无向图建树判奇偶环】【树上差分】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

Solution

和后面兩道題難度差距太大了吧!!

顯然就只是個小模擬,注意判0就行了。

Code

#include<bits/stdc++.h> using namespace std;char s[100005];int main() {freopen("expression.in", "r", stdin);freopen("expression.out", "w", stdout);scanf("%s", s);int flag = 0, len = strlen(s);for(int i = 0; i < len; i ++) {int t = s[i];if(t >= '0' && t <= '9') {if(flag) {printf("%c", t);flag = 0;if(s[i + 1] != '-' && s[i + 1] != '+' && i + 1 < len) {if(s[i + 1] != '0') printf("+");else {while(s[i + 1] == '0') {printf("+0"); i ++;}if(s[i + 1] >= '0' && s[i + 1] <= '9')printf("+");}}} else {printf("%c", t);}} else {if(t == '-') flag = 1;printf("%c", t);}}return 0; }

Solution

思維難度很大啊,需要把所有的情況理清楚,代碼就不難寫了。

性質1:如果有超過1條特殊邊與樹邊形成奇環,則滿足條件的邊不可能是特殊邊(肯定不可能被所有奇環包含)

性質2:如果一條特殊邊與另一條特殊邊形成環,這種環沒有任何用處

情況1:兩個與樹邊形成奇環的邊 一定產生一個偶環(2,3,4,5) 但偶環上的邊不可能被所有奇環

情況2:兩個偶環?本來他們的邊就全部不滿足條件?不用考慮多生成的新偶環(2,4,7,5)

情況3:一個奇環+一個偶環?生成一個奇環(2,5,7,6,4)?這個奇環的樹邊本來就在原奇環上?無需考慮

建一棵DFS樹,則特殊邊就全部為返祖邊?用odd [u]對結點u統計奇環,even[u]統計偶環?設一條返祖邊為 u-> v?若它形成奇環,則odd[u]++,odd[v]--.?則u的子樹所有結點的odd之和,即為u?->?fa這條邊被多少奇環包含?(差分前綴和的思想)(樹上差分)

唯一非樹邊會有貢獻的情況就是有且僅有一個奇環,此時一定只有一條非樹邊在奇環內 提供貢獻

Code

?

#include<bits/stdc++.h> #define RG register using namespace std;int n, m; struct Node {int u, v, nex;Node(int u = 0, int v = 0, int nex = 0) :u(u), v(v), nex(nex) { } } Edge[400005];int h[100005], stot = 1; void add(int u, int v) {Edge[++stot] = Node(u, v, h[u]);h[u] = stot; }int fae[100005], vis[100005], vise[400005], odd[100005], even[100005], cnto, cnte, dep[100005]; void dfs(int u) {vis[u] = 1;for(int i = h[u]; i; i = Edge[i].nex) {int v = Edge[i].v;if(vise[i]) continue;vise[i] = vise[i ^ 1] = 1;if(vis[v]) {if((dep[v] & 1) == (dep[u] & 1)) {odd[u] ++;odd[v] --;cnto ++;} else {even[u] ++;even[v] --;cnte ++;}} else {fae[v] = i;dep[v] = dep[u] + 1;dfs(v);}} }void dfs2(int u) {for(int i = h[u]; i; i = Edge[i].nex) {int v = Edge[i].v;if(fae[v] == i) {dfs2(v);odd[u] += odd[v];even[u] += even[v];}} }int main() {freopen("voltage.in", "r", stdin);freopen("voltage.out", "w", stdout);scanf("%d%d", &n, &m);for(int i = 1; i <= m; i ++) {int u, v;scanf("%d%d", &u, &v);add(u, v); add(v, u);}dfs(1); dfs2(1);int ans = 0;for(int i = 1; i <= n; i ++)if(fae[i] != 0 && odd[i] == cnto && !even[i])ans ++;if(cnto == 1) ans ++;printf("%d\n", ans);return 0; }

?

轉載于:https://www.cnblogs.com/wans-caesar-02111007/p/9822136.html

總結

以上是生活随笔為你收集整理的【10.20校内测试】【小模拟】【无向图建树判奇偶环】【树上差分】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在哪里可以看毛片 | 先锋影音亚洲 | 亚洲精品www久久久久久 | 女人扒开双腿让男人捅 | 亚洲天堂中文在线 | 日本福利片在线观看 | 精品动漫一区 | 欧美交换国产一区内射 | 人妻少妇精品无码专区二区 | 国产精品无码成人网站视频 | 黄色综合网站 | 久久99久久99精品蜜柚传媒 | 欧美第九页 | 久久久久久91亚洲精品中文字幕 | 最新av导航 | 亚洲欧美日韩第一页 | 男女野外做受全过程 | 少妇太紧太爽又黄又硬又爽小说 | 久草免费在线观看 | 亚洲一区中文字幕 | 东北女人av| 免费av免费看 | 日韩不卡免费视频 | 91手机在线视频 | 91亚洲精品一区二区乱码 | av动漫免费看 | 夜夜夜网 | 久久久久亚洲AV成人网人人小说 | 男人的天堂一区 | 九色影视| 玩弄丰满少妇xxxxx性多毛 | 久久22| 国产日韩一区二区在线观看 | 在线亚洲观看 | 欧美色图3p | 婷婷精品在线 | 高清国产视频 | 99久国产| 国产伦子伦对白视频 | 国产精品一区二区三区线羞羞网站 | www.com欧美 | 日韩乱码人妻无码中文字幕 | 精品国产av无码 | 久久久久久影院 | 亚洲精品久久久久 | 1000部做爰免费视频 | 永久免费av网站 | 日本免费色视频 | 九九热精品在线视频 | 久久综合免费视频 | 久久成人一区二区 | 丰满少妇xbxb毛片日本 | 奇米视频在线观看 | 天天爱天天操 | 成人污污www网站免费丝瓜 | 国产一区二区视频免费在线观看 | 欧美在线观看一区二区三区 | 毛片视频免费 | 中文字幕在线视频免费观看 | 国产一区二区不卡在线 | 欧美黑人性生活 | 亚洲乱码精品久久久久.. | 国产一区二区三区免费视频 | 精品视频在线观看 | 久久看片 | 日本天堂在线观看 | 国产av不卡一区二区 | 日韩精品一区二区三区国语自制 | 国产精品一区二区毛片 | 国产又粗又黄又爽 | 一起草视频在线播放 | 不卡av免费在线观看 | 五十路中文字幕 | 7x7x7x人成影视 | 美女国产精品 | 久久精品久久精品久久 | 日本污网站 | 久久久免费av | 日本三级午夜理伦三级三 | 日韩一级色 | 一区二区三区四区免费观看 | 一个色亚洲 | 亚洲色图偷 | 美丽的小蜜桃2:美丽人生 | 成人高潮片免费视频 | 成人精品视频一区二区 | 成人小视频免费在线观看 | 性欧美日韩 | 亚洲精品男人的天堂 | 欧美色炮 | 天天曰天天 | 午夜影视在线观看 | 香蕉视频网站在线观看 | 大伊人网| 少妇又紧又色又爽又刺激 | 国产一二三区在线 | 国产成人激情 | 日本va视频 | wwwxxx在线播放 |