随笔分类 - 常用算法——搜索
摘要:题意 有$n$个东西,每个可以选择不取、取价值$a_i$、取价值$b_i$,求恰好凑出价值$x$的方案数$,(n\leq 25,a_i,b_i,x\leq 10^{13})$ 思路 这种看起来很简单暴力的题只用考虑爆搜就完了,但是直接爆搜是$O(3^n)$会飞 折半搜索 ,分成将$n$分成两部分,前
阅读全文
摘要:题意 有一个长为$n$的01序列,每次等概率从$[1,len]$中抽取一个$x$,可以选择从右向左或是从左往右的第$x$个数字 取走 ,求$k$次操作后取走1的期望个数$(k\leq n\leq 30)$ 思路 ~~然而就是直接状态压缩~~ 以24为分界线,24步以内用状态压缩;24步以上可以发现状
阅读全文
摘要:题意 有$n$个灯泡,除了$k$个之外都是亮的,有$m$种长度的区间翻转,求最少次数使得所有所有灯泡都亮,保证有解,$(n\leq 40000,k\leq 8,m\leq 64)$ 思路 可以发现区间翻转之后区间内的 相对 关系不变; 第一步:将区间翻转转换成单点翻转?考虑差分,令$pre_i$表示
阅读全文
摘要:"题目" 解法 ~~2 SAT板子题~~ 如果没有x这个字符的话,问题变成每个点都有两种选法,有一些限制,显然是个2 SAT问题,设拆出来的两个点分别为$i$和$i'$,则对于限制$x y$,连边$(x,y),(y',x')$,跑tarjan即可(2 SAT基操嘛。) 即使现在有了x这个字符,我们也
阅读全文
摘要:题意 规则同汉诺塔,强制规定移动操作的优先级,每次选择合法的优先级最高的操作,两次操作不能移动同一个盘子,保证有解,求移动次数 思路 将普通汉诺塔问题的思路用在这道题上面,容易证明$f$满足线性递推关系:$f[i]=k f[i 1]+b$,暴力$dfs$出前三个$f$,就可以求出$k=\frac{f
阅读全文

浙公网安备 33010602011771号