18 10 29 考試總結

2022-05-20 01:28:15 字數 3608 閱讀 5080

今天考試我沒有一道題想出正解了...。 聽了idy的話今天先把暴力搞了狗了標準100暴力分竟然沒有墊底..

這道題其實要多暴力有多暴力...。 正解是開26棵線段樹 每乙個字母對應一棵線段樹 

每次搞乙個區間首先把他所有的字母取出來 然後填回去 當然不是暴力填 仍然是區間填 每個的填法都是從小到大填

所以每次填完要打上標記 若下次遞迴到這裡下放標記即可

這道題是一道很日怪的$dp$

$dp[i][j]$表示到了第$i$列有$j$列沒有填的合法方案數

那麼$i$越過乙個左側區間的右端點時,從之前剩下空列中選一在這個左側區間放1。轉移時分在右側區間放1或不放1。

這道題首先對對手操作進行化簡 原式子的$x$可以分為兩種情況

1.$x$的第$n$位為$1$ 也就是說它乘以二之後模上$2^$為$1$ 後面的$2 * x$相當於$x$左移一位 所以這個操作相當於把$x$最高位取出來擠到最後一位

2.$x$的第$n$位為$0$ 那麼這個時候他乘以二模上$2 ^ $不變 他除以$2 ^ $則為0 同樣相當於把他的最高位取出來擠到最後

先不考慮異或上給定的數

因為異或是相互獨立的 所以在進行這個操作的時候相當於先把前面位置的$a[i]$分別進行上述操作再異或起來 所以這個時候會產生$m + 1$個值與給定數進行異或 因為有$m + 1$個斷點

那麼這個時候就可以對這$m + 1$個數建一棵深度為$n$的$trie$ 然後在這個上面$dfs$

若到達某乙個深度時他有兩個兒子 那麼他對答案不會做出貢獻 因為不論我這一位選擇什麼我的對手都可以選擇另外一邊將我吃掉

那麼若這一位只有乙個兒子 就可以產生$(1 << (dep - 1))$的貢獻 因為對手只有一種選擇 我選擇與他相反的即可

一直走到葉子節點 統計對於每個葉子節點的答案的最大值 因為最小值是在$dfs$過程中已經保證了 

**

#include using

namespace

std;

const

int n = 3e6 + 5

;int ans, num, cnt, son[n][2

], n, m, rsum[n], sum[n], a;

bool

vis[n];

void insert(int

x) vis[now] = true;}

void dfs(int nd, int tmp, int

dep)

if(son[nd][1] && son[nd][0

])

else

if(son[nd][1]) dfs(son[nd][1], tmp + (1

<< (dep - 1)), dep - 1

);

else dfs(son[nd][0], tmp + (1

<< (dep - 1)), dep - 1);}

intmain( )

for(int i = 0;i <= m;i ++)

dfs(

0, 0, n); printf("

%d\n%d\n

", ans, num);

}

考試總結 CQOI2017 考試總結

再奮鬥一年,爭取ak noip2016 cqoi2017 這是去年我立的flag。看考場,電腦挺快,而且配置和評測機一樣,可以放心的在自己的電腦上卡常測試啦,好評。碼了一道fft的題,沒網只好拷著回家交,鍵盤蜜汁小,enter佔據了兩行,旁邊還有關機按鈕。座位安排奧妙重重,和巴蜀dyf大神坐在一起。...

MBA考試總結

終於考完了 mba入學統考,兩年來參加了兩次,感覺還是挺辛苦和有壓力的。第一年沒有通過是因為之前了解太遲,大概準備了 20天左右,最後還是功成垂敗。09年其實也一直沒有心情複習的,逼到最後的 20天,狠了一把勁,還是狠狠的複習了幾天,貌似今年應該可以通過了。總結經驗如下 1 如果你決定去做一件事,請...

2016 7 14考試總結。

今天的考試,總的來說不難,但是考得很差,簡直 從中暴露出對知識的掌握不牢固,練習不夠等問題。1.求 方程x1 2x2 nxn m的所有非負整數解 x1,x2,xn 的個數。這個題目在加上取餘運算後就是乙個貨幣系統的問題。也就是揹包。難以接受自己連這是個揹包問題都沒看出來。3 2.其實邪狼王的貪婪也很...