SPOJ
文章平均质量分 90
aozil_yang
这个作者很懒,什么都没留下…
展开
-
SPOJ DQUERY - D-query(主席树-区间不同数的个数)
大体题意:给你n 个数,给你q个询问,每个询问问你某个区间上不同数的个数是多少?思路:主席树入门题:简单记录一下:这里先建立一个完整的线段树,这里的区间就代表区间了,不再是第几大了,定义的sum 是这个区间上的不同数的个数有几个。因为是主席树嘛,所以肯定要建立n 棵线段树,每个线段树是以每个位置的数为根,比如说该建立第i 个线段树了,如果这个数字之前没有出现过,那么我们原创 2017-03-23 20:58:56 · 3982 阅读 · 0 评论 -
SPOJ VECTAR1 - Matrices with XOR property(统计)
大体题意:问你有多少个矩阵满足(i1,j1) and (i2,j2), if (i1^j1) > (i2^j2) then A[i1][j1] > A[i2][j2]对1e9+7取模思路:当i1^j1 == i2^j2 的时候不能比较大小, 全排列就好了。因此问题转换为有多少个i1^j1 == i2^j2 的位置,全排列乘起来就好了#include #include #原创 2017-03-09 21:23:45 · 341 阅读 · 0 评论 -
SPOJ - DISUBSTR (后缀数组)
题意:求一个字符串的不同子串的个数?思路:后缀数组算法:每一个子串都是某一个后缀的前缀,那么问题转换为 求 所有后缀的不同前缀个数。如果按照后缀数组 sa[0],sa[1],sa[2],,,sa[k]访问的话,那么访问sa[k] 便会新加入n - sa[k] + 1个 前缀。这些前缀中 有height[k] 是与前面重复的,减去即可。#include #inclu原创 2017-04-26 21:39:30 · 416 阅读 · 0 评论