题目大意:
题解:
模拟:
这个的实现我是做着做着想到了,不过思路比较乱,
具体的实现我觉得跟这个博客写的动态维护差不多。
http://m.blog.csdn.net/lycheng1215/article/details/74452218
就是用前缀和跟一些数组辅助维护求出每个点的贡献。
时间复杂度:O(N)
代码:
var
sum1,sum2,list:array [0..51] of longint;
ans,x,y,z,i,k,n,m:longint;
begin
readln(n,k,m);
for i:=1 to n do
begin
readln(x,y);
if y<=m then z:=i;
if z>=list[x] then
sum1[x]:=sum2[x];
ans:=ans+sum1[x];
inc(sum2[x]);
list[x]:=i;
end;
writeln(ans);
end.