摘要: 前言 看了网上的不下 \(50^+\) 篇配置指北,感觉都很复杂,不够简洁。后来终于用了最简洁的方式配置好了 vscode,不到 \(2\) 分钟。 Part1. 安装 .NET Framework 一般来说 Windows 系统自带 .NET Framework,但如果你的电脑没有,就去下载一个, 阅读全文
posted @ 2022-01-21 20:16 tmjyh09 阅读(68) 评论(0) 推荐(0) 编辑
摘要: A. 出题 题目传送门 该题正解 dp,数据略水,暴力都过了。 完全背包问题,只不过要求刚好装满,所以 \(f\) 数组可以全部赋值为一个特殊的数,只有刚好装到这个容量时才能转移。 代码实现: #include <bits/stdc++.h> using namespace std; int f[4 阅读全文
posted @ 2022-01-21 18:52 tmjyh09 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 前言 Sublime Text 3 是一个非常漂亮的代码编辑器,但怎么能让她作为记事本呢?这里就教大家配置 C++ 的运行环境。 Part1. 配置环境变量 要想运行 C++ 程序,首先需要编译器,这里使用 MinGW。可以去官网下载,不过若你安装了 Dev C++ 或 Code::Blocks,无 阅读全文
posted @ 2022-01-18 22:40 tmjyh09 阅读(426) 评论(0) 推荐(0) 编辑
摘要: 前言 最小生成树是最小权重生成树的简称。 通俗来讲就是,一个有 \(n\) 个点的无向连通图,选出其中 \(n-1\) 条边使图联通,每条边都有权值,要求权值和最小。 更详细的解释可参考 OI Wiki。 Kruskal 算法 Part1. 前置芝士 并查集 Part2. 思想 Kruskal 算法 阅读全文
posted @ 2022-01-18 00:24 tmjyh09 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 本题有两道一模一样的题目,改个数据范围即可 AC。 题目1 | 题目2 题意简述 给定一张无向图,每次删去一个点,问每次操作后图是否联通。 分析 判断图是否联通可以想到使用并查集来维护。但是并查集很难实现删除操作,那如何处理呢? 并查集的核心是“并”和“查”,既然题目要求每次删去一个点,那不如反过来 阅读全文
posted @ 2022-01-17 17:23 tmjyh09 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 分析 这道题可以用 dp 来做。设 \(f_{i,j}\) 为第 \(j\) 次传球传到第 \(i\) 个人的方案数。一个球可以从左边传过来(\(i-1\)),也可以从右边传过来(\(i+1\))。那么 \(f_{i,j}=\begin{cases}1,&i=1\&j=0,\\f_{n, 阅读全文
posted @ 2022-01-04 00:19 tmjyh09 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 题目传送门 题意简述 一张地图,只能往上往右走,其中有 \(n\) 个障碍不能走上去,问从 \((1,1)\) 走到 \((a,b)\) 有几种方案。 分析 首先,我们将棋盘倒置方便处理,也就是说只能往下往右走。 动态规划。设 \(f_{i,j}\) 表示从 \((1,1)\) 走到 \(f_{i, 阅读全文
posted @ 2022-01-02 18:04 tmjyh09 阅读(83) 评论(0) 推荐(1) 编辑
摘要: 题目传送门 分析 \(n\le20\),放心 dfs。难点主要在保存路径上。 一个点的地雷只能挖一次,所以需要维护 \(vis\) 数组。 注意,任何点都可以作为起点。 代码 #include <bits/stdc++.h> using namespace std; int n; int a[25] 阅读全文
posted @ 2022-01-02 16:32 tmjyh09 阅读(78) 评论(0) 推荐(0) 编辑
摘要: inline int read(){ register int x = 0, f = 1; register char ch=getchar(); while(ch<'0'||ch>'9'){ if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&ch<= 阅读全文
posted @ 2021-12-29 22:39 tmjyh09 阅读(30) 评论(0) 推荐(0) 编辑
摘要: int f(int a, int b) { int ans = 1; int base = a; while (b) { if (b & 1)ans = base * ans; base = base * base; b >>= 1; } return ans; } 取余版本: int f(int 阅读全文
posted @ 2021-12-29 22:32 tmjyh09 阅读(52) 评论(0) 推荐(0) 编辑