avatar
文章
42
标签
44
分类
18

Home
Archives
Tags
Categories
Wablers
Home
Archives
Tags
Categories

Wablers

蓝桥杯之数学与简单DP
发表于2021-12-09|蓝桥杯
蓝桥杯之数学与简单DP数学1. 买不到的数目小明开了一家糖果店。 他别出心裁:把水果糖包成4颗一包和7颗一包的两种。 糖果不能拆包卖。 小朋友来买糖的时候,他就用这两种包装来组合。 当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。 你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。 大于17的任何数字都可以用4和7组合出来。 本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。 输入格式两个正整数 n,m,表示每种包装中糖的颗数。 输出格式一个正整数,表示最大不能买到的糖数。 数据范围 2≤n,m≤1000保证数据一定有解。 输入样例:14 7 输出样例:117 AC就一个公式,记住就好,如果不知道就打表找规律。 123456789101112#include <iostream>using namespace std;int main() { int p, q; cin >> p >> q; cout << (p - 1) * (q - 1) - 1 << ...
蓝桥杯之二分与前缀和
发表于2021-12-06|蓝桥杯
蓝桥杯之二分与前缀和二分1. 数的范围给定一个按照升序排列的长度为 n 的整数数组,以及 q 个查询。 对于每个查询,返回一个元素 k 的起始位置和终止位置(位置从 0 开始计数)。 如果数组中不存在该元素,则返回 -1 -1。 输入格式第一行包含整数 n 和 q,表示数组长度和询问个数。 第二行包含 n 个整数(均在 1∼10000 范围内),表示完整数组。 接下来 q 行,每行包含一个整数 k,表示一个询问元素。 输出格式共 q 行,每行包含两个整数,表示所求元素的起始位置和终止位置。 如果数组中不存在该元素,则返回 -1 -1。 数据范围 1≤n≤100000\\ 1≤q≤100001\\ 1≤k≤10000输入样例:123456 31 2 2 3 3 4345 输出样例:1233 45 5-1 -1 AC12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455#include <iostream>#include < ...
蓝桥杯之递归与递推
发表于2021-12-04|蓝桥杯
蓝桥杯之递归与递推递归1. 递归实现指数型枚举从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式输入一个整数 n。 输出格式每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 11 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。 数据范围 1≤n≤15输入样例:13 输出样例:1234567322 311 31 21 2 3 AC一共 n 个数,即可以利用填坑的方法进行,从填 1 个坑到填 n 个坑。 选择填哪个坑都可以,比如第 1 个坑填入了 2 之后,第 2 个坑可以填 1(即非升序),也可填 3(即升序) 12345678910111213141516171819202122232425262728293031323334353637383940#include <iostream>#include <algorithm>#include <cstdio>#include <cstring>using namespace st ...
归纳与总结《Effective C++》
发表于2021-11-29|C++提高
《Effective C++》1. 让自己习惯C++01. 视 C++ 为一个语言联邦四个次语言 C Object-Oriented C++ Template C++ STL 请记住 C++ 高校编程守则视情况而变化 02. 尽量以 const,enum,inline,替换 #define可以理解为“宁可以编译器替换预处理器”,因为 #define 不被视为语言的一部分 有两种特殊情况值得注意: 定义常量指针(const pointers) 若要在头文件内定义一个常量的 char*-based 字符串,必须写 const 两次: 1const char* const author_name = "Wablers Liu"; 不过,string 对象通常比 char*-based 合宜,所以定义成这样往往更好: 1const std::string author_name = "Wablers Liu"; class 专属常量 为将常量的作用域(scope)限制于 class 内,必须让它成为 class 的一个成员(member);而为 ...
搜索与图论(三)
发表于2021-10-31|算法基础
Prim858. Prim算法求最小生成树给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 给定一张边带权的无向图 G=(V,E),其中 V 表示图中点的集合,E 表示图中边的集合,n=|V|,m=|E|。 由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树,其中边的权值之和最小的生成树被称为无向图 G 的最小生成树。 输入格式第一行包含两个整数 n 和 m。 接下来 m 行,每行包含三个整数 u,v,w,表示点 u 和点 v 之间存在一条权值为 w 的边。 输出格式共一行,若存在最小生成树,则输出一个整数,表示最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 数据范围 1≤n≤500, 1≤m≤10^5图中涉及边的边权的绝对值均不超过 10000。 输入样例:1234564 51 2 11 3 21 4 32 3 23 4 4 输出样例:16 AC思路S: 当前已经在联通块中的所有点的集合 dist[i ...
算法基础之搜索与图论(二)
发表于2021-10-29|算法基础
拓扑排序848. 有向图的拓扑序列给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1。 若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序列。 输入格式第一行包含两个整数 n 和 m。 接下来 m 行,每行包含两个整数 x 和 y,表示存在一条从点 x 到点 y 的有向边 (x,y)。 输出格式共一行,如果存在拓扑序列,则输出任意一个合法的拓扑序列即可。 否则输出 −1。 数据范围1 ≤ n, m ≤ 105 输入样例:12343 31 22 31 3 输出样例:11 2 3 AC思路只适用于 AOV网 (有向无环图) 有向无环图一定是拓扑序列,有向有环图一定不是拓扑序列。 算法流程: 将入度为 0 的店指向的边删掉,每次删掉后,将入度为 0 的点入队,则最后入队的点的顺序即是拓扑序列。 主要由以下两步循环执行,直到不存在入度为 0 的顶点为止 选择一个入度为 0 的顶点,并将它输出; 删除图中从顶点 ...
搜索与图论(一)
发表于2021-10-24|算法基础
DFS 深度优先搜索842. 排列数字给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式共一行,包含一个整数 n。 输出格式按字典序输出所有排列方案,每个方案占一行。 数据范围1 ≤ n ≤ 7 输入样例:13 输出样例:1234561 2 31 3 22 1 32 3 13 1 23 2 1 AC此题采用 DFS 深度优先搜索,也即典型回溯算法。回溯的本质是穷举,但可以加上一些剪枝操作来高效一些。 DFS(回溯算法)解决的问题 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 排列问题:N个数按一定规则全排列,有几种排列方式 棋盘问题:N皇后,解数独等等 DFS 遍历过程 DFS 算法模板框架123456789101112void dfs(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点 ...
算法基础之数据结构模板
发表于2021-10-20|算法基础
数据结构模板单链表1234567891011121314151617181920212223// head存储链表头,e[]存储节点的值,ne[]存储节点的next指针,idx表示当前用到了哪个节点int head, e[N], ne[N], idx;// 初始化void init(){ head = -1; idx = 0;}// 在链表头插入一个数xvoid insert(int x){ e[idx] = x; ne[idx] = head,; head = idx ++ ;}// 将头结点删除,需要保证头结点存在void remove(){ head = ne[head];} 双链表12345678910111213141516171819202122// e[]表示节点的值,l[]表示节点的左指针,r[]表示节点的右指针,idx表示当前用到了哪个节点int e[N], l[N], r[N], idx;// 初始化void init() { //0是左端点,1是右端点 ...
算法基础之基础算法模板
发表于2021-10-19|算法基础
基础算法模板快速排序123456789101112131415void quick_sort(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, x = q[l + r >> 1]; while (i < j) { do i ++ ; while (q[i] < x); do j -- ; while (q[j] > x); if (i < j) swap(q[i], q[j]); } quick_sort(q, l, j); quick_sort(q, j + 1, r);} 归并排序12345678910111213141516171819202122void merge_sort(int q[], int l, int r){ if (l >= r) return; int mid = l + ...
南京林业大学CMCC-EDU自动登录
发表于2021-10-13|Python
南京林业大学CMCC-EDU自动登录电脑端(Windows)1. 配置Python环境 打开Python官网 选择下方Download区中的Python 3.10.0,会自动跳到下个界面 (版本可能随着时间有变化) 页面最下方Windows installer (64-bit),会自动下载 打开或运行下载好的程序 记得勾选下方Add Python 3.10 to PATH 点击Install Now(非小白建议自行选择路径) 等待它的自动安装 到此,Python环境配置完成 2. 安装requests第三方库 按下键盘 win + R 并输入 cmd 在命令框中输入代码并回车 1pip install requests 3. 制作并运行脚本 桌面新建记事本,粘贴以下代码 123456789101112131415161718192021222324252627282930313233import requestsurl = "http://10.11.1.3/a70.htm"data = { "DDDDD ...
123…5
avatar
Lin
Share as You Wish to Update
文章
42
标签
44
分类
18
Follow Me
公告
Please email me if you have any questions.
最新文章
LeetCode——链表2023-01-14
LeetCode——数组2023-01-02
Mesh组网之单线复用与VLAN网口复用2022-12-30
Game Theory —— 博弈论2022-12-29
软件测试上机实验2022-06-12
最新评论
正在加载中...
分类
  • C++提高1
  • C/C++进阶1
  • Celebration1
  • Discipline1
  • Game Theory1
  • JavaScript1
  • LeetCode2
  • PAT甲级1
标签
计算机操作系统概念详述IntrospectionNew YearFireworksJavaScript第一部分数据结构算法C字符串处理题解C++程序设计Studying数组校园网登录自动化脚本C/C++枚举二分双指针归纳总结指针KMP基础算法模板搜索与图论数据结构贪心算法前缀和数论DP树状数组线段树递归递推DjangoVue博弈论Game Theory
归档
  • 一月 20232
  • 十二月 20222
  • 六月 20221
  • 三月 20221
  • 一月 20223
  • 十二月 20214
  • 十一月 20211
  • 十月 20217
网站资讯
文章数目 :
42
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By Lin
框架 Hexo|主题 Butterfly