HNOI2016模擬4 10 線性代數與邏輯

2021-09-09 08:20:13 字數 1228 閱讀 7549

這題廢了。。。

首先,題意一定要明白。

我們要構造乙個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 小值。但是可以用 分塊解決此題。最簡單的方法是每個塊維護原塊和排序後的塊,詢問時二分答...