一只蒟蒻的c++学习笔记
文章平均质量分 82
蒟到裂开
Dumby_cat
这个作者很懒,什么都没留下…
展开
-
洛谷 P1081 [NOIP2012 提高组] 开车旅行 题解
NOIP2012 提高组 开车旅行 题解原创 2022-06-27 18:49:57 · 269 阅读 · 1 评论 -
利用拓扑排序求 DAG 最短路
背景给定一张带负权边的有向无环图(DAG),NNN 个点,MMM 条边,求源点到各点的最短路。分析因为有负权边,无法用 dijkstra 直接求最短路。用 SPFA 又容易被出题人卡成傻子。考虑到是 DAG,可以使用拓扑排序在 O(N+M)O\left( N+M \right)O(N+M) 时间范围内求出最短路。步骤如下:设源点为 sss,点到源点的最短路用数组 d[]d[]d[] 来储存,建一个队列 q[]q[]q[] 给拓扑排序用,再建一个数组 deg[]deg[]deg[] 用来存储每个原创 2022-02-13 13:20:14 · 749 阅读 · 0 评论 -
一只蒟蒻的组合数学的入门笔记
一只蒟蒻的组合数学的入门笔记加法及乘法原理加法原理完成一件事有 nnn 类方法,每类方法有 mmm 个不同的方法,那么完成这件事总共就有 N=m1+m2+...+mnN=m_{1}+m_{2}+...+m_{n}N=m1+m2+...+mn 种方法。乘法原理完成一件事有 nnn 个步骤,每个步骤有 mmm 个不同的方法,那么完成这件事总共就有 N=m1×m2×...×mnN=m_{1} \times m_{2} \times ... \times m_{n}N=m1×m2×...×mn原创 2021-09-02 18:09:46 · 202 阅读 · 0 评论 -
Luogu P5136 sequence 题解报告
一只蒟蒻的 Luogu P5136 sequence 题解报告题目描述试求出:⌈(1+52)n⌉ mod 998244353\left \lceil \left ( \frac{1+\sqrt{5}}{2} \right )^{n} \right \rceil \bmod 998244353⌈(21+5)n⌉mod998244353多测题解报告有一道本题的进阶版:洛谷 P3263 有意义的字符串。看楼下大佬们都是找规律推递推式,我来一个略有不同的解法(不一样的递推式,主体都为矩乘)。原创 2021-08-27 15:25:29 · 150 阅读 · 0 评论 -
洛谷P3263题解报告
一只蒟蒻的洛谷P3263题解报告题意描述给定 bbb、ddd 和 nnn。试求出:⌊(b+d2)n⌋ mod p\left \lfloor \left ( \frac{b+\sqrt{d} }{2} \right )^{n} \right \rfloor \bmod{p} ⌊(2b+d)n⌋modp其中 p=7528443412579576937p=7528443412579576937p=7528443412579576937 ,0<b2≤d<(b+1)2≤1018原创 2021-08-26 21:13:57 · 104 阅读 · 0 评论 -
POJ2274题解报告
一只蒟蒻的POJ2274题解报告题目链接题目描述给一堆车超出起点的距离 x 和车速度 v ,速度不变,求出飞行过程中的超车总数(对1000000取模)并输出超车与被超车的车的编号(如有同时则编号小的先输出)。输入一行一个整数 n (0 < n <= 250000)表示车数。接下来 n 行,每行两个整数 x (0 <= x <= 1000000)和 v(0 < v < 100),表示车超出起点的距离和车速(保证编号 1~n 的车的 x 值单调递增)。输出第一原创 2021-08-12 12:22:32 · 301 阅读 · 0 评论 -
一只蒟蒻的并查集学习笔记
一只蒟蒻的并查集学习笔记并查集是甚么并查集(Disjoint-set data structure),直译为 “不交集数据结构”,顾名思义,它是种数据结构。并且,它是种用来处理 不交集(不相交集合)的合并和查询问题 的数据结构。常规操作合并将 A集合 并入 B集合。...原创 2021-07-06 21:45:51 · 179 阅读 · 1 评论 -
一只蒟蒻的龟速乘学习笔记
一只蒟蒻的龟速乘学习笔记背景关于快速幂:它死了。咳咳。以下是快速幂模板:inline int q_p(int a, int k, int p) { int ans = 1; while (k) { if (k & 1)ans = ans * a % p; k >>= 1; a = a * a % p; } return ans;}可以看出,快速幂有一个缺点:当模数 p 大于 int 范围(最大值为 231-1)时,快速幂会爆 long long原创 2021-07-02 16:28:49 · 139 阅读 · 0 评论 -
一只蒟蒻的数论学习笔记(欧拉函数专题篇)
一只蒟蒻的数论学习笔记(欧拉函数专题篇)定义1 到 N 中与 N 互质的数的个数被称为欧拉函数,记为 φ(N)。函数式性质性质一显然,如果 N 为 质数,则 φ(N)= N - 1性质二欧拉函数为 积性函数: 若 gcd( a , b ) = 1,则 φ(ab)=φ(a)φ(b)。积性函数 指对于所有互质的整数 a 和 b 有性质 f( ab ) = f( a ) f( b ) 的数论函数。性质三若 n = pk,p 为 质数,则 φ(n)= n(1 - 1 / p)= ( p原创 2021-07-02 15:00:18 · 144 阅读 · 0 评论 -
一只蒟蒻的数论学习笔记(约数篇二)
一只蒟蒻的数论学习笔记(约数篇二)欧拉函数定义1 到 N 中与 N 互质的数的个数被称为欧拉函数,记为 φ(N)。性质**显然,如果 N 为质数,则 φ(N)= N - 1 **欧拉函数为 积性函数: 若(a,b)= 1,则 φ(ab)=φ(a)φ(b)。若 n = pk,p 为质数,则 φ(n)= n(1 - 1 / p)。证明:若 x 与 pk 不互质,则有 p | x 成立。x 共有 n / p 个,因此φ(n)= n - n / p = n(1 - 1 / p)。若 N = p原创 2021-07-01 18:09:34 · 166 阅读 · 0 评论 -
一只蒟蒻的数论学习笔记(筛质数和约数篇一)
一只蒟蒻的数论学习笔记(筛质数和约数篇)质数判定试除法枚举二到 n\sqrt{n}n 的所有数 i,若 n 能被 i 整除,则 n 不是质数。否则则是质数。为什么只需要枚举到 n\sqrt{n}n ?因为如果有一个数 i > n\sqrt{n}n ,且 i | n (“ | ”表示 “ 整除 ” ,即 n % i == 0),那么 (n / i)一定整除 n,而 i > n\sqrt{n}n ,则(n / i)一定小于 n\sqrt{n}n ,那么在从小到大的枚举中就已原创 2021-07-01 10:36:45 · 187 阅读 · 0 评论 -
一只蒟蒻的A*学习笔记( K 短路例题)
一只蒟蒻的A*学习笔记( K 短路例题)K 短路输出路径题目链接:ACWing 和 洛谷注意:此题正解非 A* ,但奈何本蒟蒻只会 A* 。。。题目描述给一张有向图,给出起点S、终点T、K,输出从起点到终点的第 K 短路路径(路径不允许重复经过点或边)。当有多条 K 短路时,输出字典序最小的一条。注意:每条最短路中至少要包含一条边。题解这题与普通的 K 短路的问题的区别就在于它需要输出路径,并且是字典序最小的路径。其他部分与 K 短路模板一模一样,只有 A* 主体部分有变化。我们要记录原创 2021-06-29 20:10:45 · 198 阅读 · 0 评论 -
一只蒟蒻的A*学习笔记
一只蒟蒻的A* 学习笔记A* 是啥?? A* 用来干啥??首先,A-Star 算法只能用在数据规模很大的搜索题中,这时直接用 BFS 会超时,而优化后的 BFS ——A-Star 算法就能处理这种问题。A-Star 算法通过一个 “启发函数(估价函数)” 来使到达终点需要遍历的状态大大减少,以达到提高运行效率的作用。就比如:当普通的 BFS 需要遍历 108、109 甚至 1020 个状态才能到达终点时,通过 A-Star 的启发函数 则只需要遍历极少的状态就能达到终点。注意: 使用 A-Star原创 2021-06-29 13:22:38 · 255 阅读 · 0 评论 -
一只蒟蒻的树形DP学习笔记
一只蒟蒻的树形DP学习笔记原创 2021-06-18 16:15:17 · 287 阅读 · 0 评论