今天考試我沒有一道題想出正解了...。 聽了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 usingnamespace
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.其實邪狼王的貪婪也很...