02 2021 档案
摘要:记录每一次操作的玩家为操作序列(去掉第一次),需要满足:$a$的个数为$n$且以$a$为结尾,$b$和$c$的个数分别不超过$m$和$k$ 其所对应的概率:每一个字符恰好确定一张卡牌,因此即$3^{n+m+k-|s|}$ 暴力枚举$b$和$c$的个数,即$\sum_{i=0}^{m}\sum_{j=
阅读全文
摘要:毒瘤分类讨论题 (注:以下情况都有“之前的情况都不满足的”前提条件,并用斜体表示一些说明) Case0:若$|s|\le 2$,直接输出即可,因此假设$|s|>3$ 首先,我们最希望在不对$b$操作的前提下(不减小$b$的数量)使得所有$b$都在最前面,此时即最大化后缀$a$的数量,由于每一次操作减
阅读全文
摘要:(由于是实数范围,端点足够小,因此区间都使用中括号,且符号取等号) 定义$P(X)$表示$\forall 2\le i\le n,a_{i}-a_{i-1}\ge X$的概率,那么我们所求的也就是$P(X)$的积分 考虑如何求某一个$P(X)$($X$为非负实数): 令$a'_{i}=a_{i}-i
阅读全文
摘要:1和2操作是独立的,换言之一定可以先执行1操作选择包裹,再执行2操作使得$0\le c_{i}<2i$ 对于$c_{i}$,将其看作一个进制转换,并以$c_{i}$为从低到高的第$i$位,系数即为$2^{i-1}(i-1)!$ 将其乘权累加,即令$c_{0}=\sum_{i=1}^{n}2^{i-1
阅读全文
摘要:不难证明合法当且仅当满足一下两个条件: 1.每一个位置最多被覆盖两次(无环) 2.将选择的区间按左端点从小到大排序,对于每一个左端点,其之前的区间的最大右端点不小于其(连通) (关于第一个的充分性证明可以考虑一个极小环,将环上区间排序即矛盾) 就将所有区间按照左端点从小到大排序,然后依次选择 更具体
阅读全文
摘要:构造一个坐标系,共有$n$个黑点和百点,第$i$个黑点为$(p_{i},a_{i})$,第$i$个白点为$(-q_{i},-b_{i})$ 考虑第$i$个黑点和第$j$个白点连线的斜率,恰好就是$f(i,j)$ 根据$p_{i},q_{i}>0$,注意到黑点一定在白点右侧,且恰好从$y$轴将两者分开
阅读全文
摘要:以1为根建树,先将所有路径挂在lca上,再分两类讨论: 1.lca相同,此时我们仅关心于lca上不经过第$a$和$b$个儿子路径数,容斥一下,即所有路径-经过$a$的-经过$b$的+经过$a$和$b$的,前三个很容易统计,最后一个用map即可 (这样分类主要是避免lca相同时重复计数) 2.lca不
阅读全文
摘要:令$c_{i}=a_{i}\oplus b_{i}$,那么也就是要对$c_{i}$执行操作使其变为0 显然有一个贪心的策略,即从左往右,若当前$c_{i}\ne 0$,则执行对$[i,i+k)$异或$c_{i}$的操作,若$i+k\ge n+2$则说明无解 更具体的,定义$p_{i}$为到第$i$个
阅读全文
摘要:由于没有删边操作,可以先建出整棵森林,之后再用并查集判断是否连通,若连通必然与最后的森林相同 但如果用树链剖分+线段树的形式来优化建图,更具体如下: 建立两颗线段树,左边从儿子连向父亲,右边从父亲连向儿子,再将右边线段树上的连向左边对应的点,那么复杂度为$o(m\log^{3}n)$(前两个$\lo
阅读全文
摘要:定义 约定1:以下分数都是最简,且令$\frac{1}{0}$有意义,其大于其余分数,并称平行于$y$轴的直线斜率为$-\frac{1}{0}$ 分数加:对于分数$a=\frac{a_{1}}{a_{0}}$、$b=\frac{b_{1}}{b_{0}}$,定义$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$,我们只需要找到一个诚实的人就可以做了,考虑如何找到这个诚实的
阅读全文