区间DP是线性DP的一种,它以“区间长度”作为DP的“阶段”,使两个坐标(区间的左右端点)描述每个维度。 区间DP中,一个状态由若干个比它更小且包含于它的区间所代表的状态转移而来。区间DP的初态一般就由长度为1的“元区间”组成。这种向下划分,再向上递推的模式与某些树形结构如线段树有很大的相似之处。 ...
分类:
其他好文 时间:
2020-08-01 21:36:53
阅读次数:
101
题目链接:https://www.acwing.com/problem/content/531/ 题目给出不超过12个点,和一些边,第一个点不用花费,其余的点都要根据深度和扩展的边长来确定花费,通过dp,将层数作为阶段,每个阶段用状态压缩记录12个点中已经走过的点,转移的过程是从j状态转移到k,这里 ...
分类:
编程语言 时间:
2020-08-01 14:36:55
阅读次数:
109
今天气闷,过来写一篇小结。 内容上主要包括noip提高组常考的线段树与树状数组,还有一些拓展的算法qwq窝太蒻了。 一. 线段树 Q1:什么是线段树? A1:线段树就是线段的树 维护区间信息(大多数是可以合并的)的树就是线段树qwq 所以线段树的每一个节点就必须要代表一个区间的信息啦。线段树的实现方 ...
分类:
编程语言 时间:
2020-07-31 19:17:29
阅读次数:
72
[CF16E]Fish 一.前言 ? 一开始位运算没有打括号导致优先级混乱还真是对不起了。题目链接 二.思路 ? 提前声明,为了保证位运算起来方便,鱼的编号从0开始,并且状态的标志为最后一位是编号为0的鱼。 ? 这题的转移可以说是十分好想了,对于一个状态(表示还有多少鱼存活),我们从里面抽一个鱼出来 ...
分类:
其他好文 时间:
2020-07-30 22:14:38
阅读次数:
70
https://www.luogu.com.cn/problem/P4721 分治$FFT$ \[ f_{i}=\sum_{j=1}^{i-1} f_{i-j} g_j \] 等式左右两边均存在函数$f$,无法直接$NTT$ 考虑到对于每个$f_i$,都是有满足$i<j$的$j$转移而来,因此考虑分 ...
分类:
其他好文 时间:
2020-07-30 22:10:35
阅读次数:
73
__buildin_expect 功能是将分支转移信息提供给编译器,这样编译器可以对代码进行优化,以减少指令跳转带来的性能下降。 __buildin_expect 是 gcc 引入的指令,它允许编码人员将最有可能 的分支告诉编译器。写法为: __buildin_expect(exp, n) 意为 e ...
分类:
其他好文 时间:
2020-07-30 22:06:14
阅读次数:
66
语句(以 ; 结尾) 按照复杂度分类: 空语句 ; 简单语句 复杂语句 { } 按照功能分类: 选择语句 循环语句 转移语句 一 选择语句 一)if语句 if (条件) { 语句1 语句2 …… }?// 1 if是关键字// 2 if后面 跟圆括号// 3 圆括号里面写条件 条件必须要能够转化为b ...
分类:
编程语言 时间:
2020-07-30 21:45:09
阅读次数:
81
换教室 概率期望dp的模板题 状态较好设计,转移的时候注意要把所有的可能性都考虑到并加起来 #include<bits/stdc++.h> #define fi first #define se second #define pb push_back #define mp make_pair #de ...
分类:
其他好文 时间:
2020-07-30 19:42:09
阅读次数:
66
Descriprion 给出$n\times m$ 的方格,有些格子不能铺线,其它格子必须铺,形成一个闭合回路。问有多少种铺法? Solution 使用括号表示法记录状态,记1为 '(' ,2为 ')' ,0为无插头,分8种情况讨论: 1:当前格子有障碍,此时必须下插头和右插头为0,转移后状态不变 ...
分类:
其他好文 时间:
2020-07-29 17:30:42
阅读次数:
68
$\mathcal Link. 称一个正整数序列为“俳(pái)句”,当且仅当序列中存在连续一段和为 \(x\),紧接着连续一段和为 \(y\),再紧接着连续一段和为 \(z\),其中 \(x,y,z\) 为给定正整数。计数长度为 \(n\),元素不超过 $10$ 的俳句。 \(n\le40\),\ ...
分类:
其他好文 时间:
2020-07-29 12:37:19
阅读次数:
59