摘要:
题意 将序列$a_i$分成任意$k$部分,要求一部分的$a$值和不超过$m$;最小化( 每段权值的最大值 之和)$,(n\leq 100000)$ 解法1 显然动态规划,设$f_i$表示处理前$i$个数的最小值,$s$为前缀和,状态转移:$f_i=f_j+max(a_{j+1},a_{j+2}... 阅读全文
摘要:
题意 给$n$个1和$m$个0,定义一个01串的权值为它所有前缀和的最大值(包括0),求可以组成的所有不同串的权值和,答案对998244853取模 思路 由于数据较小,本题有个$O(n^2)$比较复杂的DP做法,自行百度。。。 实际上本题用数学规律可以$O(n)$做 设$f_i$表示权值为$i$的0 阅读全文
摘要:
题意 给一棵点带权的树,对于每个点,求其子树中有多少个点的权值 大/小/等于它$,(n\leq 200000)$ 解法1 看到数据范围没多想就写了个树上启发式合并,太裸了。。。 维护一棵值域线段树,先跑轻儿子再跑重儿子,删轻儿子不删重儿子,自底向上求解即可,时间复杂度为$O(nlog^2n)$ Co 阅读全文
摘要:
题意 给一个边带权的有向图,可以花费边权使得一条边反向;通过翻转边让原图变成一个DAG,要求是所有花费中的最大值最小$,(n,m\leq 200000)$,保证无重边和自环 解法1 考场上没看出来性质,于是口胡了一个乱搞做法 连好边后直接对原图进行一遍拓扑排序,由于原图不是DAG,所以会有无法入队的 阅读全文
摘要:
题意 有$n$个东西,每个可以选择不取、取价值$a_i$、取价值$b_i$,求恰好凑出价值$x$的方案数$,(n\leq 25,a_i,b_i,x\leq 10^{13})$ 思路 这种看起来很简单暴力的题只用考虑爆搜就完了,但是直接爆搜是$O(3^n)$会飞 折半搜索 ,分成将$n$分成两部分,前 阅读全文