随笔分类 - 贪心
摘要:传送门 本文只证明贪心可行性 即为什么按照 $A+B<B+A$ 的比较方式可以排序,其中 $A,B$ 是string类型变量 设该偏序为 $\triangleright $ 必须要证明这个定义下$\triangleright $ 的传递性:即如果 $A\triangleright B\triangl
阅读全文
摘要:传送门 括号序列肯定想到要转化成折线考虑,这个是经典操作就不解释了,想学的看 这里 有解释 (当然如果是比较短的括号序列求子合法序列可以用栈配合 dp 算,比如某道使我提前退役的题目) 这一题因为序列是压缩的,没法用一般的 dp 算 对于折线下降的某个位置,要算左边包含同高度的上升段数(且之间没有更
阅读全文
摘要:传送门 首先显然只要保留原数列的奇偶性,所以转化成 $01$ 数列 分类讨论最终情况 如果最终为 $010101...$ 的形式 直接贪心地想,第一个位置的 $0$ 肯定要从右边最近的位置交换过来(反证法易证其最优性) 后面每个位置都是同理,要找到更后面最近的(因为前面已经处理完了) 所以直接模拟这
阅读全文
摘要:传送门 首先如果 $c$,$d$ 的和为奇数则无解,因为三个操作必定使 $a$,$b$ 的和保持偶数 考虑 $cd$ 和为偶数的情况下的最好的操作 首先如果 $c=d$ 则一步到位 如果 $c=d=0$ 甚至不用操作 剩下的情况,设 $c$,$d$ 的平均数为 $k$,因为 $c+d$ 为偶数且 $
阅读全文
摘要:传送门 这是一道 $NOIP$ 难度的题 首先贪心的想法很显然,每个军队都尽量往根跳,因为越往上控制的越多 但是怎么给每个军队分配终点不太好搞,那就二分一个答案 此时每个军队如果没法跳到根,那就直接停下就好了,现在考虑那些能跳到根节点的军队 此时可能根节点剩下一些儿子没有封锁,那么只要考虑给这些军队
阅读全文
摘要:传送门 好妙的题啊 首先容易想到简单容斥,统计合法方案数可以考虑总方案数减去不合法方案数 那么先考虑如何判断一个串是否合法,但是直接判断好像很不好搞 这时候就需要一些 $magic$ 了,把所有位置下标为奇数的字符 $\text{A}$ 换成 $\text{B}$ ,$\text{B}$ 换成 $\
阅读全文
摘要:传送门 一看就感觉很贪心 考虑左端点最右的区间 $p$ 和右端点最左的区间 $q$ 如果 $p,q$ 属于同一个集合(设为 $S$,另一个集合设为 $T$),那么其他的区间不管是不是在 $S$ 都不会影响 $S$ 的交集大小 那么为了最优显然我们只要留一个最长的区间给 $T$ ,然后其他全给 $S$
阅读全文
摘要:传送门 对于某个位置,只要知道这个位置往左最多的连续 $\text{<}$ 的数量 $x$ 和往右最多的连续 $\text{>}$ 的数量 $y$ 那么这个位置最小可能的数即为 $max(x,y)$,首先这个值显然是下限,现在只要证明可以一定取到这个下限 考虑往左第一个左边是 $\text{>}$
阅读全文
摘要:传送门 首先显然下楼的操作一定是不优的,所以只要考虑上楼 设 $f[i]$ 表示到第 $i$ 层时需要的最少时间 那么首先考虑走楼梯,有转移,$f[i]=f[i-1]+a[i-1]$ 然后考虑坐电梯有:$f[i]=f[j]+(\sum_{k=j}^{i-1}b[k])+c$ 显然那个 $\sum b
阅读全文
摘要:传送门 贪心 对于第一个不合法的位置,我们显然要通过删除几个覆盖了它的区间来使这个位置合法 显然删右端点更靠右的区间是更优的,所以就考虑优先删右端点靠右的,然后再考虑下一个不合法位置 用一个 $set$ 维护一下右端点和区间编号即可
阅读全文
摘要:传送门 $cf$ 自闭了,打 $abc$ 散散心 A - 9x9 ...这个有什么好讲的吗,题目看懂就会做了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using
阅读全文
摘要:传送门 正难则反,把链操作成树不好想,那么考虑一下如何把树变成链 每次操作相当于把一个兄弟变成儿子(我把你当兄弟你竟然想把我当儿子.jpg) 注意到每次操作最多只能使树的深度增加 $1$ 因为链的深度为 $n$ 且形态唯一,那么只要把原树操作成深度为 $n$ 即可 现在得到了一个操作次数的下限,即
阅读全文
摘要:传送门 首先考虑怎么算 $f(n)$ (就是题目里面那个 $f(n)$) 发现可以构造一组序列大概长这样: ${1,3,2,6,5,4,10,9,8,7,15,14,13,12,11,...,n(n+1)/2,n(n+1)/2-1,n(n+1)/2-2...n(n+1)/2-(n-1),(n+1)(
阅读全文
摘要:传送门 首先可以证明一颗树合法的充分必要条件是不存在某个节点的度数为 $2$ 首先它是必要的,考虑任意一条边连接的两点如果存在某一点 $x$ 度数为 $2$ ,那么说明 $x$ 还有连一条边出去,那么连出去的那一条边和当前边的权值就永远一样 然后它是充分的,考虑进行如下操作:首先设当前边连接的两端分
阅读全文
摘要:传送门 听说正常写法是差分约束? 我怎么看都是贪心啊,所以就用贪心写了(其实是我忘记差分约束怎么写了) 考虑把区间按右端点排序,那么对于每个区间,我们考虑选择的数尽量贴着区间右边,因为这样还可以尽量满足之后区间的要求 (显然填在左边对后面没有任何好处,填右边一定比填左边好) 然后这样搞如果直接暴力复
阅读全文
摘要:传送门 如果选择 $i$ 当陪审团成员,那么 $i$ 认识的猫一定不能参加 又因为总人数和猫数要为 $n$ ,那么 $i$ 认识的猫 的主人也一定要当陪审团成员(不然总数不够) 所以可以考虑这样构图,对每个人 $i$ 向认识的所有猫的主人 $j$ 连边,那么如果选择 $i$ , $i$ 能到达的所有
阅读全文
摘要:传送门 这一题好妙啊 首先把括号序列转化成平面直角坐标系 $xOy$ 上的折线,初始时折线从坐标系原点 $(0,0)$ 出发 如果第 $i$ 个位置是 '(' 那么折线就往上走一步($y+1$),否则往下走一步 ($y-1$) 这条折线有很多有用的性质 $1.$如果某个时刻折线的纵坐标为负数了,那么
阅读全文
摘要:传送门 显然我们只要考虑小于等于 $n/2$ 的质数 对于每个不为 $2$ 的质数 $p$ ,如果目前它的还没匹配的倍数有偶数个,那么显然这些都可以匹配完 否则,如果有奇数个,那么我们把 $2p$ 留着不匹配,剩下偶数个拿来全部匹配 最后剩下的数都是 $2$ 的倍数,一个个匹配即可,如果剩下奇数个只
阅读全文
摘要:传送门 首先可以注意到对于固定的起点 $S$ ,它最终能走到的终点一定是一段区间 这个用反证法容易证明,假设合法区间存在断点,这个点左右都可以作为终点 那么分成区间断点在起点左边和起点右边讨论一下即可,起点本身显然一定可以作为终点 然后现在只要考虑从每个起点出发能走到的最左和最右的位置即可算出答案
阅读全文
摘要:传送门 注意到每个位置只能右转一次,首先考虑如果图没有障碍那么显然要走螺旋形的 然后现在有障碍,容易发现对于某个位置如果既可以直走又可以右转,那么一定会选择直走 因为如果转了以后就一定没法走到原本直走可以走到的位置,所以必须直走 那么思路就很明确了,按这种走法然后看看走到底以后经过的总的格子数是不是
阅读全文