上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 30 下一页
摘要: 其实是很水的一道题,但是由于我没有算好ans的数组大小导致一直wa。。 就是莫队分块,然后统计一下不同的个数。我们只需要看一个数出现是否>0来计算即可 // Author: levil #include<bits/stdc++.h> using namespace std; typedef long 阅读全文
posted @ 2020-08-30 10:20 levill 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 很显然是树形DP。 第一眼定义了f[u][i]表示向上覆盖i长度的最小代价。 但是因为这里的D是圈的影响范围,所以下面的点也会被该点影响到。显然不能这么简单处理。 我们再定义g[u][i]表示u点向下i层以下(包括i层)被覆盖的最小代价。这样中间空开的i长度也会得到处理。 这里我们可以思考一下转移: 阅读全文
posted @ 2020-08-30 09:07 levill 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 首先注意题意,是统计>=k的个数。 那么首先考虑一下暴力的思路,用cnt[i]来表示次数>=i的个数。 考虑删去一个点,那么cnt[c[i]]--。注意的是cnt[c[i]-1]不需要++,一开始误区就在这了,因为cnt[c[i]-1]还是满足>=c[i]-1的。 那么加入一个点,cnt[c[i]+ 阅读全文
posted @ 2020-08-29 18:33 levill 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 提供两种解法。 第一种:直接对询问离线,然后莫队分块。 我们用一个数组vis来统计每个数出现的次数,然后维护区间内出现次数超过2的数量即可。 一开始加了个vis[i] = max(vis[i],0)防负数操作还wa了,这样其实有点违背统计思想了。 // Author: levil #include< 阅读全文
posted @ 2020-08-29 12:07 levill 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 对于第一个式子。 分析内层循环可以发现,可以优化为i*n的前缀和。那么可以O(n)求出。 那么即为$\sum_{i = 1}^{n} i *pre[n]$ 再仔细观察我们可以提出pre[n]。那么就变成了pre[n]*pre[n]。至此就可以O(1)求出了。 pre[n]不需要预处理,因为这里空间卡 阅读全文
posted @ 2020-08-29 08:09 levill 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 这就是国家集训队嘛i了i了。 关于路径的统计。 考虑对所有路径都对3取模。 然后路径数就是关键了。 设长度为0的路径为n0,长度为1的路径为n1,长度为2的路径为n2 那么1和2组合肯定可以为0。因为反转也算不同的路径,所以要*2。 所以方案数为n1*n2*2; 这里的难点在于与长度为0路径的计算。 阅读全文
posted @ 2020-08-28 17:18 levill 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 主要在于对每个点贡献的思考。 单独看所有的方案数:每个点的贡献就是他是最大值的方案数*他的值 - 他是最小值的方案数*他的值。 对于最大值的方案数:我们找到他的左边第一个比他大的点L,右边第一个比他大的点r。 然后这个值可以分为两部分。两边分开独立的。i-L + r-i。 和两边组合形成的方案数(i 阅读全文
posted @ 2020-08-28 14:00 levill 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 去考虑每个块的贡献,那么就会发现,每个块贡献的雨水,就是min(左边最高的,右边最高的)-它的高度。 但是统计这个水,暴力的话大概就要N^2了。所以我们考虑去高效地统计。 dp统计一下就行了,正反扫两遍O(n) class Solution { public: int trap(vector<int 阅读全文
posted @ 2020-08-28 12:32 levill 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 观察后可以发现,对于每个块成产生的以他为高的最大面积的宽度,就是左边第一个比他小的位置到它右边第一个比他小的位置。 那么,我们可以用一个单调递增栈,在退栈时维护即可,显然退栈时栈顶和当前元素就是他左边第一个比他小的和右边第一个比他小的。 然后为了不在特殊处理结束后没退栈的元素,我们在头尾插入两个0元 阅读全文
posted @ 2020-08-28 10:08 levill 阅读(105) 评论(0) 推荐(0) 编辑
摘要: 思维量很大的一个题。 对于A类的数据,显然就是一棵树,那么LCA找下距离差即可。 对于B类的数据,是环套树。个人认为和C类数据差的不是很多了。 只是这里因为只有一个环,所以可以暴力点,把环上的所有边都先找到然后特殊处理即可。 对于C类数据,经典的仙人掌图,考虑拆环的解法。 对于每个环,拆环为树,然后 阅读全文
posted @ 2020-08-28 08:59 levill 阅读(181) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 30 下一页