這題廢了。。。
首先,題意一定要明白。
我們要構造乙個y陣列(一維,題目的)
然後再構造出我們要的x矩陣。(滿足xi,j=yi^yj)
由於題目要
也就是對於每乙個位置(i,j),要使x[i,j]|(!a[i,j])
然後,我們要讓
也就是說,y中0的個數和1的個數差最小。
答案就是
上標:
#include
#include
#define max(x,y) x=x>y ? x:y
using namespace std;
int t,n,m,a[
1010][
1010
],cnt=
0,tot=0;
int fa[
1010
],tf[
1010
],sum[
1010][
2],z[1010][
2];int f[
1010][
1010
],s;
inline
intread()
intgf
(int x)
inthaha()
else
if(tf[i]
==tf[j]
)return-1
;}for(
int i=
1;i<=n;i++)if
(!fa[i]
) z[
++tot][0
]=sum[i][0
],z[tot][1
]=sum[i][1
];memset
(f,-1,
sizeof
(f))
; f[0]
[0]=
0;for(
int i=
1;i<=tot;i++
)for
(int j=
0;j<=n;j++
)for
(int i=n/
2;i>
0;i--)if
(f[tot]
[i])
return i*
(n-i)*2
-s;return-1
;}intmain()
return0;
}
HNOI2016模擬4 10 線性代數與邏輯
這題廢了。首先,題意一定要明白。我們要構造乙個y陣列 一維,題目的 然後再構造出我們要的x矩陣。滿足xi,j yi yj 由於題目要 也就是對於每乙個位置 i,j 要使x i,j a i,j 然後,我們要讓 也就是說,y中0的個數和1的個數差最小。答案就是 上標 include include de...
HNOI2016模擬4 10 K小數查詢
維護乙個長度為n的序列,使得其支援m次操作,包括區間插入和區間求k小數。n,m 80000,在任何時候 ai 5000000 一看到區間第k大 小,就想到了主席樹。但這個是區間修改!怎麼做呢?分塊 好 觀察到時限7s,果斷上分塊。複雜度好不科學 分塊 好?用每乙個塊維護排過序後的塊和原來的塊,然後對...
HNOI2016模擬4 10 K小數查詢
維護乙個長度為n的序列,該序列支援q個操作 將第l到r個數加上x 詢問l到r之間第k小個數是什麼。看到實現時間7000ms,嘿嘿,果斷分塊打法。大呼 分塊 好 這題因為有區間加操作,直接用資料結構難以維護區間 k 小值。但是可以用 分塊解決此題。最簡單的方法是每個塊維護原塊和排序後的塊,詢問時二分答...