2018 5 20 刷題記錄

2022-04-13 16:42:59 字數 567 閱讀 4698

巧妙的轉換,轉換為乙個二維陣列求其相等兩行的最大距離 hash 

解釋的很清楚

我的想法是求如果不同位置的1出現的次數相等,則這個區間的數(十進位制)相加就是2^n-1的倍數

問題是怎麼求這個區間的和,並且還得比較哪個最大,這個即使sum[i]記錄的是前i個數的和,也要n*n 時間來比較大小,所以tle 

在這題中,先將其轉換為2進製,用sum[i][j]儲存第i個數

**給出一棵樹,問最多去掉多少條邊之後,剩下的連通分量的size都是偶數。

思路:如果本來就是奇數個點,那麼無論去掉多少條邊都不可能成立的。

如果是偶數個點,就進行一次dfs,假設乙個點的父親是u,兒子是v,那麼可以去掉(u,v)的條件就是v及其子樹有偶數個點,任何一條這樣的邊都是可以去掉的。不能去掉(u,v)則父親只能和兒子搭配了,這樣才滿足奇數個的子樹能變成有偶數個點,

所以一邊dfs,一邊統計答案就可以了。

這是思維題,考慮到最終答案肯定是兩兩搭配,所以一直在想如何才能類似於二分匹配,但其實不用。應該考慮什麼時候能夠刪除這條邊,刪除這條邊的條件。而我則是一直在模擬如果刪除了這條邊會怎樣,失敗後回溯等等錯誤的方向

OI刷題記錄

2014 4 18 poj3264 bzoj1699 balanced lineup rmq 2014 4 19 bzoj1012 jsoi2008 最大數maxnumber noi2004 鬱悶的出納員 bzoj3224 tyvj 1728 普通平衡樹 2014 4 20 bzoj1862 105...

面試刷題記錄

寫一段 判斷乙個包括 的表示式是否合法 注意看樣例的合法規則。給定乙個表示式a,請返回乙個bool值,代表它是否合法。測試樣例 a b 5 4 返回 true 測試樣例 a b 5 4 返回 false include vector include iostream using namespace ...

刷題記錄 2015 11 14

現在每天做的題都記錄一下,免得不知道自己在幹什麼。poj2406 用next陣列的定義求迴圈節 poj3261 字尾陣列 題 spoj705 同上,這題我wa了幾次,結果發現 我以為字串只有大寫字母,其實有小寫。如下 poj2406 author duyixian date 2015 11 14 1...