上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 27 下一页
摘要: 成环,把每个区间变成两个然后展开成链 一个人的下一个人肯定是在彼此相交的基础上,右端点越大越好 于是就把它连到相交的、右端点最大的点上,连成一棵树 于是每次只要从某个节点开始,一直在树上跳到覆盖了一个M为止,统计数量 这个可以倍增来做 阅读全文
posted @ 2018-10-09 10:36 Ressed 阅读(212) 评论(0) 推荐(0) 编辑
摘要: dfs序后用线段树来记每个节点的前缀和 每次找一个前缀和最大的节点,然后把它到根的路径上的每个之前没被走过的点 对应的dfs序的区间 减掉那个点的权值 每个点最多被减一次,复杂度是$O(nlogn)$的 阅读全文
posted @ 2018-10-09 10:32 Ressed 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 由于是$2^i$,所以一定要尽量留下来编号大的点 我们干脆就让n号点做树根,它是一定要留的 然后如果要留i的话,i一直到根的路径也都要留。所以只要判断一下够不够把这个路径上还没有留的都留下来 记录下已经留下来的点,然后倍增来找就可以了 然后如果可以的话,可以一个一个往上跳地修改,反正每个点只能被留下 阅读全文
posted @ 2018-10-09 10:28 Ressed 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 不能把数存下来。 于是来打擂台,如果新数和他不相等,cnt--,否则cnt++。如果cnt<=0了,那个新数就来把它顶掉,然后把cnt重置成1 最后在台上的就是那个次数大于N/2的众数 (连<bits/stdc++.h>都不能include..直接MLE) 阅读全文
posted @ 2018-10-09 10:24 Ressed 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 根据各点到圆心的距离相等,可以列出有N个等号的方程 假设圆心坐标是(x,y,z,...)的话,$x^2,y^2,z^2$等是可以消掉的 于是整理一下,就变成了N元1次方程组,有N个方程、而且保证是相容的 高斯消元的话,就是拿着第一式去把剩下的第一项都消了,再拿第二式把剩下的第二项都消了,...到最后 阅读全文
posted @ 2018-10-09 10:20 Ressed 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 由于有相同权值的边不超过10条的限制,所以可以暴搜 先做一遍kruskal,记录下来每个权值的边使用的数量(可以离散化一下) 可以证明,对于每个权值,所有的最小生成树中选择的数量是一样的、而且它们连成的连通块也是一样的 所以我们把每个权值的边分开暴搜所有可能的情况,最后再乘到一起就是答案 阅读全文
posted @ 2018-10-09 10:15 Ressed 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 把超级钢琴放到了树上。 这次不用主席树了..本来以为会好写一点没想到细节更多(其实是树上细节多) 为了方便,对每个点把他的那个L,R区间转化成两个深度a,b,表示从[a,b)选一个最小的前缀和(到根的和)减掉 为了更加方便,编号变为2~N+1,然后把2连到1上,1作为一个假根,权值为0 然后倍增去找 阅读全文
posted @ 2018-10-09 10:09 Ressed 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 思路:先扫一遍所有点作为右端点的情况,把它们能产生的最大值加到一个优先队列里,然后每次从优先队列里取出最大值,再把它对应的区间的次大值加到优先队列里,这样做K次 可以用一个前缀和,每次找i为右端点的第K大时,就相当于找[i-R,i-L](可能有±2的偏差,会意)的第K小值,然后把它减掉 这个可以用主 阅读全文
posted @ 2018-10-09 10:04 Ressed 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 算$m^n-m*(m-1)^{n-1}$,就是总的减去不越狱的,不越狱就每次都选一个和上一个不一样的 阅读全文
posted @ 2018-10-06 21:14 Ressed 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 既然他是非降的,那我们可以把这个序列每一位转化成到这位位置连续相同的个数,比如001111233444变成121234112123,然后一个区间内的最大值就是众数的位数。但有个问题,就是这个区间的左端点可能切开了某个连续相同的段,比如1111查后两个,查到的最大值就是4,只要给每一位记一下从他开始的 阅读全文
posted @ 2018-10-06 21:06 Ressed 阅读(262) 评论(0) 推荐(0) 编辑
上一页 1 ··· 11 12 13 14 15 16 17 18 19 ··· 27 下一页