02 2021 档案
摘要:记录每一次操作的玩家为操作序列(去掉第一次),需要满足:a的个数为n且以a为结尾,b和c的个数分别不超过m和k 其所对应的概率:每一个字符恰好确定一张卡牌,因此即3n+m+k−|s| 暴力枚举b和c的个数,即$\sum_{i=0}^{m}\sum_{j=
阅读全文
摘要:毒瘤分类讨论题 (注:以下情况都有“之前的情况都不满足的”前提条件,并用斜体表示一些说明) Case0:若|s|≤2,直接输出即可,因此假设|s|>3 首先,我们最希望在不对b操作的前提下(不减小b的数量)使得所有b都在最前面,此时即最大化后缀a的数量,由于每一次操作减
阅读全文
摘要:(由于是实数范围,端点足够小,因此区间都使用中括号,且符号取等号) 定义P(X)表示∀2≤i≤n,ai−ai−1≥X的概率,那么我们所求的也就是P(X)的积分 考虑如何求某一个P(X)(X为非负实数): 令$a'_{i}=a_{i}-i
阅读全文
摘要:1和2操作是独立的,换言之一定可以先执行1操作选择包裹,再执行2操作使得0≤ci<2i 对于ci,将其看作一个进制转换,并以ci为从低到高的第i位,系数即为2i−1(i−1)! 将其乘权累加,即令$c_{0}=\sum_{i=1}^{n}2^{i-1
阅读全文
摘要:不难证明合法当且仅当满足一下两个条件: 1.每一个位置最多被覆盖两次(无环) 2.将选择的区间按左端点从小到大排序,对于每一个左端点,其之前的区间的最大右端点不小于其(连通) (关于第一个的充分性证明可以考虑一个极小环,将环上区间排序即矛盾) 就将所有区间按照左端点从小到大排序,然后依次选择 更具体
阅读全文
摘要:构造一个坐标系,共有n个黑点和百点,第i个黑点为(pi,ai),第i个白点为(−qi,−bi) 考虑第i个黑点和第j个白点连线的斜率,恰好就是f(i,j) 根据pi,qi>0,注意到黑点一定在白点右侧,且恰好从y轴将两者分开
阅读全文
摘要:以1为根建树,先将所有路径挂在lca上,再分两类讨论: 1.lca相同,此时我们仅关心于lca上不经过第a和b个儿子路径数,容斥一下,即所有路径-经过a的-经过b的+经过a和b的,前三个很容易统计,最后一个用map即可 (这样分类主要是避免lca相同时重复计数) 2.lca不
阅读全文
摘要:令ci=ai⊕bi,那么也就是要对ci执行操作使其变为0 显然有一个贪心的策略,即从左往右,若当前ci≠0,则执行对[i,i+k)异或ci的操作,若i+k≥n+2则说明无解 更具体的,定义pi为到第i个
阅读全文
摘要:由于没有删边操作,可以先建出整棵森林,之后再用并查集判断是否连通,若连通必然与最后的森林相同 但如果用树链剖分+线段树的形式来优化建图,更具体如下: 建立两颗线段树,左边从儿子连向父亲,右边从父亲连向儿子,再将右边线段树上的连向左边对应的点,那么复杂度为o(mlog3n)(前两个$\lo
阅读全文
摘要:定义 约定1:以下分数都是最简,且令10有意义,其大于其余分数,并称平行于y轴的直线斜率为−10 分数加:对于分数a=a1a0、b=b1b0,定义$a\oplus b=\frac{a_
阅读全文
摘要:以下考虑直接对所有F(A)求和,并给出两种做法—— 做法1: 枚举答案A,对应方案数为{n-A\choose m}^{2}-{n-A-1\choose m}^{2},即答案为$\sum_{i=0}^{n-1}({n-i\choose m}^{2}-{n-i-1\choose m}^{2}
阅读全文
摘要:最简单的是利用Min25筛求h(n)的过程,即 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 1000005 4 #define ll long long 5 int K,vis[N],P[N],h[N<<1]; 6 l
阅读全文
摘要:注意到当a_{i}\ne 1且a_{i+1}\ne 1,那么\forall i<j,a_{j}=a_{i+1}(证明的话简单归纳就可以了) 令f_{i}表示在题中条件下,还满足\forall i\le j,a_{j}=a_{i}的方案数,转移考虑所填的a_{1}和$a_{2}
阅读全文
摘要:首先,来构造这棵树的形态 称位数相同的点为一类点,从每一类点中任选一个点,具有以下性质: 1.每一类中选出的点的导出子图连通(是一颗树) 2.每一条边必然有一个端点属于某一类中选出的点 (关于“若有解,一定存在上述这种形式的解”的证明可能比较困难,大概感性理解一下?) 由于类别很少(记为$m=\lf
阅读全文
摘要:先线段树分治,但事实上与普通的动态连通性/二分图的判定有很大的区别: 1.对每一个修改(建议将初始的边也作为无色修改),在其第一次修改时进行判定,若发现不合法则将其颜色改为对该边最后一次可行的修改,之后再执行即可; 2.操作顺序会影响,有可能左子树中的操作先于父亲的操作 对于此类操作,必然要求父亲之
阅读全文
摘要:对于两条边(x_{1},y,c)和(x_{2},y,c),不难发现x_{1}与x_{2}完全等价,因此可以合并 重复此过程,合并之后用启发式合并来合并边集(注意自环也可以参与合并,即(x,y,c)和(y,y,c),那么就将x和y合并),并用一个队列来记录操作 之后,当
阅读全文
摘要:类似cf582E,先建出表达式树,然后树形dp+离散+min和max卷积的优化,复杂度为o(nm|E|),无法通过 考虑我们仅关心于这n个数的大小关系,具体来说,假设给出的数组是a_{i,j}(其中0\le i<m,1\le j\le n),对于某一个j,将a_{i,j}从小
阅读全文
摘要:称0到L的方向为左,同时为了方便,可以假设0<t_{i}\le 2L 当我们确定是进入店中的方向,根据这个店的位置以及购物时间,不难确定出来时火车经过0或L的次数,由于0<t_{i}\le 2L,因此总共至少有一次且分别不超过1次,即分以下三类讨论: 1.经过0未经过L,在该位置
阅读全文
摘要:由于每一个运算都有括号,因此添加的运算不会改变运算顺序 先将其建出一棵表达式树,也就是维护两个栈,是节点和运算符优先级单调递增的栈(设置左括号优先级最低,右括号弹出直至左括号) 每一次运算,也就是新建一个节点(节点上记录操作符),并将栈顶的两个节点作为其儿子即可 关于?是操作符还是变量的判定,只需要
阅读全文
摘要:构造一张二分图,左边是n个点,右边是n-1个集合,按照点属于集合连边 定义一组匹配的意义,即说明该点的父亲在该集合中选择 利用dinic求出二分图的最大匹配,若不为n-1则无解,否则考虑如何去构造一组解: 考虑左边剩下的未参与匹配的点x,将其作为根,并将所有含有x的集合所匹配的点
阅读全文
摘要:令f_{S}表示字符串S的答案(所有子集的方案数之和),考虑转移: 1.最后是一个字符串,不妨仅考虑最后一个字符,即f_{S[1,|S|)}(字符串下标从1开始),特别的,若S_{|S|}=1,还有一个2倍的系数 2.是一个乘法,考虑是k\times T,记l=|T|,则$T
阅读全文
摘要:考虑第i列的答案,即找到一个区间[l,r],使得: 1.l和r要同奇偶,令ans=\frac{r-l}{2},要求尽量大(ans+1即为该列答案) 2.\forall 0\le j\le ans,$[l+j,r-j]\subseteq [l_{i-j},r_{i-j}],
阅读全文
摘要:先考虑枚举最后的点,并以其为根 首先,操作祖先-后代关系是没有意义的,因为以后必然有一次操作会操作祖先使其返回原来的位置,那么必然不如操作后代和那一个点(少一次操作) 考虑某一次操作,总深度和恰好减2,因此若有解,操作次数为深度和的一半 考虑dp,令f_{k}表示以k为根的子树经过若干次操作
阅读全文
摘要:特判n=2,以下有n\ge 3 考虑两个节点的交集,分类讨论: 1.距离大于4,则交集为空 2.距离等于4,则交集大小恰好为1,即路径上中间的点 3.距离等于3,则交集大小恰好为2,即路径上的两个点(不包括端点) 4.距离等于2,则交集大小至少为3,至少包含两者路径上包括端点的3个点 5.距
阅读全文
摘要:考虑这样一个问题—— 有若干个01序列,将这些序列以任意顺序连接,最小化逆序对数 记其中第i个序列有a_{i}个0和b_{i}个1,序列内部的逆序对数可以直接统计 此时,仅需统计序列间的逆序对数,进而即按照\frac{b_{i}}{a_{i}}从小到大排序(调整法易证)
阅读全文
摘要:令f(x)=\frac{x^{2}+c}{x},换言之即x物品的性价比的倒数 对其求导即f'(x)=1-\frac{c}{x^{2}},其导数严格递增,换言之即是一个严格下凸函数,记x_{0}为其最小值的位置,那么不难证明x_{0}=\lfloor\sqrt{c}\rfloor或
阅读全文
摘要:(可以先阅读题目中关于顺逆时针的定义,避免理解错误) 考虑一盘菜b_{i}被a_{j}吃掉,对于其最后一次移动:如果是顺时针,则称b_{i}的移动区间为[a_{j},b_{i}](若b_{i}<a_{j}则为[a_{j},n)\cup[0,b_{i}]的环),反之类似(特别的
阅读全文
摘要:考虑对于第i层x与第i+1层所对应的点y,点p在前i层中当且仅当p到x比p到y距离小 由此,考虑枚举第一层的一个点以及对应到第二层的边,通过bfs就可以确定第一层的点 接下来,标记第一层的点后,第一层的点剩下到未标记的点即为第二层的点,以此类推,就可以$o(m
阅读全文
摘要:考虑每一个圆即对应于区间[x_{i}-r_{i},x_{i}+r_{i}],可以看作对于每一个区间,要求所有右端点严格比其小的区间不严格包含左端点 用f_{i}表示仅考虑右端点不超过i的区间的方案数,分为两类: 1.第i个节点不作为右端点,即f_{i-1}; 2.第i个节点作
阅读全文
摘要:记len_{i}=r_{i}-l_{i},即第i个区间的长度 用f_{i,j}表示前i个区间合法,第i个区间位于[j,j+len_{i}]的最小代价,暴力dp的时间复杂度为o(nL^{2}) 考虑f_{i,j}的转移,即$f_{i,j}=\min_{[j,j+len_
阅读全文
摘要:考虑当a\le b时,构造两种方案,满足诚实的人不交,接下来要求对于任意询问,这两种方案的答案都有可能相同 考虑询问(i,j),若i在两种方案中有一种不诚实,那么总可以让答案相同,又因为诚实的人不交,因此一定可行 当a>b,我们只需要找到一个诚实的人就可以做了,考虑如何找到这个诚实的
阅读全文