https://www.zhihu.com/question/24089249
来实践一下,以AddressSanitizer为例
编译运行:
clang++ -g -fsanitize=address -fno-omit-frame-pointer poj1226.cpp -o 1226
./1226
测试,得到以下结果:
最后送上此题测试数据
pku1226 Substrings
题目来源 ACM-ICPC 2002 Tehran
http://icpc.sharif.edu/acmicpc02/problems.html
数据:A.in A.cor
续集
树状数组要注意跑初始rank时候有时会这样写
for (int i=0;i<n;i++)
cnt[ str[i] ]++;
for (int i=0;i<128;i++)
cnt[i+1] += cnt[i];
记录cnt时候遍历的是原字符串,所以cnt的有效下标应该是0~128,要把char的范围覆盖住。