[LibreOJ β Round]ZQC的课堂

题目描述https://www.loj.ac/problem/503题解x和y是可以分开考虑的。 设si表示某维坐标的前缀和。 要求统计多少i满足si*si-1=0且min(si,si-1)<=0。 这样两个限制依然不好统计。 改成用n减去不满足条件的。 1、max(si,si-1)<=0 2、min(si,...
阅读(40) 评论(0)

Informatics Training

题目描述数据结构对每个小组用两个数据结构维护,分别维护体力和刷题量。 对于合并的操作,可以启发式合并。 单个修改直接在对应的数据结构里改。 小组修改可以通过打tag实现,这个tag只有在这个小组被并进另一个小组的时候才下传。注意这个tag是永久化的,因此并进另一个小组时,要把它们对另一个小组的tag进行反作用。 淘汰人可以在对应数据结构进行修改。 为了方便做考核操作,每个小组维护出刷题量最...
阅读(64) 评论(0)

[51nod1558][CF468D]树中的配对

题目大意一颗n个节点的树,边有边权。 求一个字典序最小的排列p 使得∑dis(i,pi)\sum dis(i,pi)最小思考∑dis(i,pi)=∑depi+deppi−2∗deplca(i,pi)=2∗∑depi−2∗∑deplca(i,pi)\sum dis(i,pi)=\sum dep_i+dep_pi-2*dep_{lca(i,pi)}=2*\sum dep_i-2*\sum dep_{...
阅读(144) 评论(0)

[CF765F]Souvenirs

题目大意给定一个序列 多次询问一个区间最接近两个数的差值 最接近的两个数可以相同,但不能是同一个位置上的数。 允许离线强大线段树做法我们首先可以扫描线 从左到右扫,每次处理右端点在扫描线上的所有询问。 我们维护一颗线段树,线段树每个节点的值没有太多实际的意义,但它需要满足一个性质: 假如当前扫描线在now,那么在线段树中查询[l,now]这个区间的答案就是正确的答案 听起来很不可思议?...
阅读(192) 评论(0)

灵知的太阳信仰

题目大意每个位置有两个值ai和bi。 给一个序列分成若干连续段,使得每个段内a值互不相同,代价是b的最大值。求最小代价。DP我们思考设fi表示给1~i分段的最小代价。 我们可以处理出ci表示一个最小的k使得[k,i]没有重复a。 这个随便用个桶就实现了吧。。 那么Fi=mini−1j=ci−1(Fj+max(j+1,i))Fi=min_{j=ci-1}^{i-1}(Fj+max(j+1,i)...
阅读(123) 评论(0)

阿凡达

题目大意一个长度为n的序列,初始全0。有两种操作。 1、将[l,r]重新设置A mod B,2A mod B,3A mod B,4A mod B,5A mod B……(r-l+1)A mod B。 2、求[l,r]的和。前置技能我们如何求∑ni=1iA mod B\sum_{i=1}^niA\ mod\ B? 就是求∑ni=1iA−⌊iAB⌋∗B\sum_{i=1}^niA-\lfloor\f...
阅读(50) 评论(0)

魔道研究

题目大意有3*10^5个多重集合,许多次操作,每次操作往某个集合里插入一个数。对于所有i,把第i个集合里前i大的元素加入集合S中。每次操作后你需要输出集合S中前N大元素的和。模拟模拟题意,用数据结构维护即可。 这里使用spaly。#include #include #define fo(i,a,b) for(i=a;i<=b;i++) using namesp...
阅读(232) 评论(1)

[bzoj4326][NOIP2015]运输计划

题目大意树上有许多条路径,现在你可以将一条边的权值设为0,令所有路径的最大值最小。最长路径瓶颈我们注意到,设为0的边如果不在最长路径上,就不会减小答案。 因此我们可以找出最长路径,把原树转化为一条链+许多树的模型。 预处理出每个点i的from[i]表示由链上哪个点延伸的。 接下来我们可以枚举将链上哪条边变为0,则经过这条边的最长路径一定是最长链,我们只需维护出不经过这条边的最长路径。这个显然可...
阅读(670) 评论(0)

STL中的set和multiset学习小记

注意,请未学习过平衡树的先去学习,再来学这个。 大神勿喷,本人蒟蒻。调用写上#include 有两种,一种是set,另一是multiset。 set是集合,集合内没有相同元素,每个数出现次数0或1。 multiset是多重集,每个元素可以出现多次。 一般调用多重集,这么写。multiset 名称;set也是一样。用处集合与多重集会自动维护所属类型的顺序(我们可以改变它的...
阅读(308) 评论(0)

数树数

题目大意及模型转换给定一棵由N个结点组成的树,现在有两种操作。1、将第i个结点权值改为x。2、询问第i个结点到第j个结点路径上的点有多少个权值为x。N<=100000,操作数Q<=200000。一开始第i个结点权值为v[i]。小感想2103年的题目真是鬼。。。这标题都不知道是什么鬼。。。什么可修改主席树又难打又难跳我还不会!比赛果断使用树上分块大水(分块大法好!)。题解说常熟大,加上我想到的实现方法...
阅读(317) 评论(1)
    个人资料
    • 访问:163941次
    • 积分:8221
    • 等级:
    • 排名:第2235名
    • 原创:640篇
    • 转载:5篇
    • 译文:0篇
    • 评论:159条
    公告
    幻梦终醒,本无不散之宴,却不悔付此华年。
    最新评论
    文章分类