随笔分类 - 1-source-省选
摘要:"传送门" 普及dp 设$f_{i,j}$表示前$i$个城堡,用$j$人的最大价值,转移枚举一个对手,如果这个对手在$i$这个城堡人数是第$k$小的,那么用$2a_i+1$人可以得到$ik$的价值 cpp include include include include include include
阅读全文
摘要:upd:20.04.27 "orz EI" 考虑把组合数拆成下降幂除掉阶乘 $\sum_{i=0}^{n}\binom{f_i}{k}=\sum_{i=0}^{n}\frac{{f_i}^{\underline{k}}}{k!}=\frac{1}{k!}\sum_{i=0}^{n}{f_i}^{\u
阅读全文
摘要:"传送门" 要求的东西带个根号,这玩意叫几何平均数,说到平均数,我们就能想到算术平均数(就是一般意义下的平均数),而这个东西是一堆数之积开根号,所以如果每个数取对数,那么乘法会变成加法,开根号变成除法,所以我们只要最大化$\frac{\sum_i ln_{a_i}}{c}$就行了 这是一个分数规划的
阅读全文
摘要:"传送门" 先考虑$k=1$,一个点的深度就是到根节点的路径上的点的个数,所以$lca(x,y)$的深度就是$x$和$y$到根路径的交集路径上的点的个数,那么对于一个询问,我们可以对每个点$i\le x$,把$1$到$i$路径上所有点$+1$,然后查询$1$到$y$的点权和就行了.现在有多组询问,路
阅读全文
摘要:"传送门" ~~所以这个$5s$是SMG~~ 暴力是枚举每一个点跑最短路,然后有一个很~~拿衣服~~幼稚的想法,就是把所有给出的关键点当出发点,都丢到队列里,求最短路的时候如果当前点$x$某个相邻的点$y$是关键点,就用$dis_x+$边权$w_i$更新答案.感觉这个复杂度是正确的,然后跑一下样例也
阅读全文
摘要:"传送门" 只有两行,考虑递推,设$f_i$为没有那两个$1 1$的,前$i$列的方案,可以发现一次可以放一个竖的或两个横的,也就是$f_i=f_{i 1}+f_{i 2}$ 再设$g_i$表示有那两个$1 1$的,前$i$列的方案,首先和$f$类似,可以放一个竖的或两个横的$1 2$,然后$1 1
阅读全文
摘要:"传送门" 强行二合一可还行 首先$c$的贡献是不会变的,先考虑求出多少交点被矩形覆盖,交点的话可以按左端点纵坐标从下到上顺序枚举一条线段,然后维护右端点纵坐标的set,把之前处理过线段的右端点放进set里,然后所有 右端点在当前线段右端点上方的线段 都是和当前线段有交点的,直接算出来,并且这样算不
阅读全文
摘要:"传送门" ~~wdnm又是打麻将~~ 首先国土无双可以直接枚举哪种牌用了$2$次算贡献,然后$7$个对子可以把每种牌的对子贡献排序,取最大的$7$个,剩下的牌直接暴力枚举是不行的,考虑dp,设$f_{i,0\sim1,j,k,0\sim4,0\sim4}$,表示考虑前$i$种牌,$0\sim1$个
阅读全文
摘要:"传送门" 题目涉及按位与以及按位或运算,所以可以拆位考虑,枚举某个二进制位,然后某个位置如果那个数的第$i$位是$0$就放$0$,否则放$1$,这一位的贡献就是位运算后值为$1$的子矩阵个数$ 2^i$.对于与运算,权值为$1$的矩阵为全$1$矩阵;对于或运算,权值为$1$的矩阵为含有$1$的矩阵
阅读全文
摘要:"传送门" 首先考虑怎么判断一堆牌里是否有个子集可以胡,首先7张对子比较好判,直接看个数$\ge 2$的牌的总数,但是面子似乎不好贪心,考虑dp,设$f_{i,0/1,j,k}$表示只有前$i$种牌的集合,是否有对子, 以后要凑 $j$个$i 1,i,i+1$以及$k$个$i,i+1,i+2$,最多
阅读全文
摘要:"传送门" 这题好妙啊 首先一个明显的想法是统计某个点权值为$0/1$的方案数,但是这样子无法转移,因为可能一个点的祖先为$1$,然后这个点会被祖先$pushdown$成$1$,然而我们并不知道祖先的状态,,, 那就把祖先加入状态啊.设$f_{x,0/1/2}$为点$x$,自己和所有祖先都是$0$/
阅读全文
摘要:"luogu" "loj" 无论最终结果将人类历史导向何处 $\quad$我们选择 $\quad\quad$$\large{希望}$ ~~诶我跟你讲,这题超修咸的~~ 下面称离连通块内每个点距离不超过$L$的点为中心点.首先可以注意到,所有连通块的共同的中心点一定是个连通块,所以可以写一个暴力状压,
阅读全文
摘要:"传送门" 做题千万条,读题第一条 编程不规范,爆零两行泪 "推荐阅读" (雾) 考虑一个贪心,就是先把所有点按权值从大到小排序,然后每次考虑能不能和其他已经插进去的点放在一个集合,不能那么答案就加上对应权值.如果我们按照最优策略构造,那么最后首先集合个数是最少的,而且因为尽量把大的元素和更大的放在
阅读全文
摘要:传送门 首先考虑一个正常的dp,设$f_{i,j,k}$为前$i$个学校,$j$人在$\color{蓝阵营}$,$k$人在$\color{吔}$派系的方案,转移枚举选哪个导师就好了,注意一个城市要选同一阵营,所以可以多开一维$0/1$表示当前城市在哪个阵营 $k=0$的情况,可以发现选阵营和选派系是
阅读全文
摘要:"传送门" ~~你管这玩意叫传统题?~~ 通过样例可以发现就是$19^a\mod\ 998244353$,然后如果读入的数过大,根据费马小定理,那个读进来的数对$998244352$取模就行了 和`1?+`就是$19^a\mod\ ?$,前者可以暴力求出,后者比较牛皮,可以找到数据中的两个数$x,y
阅读全文
摘要:"传送门" 这个什么鬼证明直接看uoj的题解吧~~根本不会证明~~ 首先方案一定是若干段等值的$B$,然后对于一段,$B$的值应该是$A$的平均值.这个最优方案是可以线性构造的,也就是维护以区间平均值为权值的单调栈,每次在后面插入一个元素,不断弹栈并与最后一个合并,直到平均值单调递增 然后这个单调栈
阅读全文
摘要:"传送门" 首先考虑暴力M^2dp,考虑回文串是可以从回文中心每次在两边拓展的,设$f_{i,j}$为$i$到$j$的路径是否是回文串,bfs转移,枚举两点出边,如果两个新端点颜色相同就更新 然后这个大暴力可以优化到70',就是先枚举一端的相邻的点,然后注意到因为固定了那个相邻的点,对应的另一个用来
阅读全文
摘要:"传送门" 如果某个串$b$是$a_j$的前缀,并且$a_i$支配$b$,那么$a_i$后面就可以放$a_j$,所以如果把对应的图建出来,问题就是求最长链,如果有环就是无限长 说到前缀,我们可以把所有$a$串建一棵$Trie$,然后某个$a_i$支配的$b$串节点对应的子树内的$a_j$串节点都可以
阅读全文
摘要:"传送门" nmd,为什么$HNOI$没有这样的送温暖题qwq 所有区间的异或前k大,联想到 "超级钢琴" ,然后那题是区间和前k大,所以只要把对应的可持久化线段树改成可持久化$Trie$就行了
阅读全文
摘要:"传送门" 关于这题答案,因为在所有行,往后跳到任意一行的$w_{i,j}$都是一样的,所以可以算出跳$x$步的答案然后乘上$\binom{l}{x}$,也就是枚举跳到了哪些行 如果记跳x步的方案是$f_x$,$n=1$时,$f_x={w_{1,1}}^x$;$n 1$时,因为n很小,转移可以写成矩
阅读全文