离散化
zyz_3_14159
这个作者很懒,什么都没留下…
展开
-
LightOJ-1085-树状数组,离散化,dp
题目大意:求出一个序列中有多少个递增序列(不需要是连续的)。 题目解析:对于一个以i结尾的,那么dp[i]=sum(dp[j])+1(j AC代码: #include #include #include #include #include using namespace std; const int maxn=100010; const int mod=1000000007; int n,d原创 2016-11-22 20:45:30 · 297 阅读 · 0 评论 -
LightOJ-1089-线段树,离散化
题目大意:给定n的区间和m的询问,每次询问求出有多少个区间包含所给出的点; 题目解析:用线段树做,把叶子节点想象成端点,并且维护cover即被几个区间所包含;这样需要把所有端点都sort一下,因为端点数值太大,需要离散化一下并且去重,找的时候因为排过序了所以只要二分搜索一下就ok了;初始化线段树的时候把所有区间所对应的index二分出来来进行更新; AC代码: #include #inclu原创 2016-11-24 15:18:06 · 292 阅读 · 0 评论 -
POJ-2299-树状数组,离散化
题目大意:求一组数的逆序数有多少个; 题目解析: 用树状数组做,向下更新,向上求和; AC代码: #include #include #include #include #include using namespace std; typedef long long ll; const int maxn=500010; ll d[maxn],a[maxn]; struct node {原创 2017-04-16 21:24:46 · 511 阅读 · 1 评论