因為連續異或滿足區間減法性質,所以可以狀壓之後用異或來判斷是否為符合條件的單詞並且儲存次數
一開始用map,一直超時。雖然直接用開1<<26的陣列記憶體存的下,但是memset的時間肯定會超,但是只要在每次迴圈之後把加過的值減掉就可以繞過memset了。
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;
const int maxn = 30000 + 5;
char buf[maxn];
int len,spos,val[maxn];
int mp[1 << 26];
bool vis[27];
ll solve(int l,int r) else ret += mp[nowval],mp[nowval]++;
nowval = 0;
mp[0] = 0;
for(int i = l;i <= r;i++) if(val[i] >= 0)
return ret;
}int main()
if(spos == -1) cout << solve(1,len) << endl;
else
cout << ans - cnt * rest << endl;}}
return 0;
}
HDU 漢字統計
題目 統計給定文字檔案中漢字的個數。input 輸入檔案首先包含乙個整數n,表示測試例項的個數,然後是n段文字。output 對於每一段文字,輸出其中的漢字的個數,每個測試例項的輸出佔一行。hint 從漢字機內碼的特點考慮 sample input 2wahaha wahaha 今年過節不說話要說只...
hdu 漢字統計
problem description 統計給定文字檔案中漢字的個數。input 輸入檔案首先包含乙個整數n,表示測試例項的個數,然後是n段文字。output 對於每一段文字,輸出其中的漢字的個數,每個測試例項的輸出佔一行。hint 從漢字機內碼的特點考慮 sample input 2wahaha ...
hdu 統計問題 遞推
problem description 在一無限大的二維平面中,我們做如下假設 1 每次只能移動一格 2 不能向後走 假設你的目的地是 向上 那麼你可以向左走,可以向右走,也可以向上走,但是不可以向下走 3 走過的格仔立即塌陷無法再走第二次 求走n步不同的方案數 2種走法只要有一步不一樣,即被認為是...