给定一个整数数组 A ,我试图找出在给定位置 j ,从 A 中的每个 i=0 到 i=j 发生了多少次 A[j]。我设计了如下所示的解决方案
map<int,int> CF[400005];
for(int i=0;i<n;++i)
{
cin>>A[i];
if(i!=0)
CF[i-1] = CF[i];
++CF[i][A[i]];
}
比我可以在登录时间内回答每个查询。但是这个过程使用了太多的内存。有什么方法可以使用更少的内存吗?
如需更多说明,您可以查看我正在尝试解决的问题http://codeforces.com/contest/190/problem/D