- 博客(49)
- 收藏
- 关注
原创 Qt连接MySQL没有驱动
QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
2022-09-14 10:18:13
520
原创 C. Column Swapping
题目:C. Column Swapping考点:思维题意:给定一个 n×mn\times mn×m 的网格,每个单元格里都有一个正整数,问如果只交换一次列,能否让每一行都是单调递增的,及 ai,j≥ai,j−1a_{i,j} \geq a_{i,j-1}ai,j≥ai,j−1 。交换的列不一定是不同的列,交换时是整体交换,并不是交换某一行的列。wa 13\color{red}{wa\ 13}wa 13 的思路:先遍历每一行,看是否存在需要交换的列,例如:ai,j&.
2022-05-21 17:56:49
237
原创 换根DP(入门)
换根DP换根 DPDPDP 又叫二次扫描与换根法,一般是给一颗不定根树,然后需要以每个节点为根经行一些列的统计。一般通过两次扫描来求解此类的问题:第一次扫描时,任选一个点为根,在有根的树上执行一次树形DP,自底向上转移。第二次扫描时,从第一次的根出发,对整颗树进行深度优先遍历,自顶向下推导,计算出换根后的解。题目:287. 积蓄程度题意:有一个树形水系,由 NNN 个交叉点和 N−1N-1N−1 条河道组成,河道可以看作树中的无向边,每条河道都有一个容量,连接 xxx 与 yyy 的河道的容
2022-05-21 11:08:24
104
原创 最长上升子序列(LIS)
最长上升子序列(LIS)参考博客数组中最长的单调递增子序列,LISLISLIS 有两种做法:①时间复杂度为 O(n2)O(n^2)O(n2) 的朴素 DPDPDP ,②时间复杂度为 O(nlogn)O(nlogn)O(nlogn) 的二分写法。做法一:设 dpidp_idpi 表示以 aia_iai 为结尾的单调递增子序列的长度,状态转移方程为 dpi=maxj<i,a[j]<a[i]dpj+1dp_i = \max_{j<i,a[j]<a[i]}{dp_j + 1}
2022-05-19 16:58:12
68
原创 D. Tokitsukaze and Meeting
题目:D. Tokitsukaze and Meeting题意:将一串长度为 n∗mn*mn∗m 的 010101 字符串,挨个地将字符放到一个 n∗mn * mn∗m 的矩阵中,并求出当第 iii 个字符放入矩阵后,矩阵有多少个行与列存在字符 111 ,并依次输出答案。每次取出字符串的队头元素,放入坐标为 (1,1)(1,1)(1,1) 的位置,而矩阵原来的元素往后移动一格,例如:(1≤j≤m−1)(1 \leq j \leq m - 1)(1≤j≤m−1) 放入一个新的元素后,jjj 变成 j.
2022-05-10 17:19:58
91
原创 莫队算法入门
参考博客:莫队算法-从入门到黑题,Luogu题解莫队算法:离线区间询问,先对数组进行分块,然后通过对查询区间的排序,再利用双指针移动确定区间,从而得出结果。O(nn)O(n\sqrt{n})O(nn)分块将长度为 nnn 的数组,分成每一段长为 n23n^{\frac{2}{3}}n32 的块,防止退化为 O(n2)O(n^2)O(n2) int t = pow(n,2.0/3.0); int size = ceil((double)n / t); for(int i=1;i<
2022-05-08 21:13:16
451
原创 带修改的莫队
参考博客:莫队算法-从入门到黑题带修改的莫队:离线修改区间查询,在原来的基础上再加上一个“时间戳”,而查询操作的时间戳沿用之前最近的修改操作的时间戳。跑主算法时定义当前时间戳为 time ,对于每个查询操作,如果当前时间戳相对太大了,说明已进行的修改操作比要求的多,就把之前改的改回来,反之往后改。只有当当前区间和查询区间左右端点、时间戳均重合时,才认定区间完全重合,此时的答案才是本次查询的最终答案。就是再弄一指针,在修改操作上跳来跳去,如果当前修改多了就改回来,改少了就改过去,直到次数恰当为止。这样,
2022-05-08 21:08:51
136
原创 G. Remove Directed Edges
题目:G. Remove Directed Edges考点:树形DP题意:现在有一幅 nnn 个顶点,mmm 条边的有向无环图。每个顶点的入度为 invin_vinv 出度为 outvout_voutv ,要求从图中删除一些边,得到新的入度 inv′in'_vinv′ 和新的出度 outv′out'_voutv′ 。但是,只有在满足以下的两个条件的情况下,才能删除这些边。inv′<invin'_v < in_vinv′<inv 或者 inv′=inv=0in'.
2022-05-03 19:28:30
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人