离散化
oranges_c
落寞是岁月的痕迹
展开
-
【HDU5877】Weak Pair(线段树+dfs+离散化)
题目大意: 给你一个有根树,每个节点有权值,如果u是v的祖先,并且a[u] * a[v] <= k则(u,v)是一个虚弱对,求有多少组这样的对。dfs到某一节点时,路径上走过的点都是此节点的祖先。///#pragma comment(linker, "/STACK:1024000000,1024000000")#include <cstdio>#include <ios原创 2016-09-21 16:08:13 · 302 阅读 · 0 评论 -
【HDU4991】Ordered Subsequence(离散化+dp+树状数组)
题目链接 题目大意: 给你n个数的序列,问长度为m的严格上升子序列有多少个。答案对123456789取模 (n≤10000,m≤100)(n\leq10000 , m\leq100)有一个暴力dp dp[i][j]dp[i][j] :=表示以第i个数结尾,上升子序列长度为j的个数 如果a[k] < a[i] dp[i][j]+=dp[k][j−1]dp[i][j]原创 2017-04-20 20:47:51 · 280 阅读 · 0 评论 -
【BZOJ3289】Mato的文件管理(莫队算法+树状数组)
题目链接题目要求交换次数,其实就是逆序数。 求逆序数,用树状数组来求。 题目没说数据范围,则离散化处理一下考虑莫队算法 已知区间[l,r]\left[l,r\right]的交换次数SS1求[l,r+1]\left[l,r+1\right]的交换次数假设a[r+1]=xa[r+1] = x 这个和一般的逆序数求法一样,更新树状数组,求和。 update(Rank[x]原创 2017-04-27 16:38:31 · 262 阅读 · 0 评论