![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL维护
lyc1635566ty
这个作者很懒,什么都没留下…
展开
-
HDU-5806-NanoApe Loves Sequence Ⅱ-DP+队列维护
题意:一串有n个数的数列,其中,第k大的数字不小于m的连续子序列有多少。 思路:可以用队列gg维护一个当前最近的k个不小于m的数字, dp[i]表示到当前位置的种数 如果当前位置小于m,dp[i]=dp[i-1]+gg.front(); ps.dp[i-1]表示当前数字直接加到之前的情况的后面,gg.front()表示包括最近的m个数字的区间向前伸展,个数即为当前k个不小于m的数字最前面原创 2016-08-07 15:51:11 · 203 阅读 · 0 评论 -
HDU-5875-Function-STL维护
题目链接题目意思:给定如下的一个一个公式,对于给定一个n个序列,m个询问,给你个l,r求出f值f(l,r)={A[l],f[l,r−1]moda[r],l=rl<r\begin{eqnarray}f(l,r)= \begin{cases} A[l], &l=r\cr f[l,r-1] mod a[r], &l<r \end{cases} \end{eqnarray}思路:可原创 2016-09-12 16:14:36 · 547 阅读 · 0 评论 -
HDU-5884-Sort-二分加多叉哈夫曼树
题目链接题意:给你n个已经排好序的序列。然后求最小的k,使得每次最多合并k的序列,合并的费用是合并序列的总长度,最后使得总费用小于T。思路:二分k,对于每个k求一个k叉哈夫曼树,注意要补0.#include<bits/stdc++.h> #define maxn 111111 using namespace std; int a[maxn]; int n; long long T; long lon原创 2016-09-19 21:15:35 · 327 阅读 · 0 评论 -
HDU-6184-Counting Stars(广西邀请赛C题)(数据结构优化)
题目链接题意:给你一张图,然后问你有多少个A-数据结构具体结构就是一个正方形里面加一条线。思路:就是求出所有的三元环,然后组合一下。具体想法就是,对于每一条边,然后求出有多少个点能和这条边组成三角形。然后组合一下就好了。具体操作:直接枚举边,然后再去枚举每个端点,我先这么枚举了一下,发现不行,T了。然后我们就可以换一种角度,去枚举每一个点,然后在去枚举每一条河这个点有关的边,如果这个点被枚举过了,就原创 2017-09-15 22:15:12 · 364 阅读 · 0 评论