摘要: 一般的差分用于对一段区间进行加减,但如果在该区间内加减的是一段等差数列呢? 对于一段区间 [l,r], 加一段首项为 s, 末项为 e 的等差数列。其公差 d=(e-s)/(r-l) 为简化问题讨论,先假设这段区间都为 0。 原数组:0 0 0 0 0 0 0 添加后的数组:0 0 4 6 8 0 阅读全文
posted @ 2023-10-02 15:03 pig_pig 阅读(83) 评论(0) 推荐(0) 编辑
摘要: -c 只激活预处理,编译,和汇编 -S 只激活预处理和编译 -E 只激活预处理 -C 在预处理的时候, 不删除注释信息 -g 只是编译器,产生调试信息。 -o 制定目标名称 -w 不生成任何警告信息。 -M 生成文件关联的信息。 阅读全文
posted @ 2023-09-08 12:11 pig_pig 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 课程越是进行到后面越接近于自习了 题目越讲越难 平均思考时间只有2分钟 越不会越百度 越百度越不会 在百度过程中略过了N+的知识点 WTM 阅读全文
posted @ 2023-07-28 10:59 pig_pig 阅读(5) 评论(0) 推荐(0) 编辑
摘要: `__builtin_popcount`用于统计`int`类型下的二进制表达中`1`的个数 `__builtin_popcountll`用于统计`long long`类型下的二进制表达中`1`的个数 阅读全文
posted @ 2023-07-26 19:25 pig_pig 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 树上任意两节点之间最长的简单路径即为树的「直径」。 显然,一棵树可以有多条直径,他们的长度相等。 可以用两次 DFS 或者树形 DP 的方法在 O(n) 时间求出树的直径。 **两次DFS** 这是一种非常容易理解的方法 从树上任意一点出发,进行 dfs ,记其所能到达最远的点(即所经路径之和最大) 阅读全文
posted @ 2023-07-24 19:25 pig_pig 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 昨天居然忘记整理了! 今天也忘了! 明天开始要好好整理了啊! 阅读全文
posted @ 2023-07-24 18:44 pig_pig 阅读(4) 评论(0) 推荐(0) 编辑
摘要: [原题链接戳这里](https://www.luogu.com.cn/problem/P1531) **初版代码** 一开始码的是普通暴力 因为维护区间内的最大值实在没想到什么好的方法 点击查看代码 ``` #include using namespace std; #define N 200005 阅读全文
posted @ 2023-07-12 15:23 pig_pig 阅读(6) 评论(0) 推荐(0) 编辑
摘要: [原题链接戳这里](https://www.luogu.com.cn/problem/P2015) **思考过程** 一眼树状dp+背包dp 每一根树枝占用 1 空间 带来的价值由题目输入 设计 `f[u][i]` 表示在考虑以 u 为根的子树时 分配给它 i 根树枝 所能达到的最大价值 于是在以 阅读全文
posted @ 2023-07-12 14:56 pig_pig 阅读(10) 评论(0) 推荐(0) 编辑
摘要: [原题链接戳这里](https://www.luogu.com.cn/problem/P1438) 考试的时候打的这道题 硬是想了半天想不出来 回来一看觉得自己真的智慧 等差数列的意思是什么? 在一个数列的第二项及以后 所有的项与前一项的差值相同 将这一点反应到差分数组中去 如 ``` 原数列: 0 阅读全文
posted @ 2023-07-12 13:22 pig_pig 阅读(9) 评论(0) 推荐(0) 编辑
摘要: **字符串哈希** 点击查看代码 ``` #include using namespace std; #define N 1005 #define ULL unsigned long long #define Base 13331 int n; ULL h[N][N],q[N]; char ch[N 阅读全文
posted @ 2023-06-20 11:57 pig_pig 阅读(10) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示