HDU 5883 2016網預 青島

2021-07-22 22:28:36 字數 1263 閱讀 9312

傳送門:hdu

給乙個圖,每個點有權值,點之間有路。現在要求每一條路僅走一次,到達的點異或和最大。輸出最大值,或impossible。

類似一筆畫問題。網上基本用並查集判斷聯通,但可能題目要求圖必須聯通,所以不判也可以。

統計每個點的度數,無向圖不分入度出度。度數為奇數的點只能是0個或2個,否則impossible。如果是2個,那麼異或和只有一種情況,否則存在最大值。

關於異或和,某個點的權參與異或度數/2次,有效次數是 度數/2%2次(b^a^a=b)。另外如果度數為奇數的點是2個,那麼起點是其中乙個,終點是另外乙個,這兩個點需要在各異或一次。如果沒有度數為奇數的點,那麼起點終點相同,這個點需要再異或一次,這時就是存在最大值的情況,需要用乙個迴圈找出最大值。

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int oo=0x3f3f3f3f;

const

int maxn=220007;

typedef

long

long ll;

int value[maxn];

int degree[maxn];

int main()

memset(degree,0,sizeof(degree));

for(int i=0;iint t1,t2;

scanf("%d%d",&t1,&t2);

degree[t1]++;degree[t2]++;

}int res=0;

int odd_num=0,flag=0;;

int oddlist1=0,oddlist2=0;

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

if(odd_num>2)

}if(flag)

else

}if(odd_num==0)

printf("%d\n",max_res);

}else

if(odd_num==2)}}

return

0;}

HDU5878 HDU5891 2016網路賽青島

a 題意 給出乙個整數n 找出乙個大於等於n 的最小整數m 使得m的質因數只有2 3 5 7 分析 預處理出質因數2 3 5 7的數,超過maxt就行,然後找 b 題意 求1 1 2 1 2 2 1 n 2 分析 題坑,意思是n很大 感覺上越到後來值越小,實際上這個是趨向 2 6,於是小範圍的n直接...

HDU3549 網路流 模板

在此給出我的dinic和ek網路流模板,sap以及dinic的優化日後更新 以hdu3549為樣板給出我的模板 原題 如下 ek by acer.mo include include include include includeusing namespace std int n,m,i bool ...

hdu4280 網路流模版)

驗證了一下網路流的板子題 發現有乙個板子和kuangbin聚聚的板子效率相差不多可能還更高效 kuangbin聚聚寫的是非遞迴的 這個可能更容易敲一點 題目大意就是輸入n,m 找到s t 直接連圖求最大流 附鏈結 include include include include includeusin...