随笔分类 -  luogu

摘要:P10513 括号 一、题目简析 本题采用 线段树 求解。 节点的定义 struct node { int l, r; int lcnt, rcnt; // lcnt -- (的个数; rcnt -- )的个数 int ans, anti; // ans -- ()的个数; anti -- )(的个 阅读全文
posted @ 2024-05-23 10:31 ltign 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、问题描述 P1020 [NOIP1999 提高组] 导弹拦截 二、问题简析 该题要我们求两个问题: 1、不上升子序列的最大长度 2、不上升子序列的最少个数 利用 \(Dilworth\) 定理,我们得到不上升子序列的最少个数等于上升子序列的最大长度。 现在,就是求这两个问题: 1、不上升子序列的 阅读全文
posted @ 2024-03-24 20:26 ltign 阅读(16) 评论(0) 推荐(0) 编辑
摘要:一、问题简述 有一棵 \(n\) 个节点组成的树,每个节点 \(a_i\) 有一个权值 \(a_i.worth\)。求子树的点权值和的最大值。 二、算法简析 该问题要用树形dp求解。 设 \(dp[u] =\) 以 \(u\) 为根节点的子树的点权值和的最大值。我们采用邻接表的形式存储边,\(G[u 阅读全文
posted @ 2024-02-25 14:38 ltign 阅读(9) 评论(0) 推荐(0) 编辑
摘要:一、问题描述 P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题 二、问题简析 2.1 最大公约数 求两个正整数的最大公约数gcd (greatest common divisor),最常用的方法是辗转相除法。 // 求a和b的最大公约数 int gcd(int a, int b) 阅读全文
posted @ 2024-02-09 16:36 ltign 阅读(32) 评论(0) 推荐(0) 编辑
摘要:一、问题描述 B3611 【模板】传递闭包 二、问题简析 首先,要弄清楚传递闭包的定义,由题意: 一张图的邻接矩阵定义为一个 \(n\times n\) 的矩阵 \(A=(a_{ij})_{n\times n}\),其中 \[ a_{ij}=\left\{ \begin{aligned} 1,i\ 阅读全文
posted @ 2024-02-08 21:01 ltign 阅读(85) 评论(0) 推荐(0) 编辑
摘要:一、题目描述 P5960 【模板】差分约束 二、题目简析 差分约束问题的典型特征是一组不等式。只要画出约束图,这类问题都可以准换为最短路径问题。注意:约束图是有向图。 2.1 约束图的顶点 约束图的顶点(\(V\)) = 一个未知数对应一个顶点(\(v_1, v_2, ...,v_n\)) + 一个 阅读全文
posted @ 2024-02-08 16:23 ltign 阅读(12) 评论(0) 推荐(0) 编辑
摘要:一、问题描述 P2865 [USACO06NOV] Roadblocks G 二、问题简析 如果求最短路径,我们很自然会想到 \(Dijkstra\)。但是,这道题要求的是次短路径。 记到 \(u\) 的最短路径为 \(d_1[u]\),到 \(u\) 的次短路径为 \(d_2[u]\)。则 \(d 阅读全文
posted @ 2024-02-06 17:02 ltign 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目描述 P4568 [JLOI2011] 飞行路线 题目分析 显然,这是一道最短路径的题目,我们可以选择 \(Dijkstra\) 算法求解。但是,题目中有 他们可以免费在最多 k 种航线上搭乘飞机。也就是说,我们可以令最多 \(k\) 条边的权值为零。这时,我们就要采用分层图。 分层图 分层图并 阅读全文
posted @ 2024-02-05 12:35 ltign 阅读(56) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示