自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 以入门基础理解最短路算法#2 BFS 与 DFS 、存图、STL(最短路算法必要基础)Part 1

上一篇文章 从入门角度深入理解——有关最短路的常见算法#1 最短路问题介绍。点这里看上一篇简单介绍了图的基本知识、最短路问题的分类情况。可以让我们对求解最短路问题有个角度。这告诉我们,写最短路问题时要考虑:是否有权是有向图还是无向图是否有负环有了思考的角度。我们还需要掌握一些基本的工具。如果说上一篇文章是在我们思考该从哪个角度。那么这篇文章就是学习...

2020-05-25 16:04:47 2197 2

原创 通俗的B树入门 及 查找、插入、删除操作

B树是一个查找关键字的树,树的结点存的是关键字,通过可以找到对应的表,这体现了数据的索引机制.即 有索引的,现在要通过来查找.那么就在B树上查找。

2022-09-15 20:39:37 851 1

原创 Codeforces Round #729 (Div. 2) C. Strange Function

题意定义 f(i) 为 x ,x 为 非i的因子的最小正整数。给一个n。求 f(1) + f(2) + … + f(n) % 1e9+7思路f(i) = x,等价于 i 整除 lcm(1, … , x-1), i 不 整除 lcm(1, … , x)。可以用贡献度思想 / 集合的思想。首先我们这么定义:设 a = lcm(1, … , i),则 b = lcm(1,…, i+1)则 c = lcm(1,…, i+2) = lcm(b , i+2) .在1…n 里 整除a 的数的个数为

2021-07-04 23:15:39 204 2

原创 BUU round2 题解

round 2 题解这次更多考验算法和编码能力。题目难度由易到难A < F < BD E CA 三角形的类型 几何题 难度 1.5有多种方法可以做这道题。需要注意一些点。三点成一条直线的情况两个点重合时,三个点重合的情况。注意精度问题。如果采用求直线斜率,要注意不能除0。#include<iostream>#include<cstdio>#include<cmath>using namespace std;const

2021-06-27 16:31:09 180

原创 自我总结的ACM从入门到拿牌的几大影响因素

在整理社团需要的准备材料时随手写的,想理理训练的思路。没想到越写越多,又可以水一篇文章了。目录自身能力基础知识的储备/ 技能树的建立思维能力锻炼思维能力的方法和经验编码能力锻炼编码能力的方法和经验手速总结:比赛的经验心态组队兴趣一些奇思妙想自身能力基础知识的储备/ 技能树的建立基础知识其实就是考察的范围,比如银牌所涉及的范围是铜牌的基础上加很多算法的。想拿对应的牌子,就必须把对应的范围都尽可能地涉猎。如果忽略了一部分知识没有去学习,则一旦比赛出现了这方面的题,就无论如何都解决不了。获取知识的.

2021-05-23 15:59:38 386 3

原创 Codeforces Round #717 (Div. 2) A—C 反思总结

比赛链接:https://codeforces.com/contest/1516A题目大意n个元素,最多k次操作,每次操作选择两个元素,其中一个++另一个–,不能出现负数。输出最多k次操作后,字典序最小的元素序列。解题情况一共 wa 了两发。wa了第一发的时候没有检查语法错误。而是直接找逻辑错误,结果改了跟没改一样wa了第二发。wa了第二发的时候才认真找错误:发现错误有两点:定义加了 long long 但输入的时候用的是%d 而不是%lld题目说的是字典序最大,并且没上限,那只需要

2021-04-22 10:35:15 65

原创 ACM 字符串模板

基本函数构造string str1; //生成空字符串string str2("123456789"); //生成"1234456789"的复制品string str3("12345", 0, 3);//结果为"123"string str4("012345", 5); //结果为"01234"string str5(5, '1'); //结果为"11111"string str6(str2, 2); //结果为"3456789".

2020-12-23 14:20:39 144

原创 ACM STL模板

vectorvector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 erase() 删除 front()/back() 头元素/尾元素 push_back()/pop_back() 尾加入/尾弹出 begin()/end() 头指针/位置在 [] 支持比较运算,按字典序遍历下标遍历for (size_t i =0; i < vec.size(); i

2020-12-23 12:30:57 110

原创 ACM 数论模板

快速幂/*******快速幂********/typedef long long LL; // 视数据大小的情况而定LL powerMod(LL x, LL n, LL m)//求解 x的n次方 并求模于m { if(n==0) return 1; LL res = 1; while (n > 0){ if (n & 1) // 判断是否为奇数,若是则true res = (res * x) % m;

2020-12-22 16:13:42 136

原创 比赛时注意事项

JAVA非基本数据类型 都需要new!! 尤其是数组!!提交题目时类名一定要是 Main,否则判题系统是不认识代码的。用Java时只需要粘贴包里面的内容,包名是不需要的。//有包名的去掉包名java中字符串String是不可以修改的,要修改只能转换为字符数组.复杂度输入输出输出是否需要换行.输出最后是否能保留空格.long long 输入 和 输出都一定 要 %lld !!!读入用scanf读入字符时,要用 getchar() 吞掉 回车scanf(),printf()和cin

2020-12-20 14:10:11 119

原创 比赛时的数据处理

文件处理freopen("data.in", "r", stdin);freopen("data.out", "w",stdout);记得fclose(stdin); fclose(stdout);字符串处理对于字符串,string确实很好用,但是只能用cin输入必要的时候,变通的方法是定义一个比较大的char数组,scanf到这个数组,然后再赋给stringchar a[1024];string b;scanf("%s", a);b = string(a);输出的时候就:pri

2020-12-20 14:09:41 77

原创 比赛报错检查·

RE 运行时错误原因除以零数组越界指针越界使用已经释放的空间(栈)数组开得太大,超出了栈的范围,造成栈溢出数组访问越界除以0大数组没有开到全局变量里vector不清空也会RE,数组小了会RE,vis[负数]也会RE。int型变量超过int的范围会RE。TLETLE 有可能是 RE 的问题算法复杂度特殊数据进入死循环WA 答案错误逻辑问题格式错误,如行尾的空格、最后一个回车特殊数据错误,如 0 1 特殊数据等MLE结构体开的大的时候,不要在里面写函数

2020-12-20 14:07:13 91

原创 ACM比赛时 注意事项

JAVA非基本数据类型 都需要new!! 尤其是数组!!输入输出输出是否需要换行.输出最后是否能保留空格.long long 输入 和 输出都一定 要 %lld !!!取数据自己写的测试数据,需要包括特殊值 0 1 最大 最小条件划分后的每一个区域条件的边缘 两侧,如 条件(当a >= 8时) 需要测试 7 和 9逻辑对比每一个continue break return 查看是否混用有除数时,一定要注意被除数乘1.0 !图论建边时看有没有重边报错

2020-12-20 13:08:18 259

原创 ACM 数论、博弈、找规律 知识点 + 题集 + JAVA高精度

ACM常见数学规律ACM JAVA高精度ACM/ICPC Java高精度计算【acm模板整理】java高精度数论题集ACM 数论入门题(附代码解释)递推递推专题矩阵与递推矩阵与递推根据递推公式构造系数矩阵用于快速幂博弈论题集远古博弈题集知识点总结ACM基础博弈论知识总结...

2020-12-17 10:18:59 171

原创 ICPC 近年铜牌题

2019 ICPC 区域赛 铜牌题2019 南昌CEL2019 徐州ACF2019 南京ACK2019 银川站据说是最水的区域赛,所以甚至没找到榜单。那就重写一场吧。2019 上海BEHK20182018 焦作ADEI20172017 南宁AFIJL2017 西安BFH...

2020-12-03 18:49:28 1910

原创 2019ICPC南昌区域赛 Bob‘s Problem 题解

题目https://nanti.jisuanke.com/t/42580思路:首先,黑边是一定要全部选中的。但是为了后面使用生成树,在加入黑边的时候,只对不存在并查集内的边计算入生成的树的边数加入白边时,考虑的因素有:k于n-1的关系。k条白边加入后,生成树的边数 等于 n-1 ,则 恰好满足题目要求,答案为这k条白边 + 所有黑白的权值。生成树的边数 小于 n-1,则满足不了题目要求,答案为-1生成树的边数 大于 n-1,则除了树的边以外,继续从大到小添加白边,直到k条白边(多多益善)

2020-12-03 16:57:30 294

原创 HDU5938 题解

思路:计算形式总是a+b-c*d/e,我们希望a、b、e大一些,c和d小一些给c和d各一位,给e一位或两位,a和b中的一个拿一位,另一个拿光。即:e一位或e两位a拿一位或b拿一位于是有2*2=4种可能情况,暴力枚举即可。注意:字符串 被截取时,一定要看被截取的极端情况下,剩下的字符数目是否符合题意。初始化最大值时,如果不可能为负,初始化为-1,如果可能为负,则初始化为负无穷#include<iostream>#include<cstring>using

2020-12-02 21:42:52 287

原创 POJ1029 题解

思路:最开始想模拟分类,逐个赋值重量,最后重量不同的硬币是错误的硬币。后面看题解发现,直接比较次数是正解。即:假币在<或>式子中出现的次数等于 不等式出现的次数。因为只要有假币,那么就肯定不等相等时,一定无假币如果发现多个假币,说明假币可能为0.(第一次提交错在这)#include<iostream>using namespace std;const int maxn = 1009;int n,k;int un_l[maxn];int un_r[maxn]

2020-12-01 16:40:58 579

原创 POJ 1073 题解

思路:模拟,把实现功能分块写。一是比较结果、二是得到删除\n\t等字符后的字符串比较两个结果通过直接比较删除\n \t等字符后比较#include<iostream>using namespace std;int n;void delete_all(string &a){ //删除所有的格式 string b = ""; for(int i = 0;i < a.length();i++){ if(a[i]!=' '&&a[i]!=

2020-11-30 22:33:58 217

原创 第一周训练题目

前言看自己的情况做,如果基础不扎实就一步步做。模拟暴力HDU-1073POJ-1029UVA-725HDU-5938补充题:POJ上的练习poj-3007poj-3096简单数据结构前缀和 poj-1050优先队列 poj-1581字符串POJ1035POJ1936贪心和排序洛谷1181洛谷1090补充题:POJ-2586动态规划POJ-1018POJ-2533POJ-1260POJ-3267...

2020-11-28 16:06:43 155

原创 ACM之路所需的所有资料集合

ACM 题集 和 知识点题库POJZOJHDUHDU、ZOJ、POJ刷题(难易)顺序POJ 分类叉姐的POJ分类指南HDU分类ZOJ分类ZOJ题目分类+思路牛客上的ICPC原题题单算法比赛相关网站和OJ训练指南大牛的大学三年acm训练之路ACM训练史上最详细计划算法总结两年ACM竞赛的所有算法总结ACM 所用数据范围 常见知识点总结模板ACM 算法竞赛入门级模板 ------ (比赛技巧工具)带有库函数讲解的模板知识点分类讲解ACM-图论完全总结(知识点+模板)

2020-11-28 15:03:23 778 1

原创 高精度的加法乘法除法

高精度加法思路:模拟按位相加法从最低位开始,每一个位对应的两个数相加。如果当前位大于等于10。则当前位保留对10取模的数,进位除以10的数。注意的点:最高一位是否进位,如果不进位,需要删除前导0.伪代码读入字符数组a,b整型数组 a1,b1,c1初始化设置 la,lb,lc分别为 a1,b1,c1的长度。其中lc初始值为1,表示至少有一位。设置x为进位数,初始化为0。循环(当lc小于等于la或lb):c1[lc] = a1[lc] + b1[lc] + x;c1[lc] %=

2020-11-01 23:18:46 140

原创 DAG上的动态规划 | 动态规划转换成DAG上的最短路、最长路问题

文章目录DAG上的动态规划二元关系的问题转换成图上问题问题举例嵌套矩形完全背包——硬币问题不固定起点终点的最长路及字典序固定终点的最长路和最短路dp的几种写法输出字典序方法刷表法和填表法tipsDAG上的动态规划DAG图,即有向无环图。紫薯上说:有向无环图上的动态规划是学习动态规划的基础。因为有很多问题可以转换为求DAG上最短路、最长路或路径计数的问题。问题要素分割:种类\求的结果最短路最长路路径计数不固定起点终点最短路问题最长路问题固定起点不常见完全背包

2020-11-01 14:32:08 668

原创 2020-10-24 算法训练营buu 贪心策略练习(排序练习)

贪心策略(假) 排序(真)基本上三题都是因为排序被卡了一会p1230 智力大冲浪p1230 智力大冲浪题目描述原有m奖金但第i事件没完成就会扣除wi的奖金在n个时间内每个事件都有一个期限ti,在ti时间后该事件就不能完成。求一个完成事件的顺序来保证扣的钱最少。思路:先让事件以w从大到小排序(贪心第一下),后从w最大的事件开始,把该事件放在他的截止事件上(贪心第二下)。被卡住的点快排中mid的值不能改变的。这是错的void qsort(int l,int r){ int mid

2020-10-24 16:45:07 143

原创 前缀和常见的三种情况

前缀和的基本概念s[i] 为 数组a 前i个元素的和s[i] = a[0]+ … + a[i]s[i] = s[i-1] + a[i]l 到 r 区间内的和:sum[l,r] = s[r]-s[l-1]异或前缀和:s[i] 为 数组a 前i个元素的异或和s[i] = s[i-1] xor a[i]二维前缀和P2004 领地选择题意理解:有一个N x M的地图,地图上的每一个点都有一个值,求占地C x C 正方形里值的和最大思路:用sum[a][b]来记录 从[0][0]到[a

2020-09-22 21:24:18 325

原创 直接插入排序、希尔排序 与 简单选择排序、堆排序 | 排序(一)

本章会分两篇文章讲解常见的8种排序方法,可以点个关注、加个收藏,进个人空间继续看下一部分的内容哦!后期会在这篇文章开头加上第二部分的链接。排序概念分类:稳定排序 与 不稳定排序指 一个序列中,有两个键值一样的元素AB。假设A排在B前,经过稳定排序后,A仍然在B前面。而不稳定排序可能会改变AB的前后顺序。内排序 与 外排序内排序指在本身序列上排序,需要的辅助空间为O(1);外排序则需要更多的辅助空间。方法分类:插入类排序:直接插入排序希尔排序选择类排序简单选择排序堆排序交换类排.

2020-05-31 21:21:23 630

原创 查找(排序)二叉树、最优二叉树(哈夫曼树)、线索二叉树、平衡二叉树;各种二叉树你还记得它们都是什么吗?(二)

查找二叉树又叫二叉排序树性质:左儿子的值 < 父结点的值 < 右儿子的值因此,不能存在俩个相同值的结点作用(意义):极大程度提高查询数据的效率。(相当于二分查找的效率)插入结点:若有相同键值的结点,则不插入。若查找二叉树为空,则直接作为根结点。与父结点(先从根结点)比较。小于父结点,插入结点到左子树。大于父结点,插入结点到右子树。删除结点:如果为叶子结点,直接删除。如果只有一个儿子结点,则让儿子结点代替它的位置。如果有俩个儿子结点,则在该结点的左子树上,找到

2020-05-29 14:15:07 1317

原创 各种各样的二叉树你还记得它们都是什么吗? 简单介绍基本的6种二叉树及操作(一)

二叉树的基本概念结点的度:指一个结点的拥有多少个孩子结点如1号结点有俩个孩子,所以1号结点的度为2。而7号结点无孩子,所以7号结点的度为0。树的度 :所有结点中最高的度数就是结点的度。叶子结点:无孩子结点的结点。分支结点:除了叶子结点的结点(即有孩子的结点)**...

2020-05-28 20:39:45 1193

原创 以入门基础理解最短路算法#2 BFS 与 DFS 、存图、STL(最短路算法必要基础) Part 2

这里是第二部分上一部分是BFS与DFS如何利用STL这部分的内容因为是在边写最短路全篇时边加的,所以知识点会有点零碎。(后期可能也会有补充)vector头文件#include< vector >用法很简单,若a是一个vector,a.size() //可以读取它的大小,a.resize() //改变大小,a.push_back() //向尾部添加元素,a.pop_back()

2020-05-25 22:39:02 311

原创 从入门角度深入理解——有关最短路的常见算法#1 最短路问题介绍

最短路问题介绍这里的最短路问题,指的是单源最短路。单源最短路,意如其名,只有一个原点,走到其他点的最短路径。即求一个点到其余点的最短路径。图的简单概述:要了解最短路,首先要简单理解一下什么是图。书上概述如下(可以跳过不读):图G=(V,E)是一个二元组(V,E)使得E⊆[V]的平方,所以E的元素是V的2-元子集。为了避免符号上的混淆,我们总是默认V∩B=Ø。集合V中的元素称为图G的顶点(或节点、点),而集合E的元素称为边(或线)。通常,描绘一个图的方法是把顶点画成一个小圆圈,如果相应的顶点之

2020-05-25 08:00:17 880

原创 重拾算法竞赛之路 day#7(“纯新手”的入门经历)(贪心与排序)

贪心策略排序

2020-05-08 22:49:14 220

原创 重拾算法竞赛之路 day#6(“纯新手”的入门经历)(字符串与哈希)

基础定义字符串的哈希哈希题目字典树(前缀树)

2020-05-07 22:47:59 229

原创 重拾算法竞赛之路 day#5 (“纯新手”的入门经历)(基本数据结构)

前缀和离散化邻接链表栈与队列队列

2020-05-06 23:30:57 241

原创 重拾算法竞赛之路 day#4 (“纯新手”的入门经历)(STL)

一、C++与C1.cin比scanf慢很多,哪怕是关闭了同步也是。1e5以上的数据用cin就可能会TLE。2.关于输出小数,printf比较方便,cout需要用头文件,cout.setprecistion(int digit)修改精度。3.bool 类型 非0为true 0为false4.开辟内存 new int; 返回的是指针5.struct 可以加入构造函数STLC中原有的...

2020-05-06 23:22:09 190

原创 重拾算法竞赛之路 day#3 (“纯新手”的入门经历)(字符串+大数)

重拾算法竞赛之路 day#3 C++今天完成的事情刷的题有 有关字符串跟大数的今天完成的事情今天在牛客网上测试了一下竞赛水平,果然面对模拟比赛的时候解题的水平就刷刷往下掉,应该只写了一道题。得的lv5.刷的题有 有关字符串跟大数的今天整理的字符串的代码有不全的,还有大数的除法还没有好的思路写出来(大数除法一个是用模拟竖式除法,还有一个是大数分解 然后除 得到商和余数然后拼到之后的大数上继续...

2020-04-28 23:35:52 115

原创 重拾算法竞赛之路 day#2 (“纯新手”的入门经历)(一些入门题目的题解代码)

重拾算法竞赛之路 day#2(C++)写在开头计划今天完成的事情基础知识下面是代码看这标题为什么是从第二天开始,是因为从昨天开始刷的题。写在开头从高中的noip水了俩年,每年都混个省三开始。现在到了大学,却发现这个学校没有去参加各大算法竞赛的方向,但还是心心念念着打比赛。在经过大一上个学期的断断续续捡起高中的基础来,才发现自己脑海里一直没有个基础的架构来支撑起一个体系,以至于到现在学到面向对...

2020-04-27 23:58:41 478

原创 Qt_标签的一些使用

labelmainwindow.cpp#include "mainwindow.h"#include "ui_mainwindow.h"#include<QMovie>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow){ ui-...

2020-02-15 10:28:55 801

原创 Qt_各种对话框

对话框模态对话框 需先解决完模态对话框,才能回到原窗口非模态对话框 表现上与原窗口独立模态对话框有:提示对话框 只有一个按钮,常用于 关于对话框问题对话框 俩个按钮,常用于选择yes or no文件对话框 打开文件,用于选择什么文件mainwindow.cpp#include "mainwindow.h"#include<QMenuBar>...

2020-02-15 10:24:35 134

原创 Qt_菜单栏_工具栏

mainwindow.cpp#include "mainwindow.h"#include<QMenuBar>//菜单栏#include<QMenu>//菜单#include<QAction>//动作#include<QtDebug>//debug输出#include<QToolBar>//工具栏#include<QP...

2020-02-15 10:15:01 123

原创 Qt_坐标系统

/*对于父窗口,坐标系统相对于屏幕 * 子窗口相对于父窗口 * 原点:屏幕坐上角,窗口空白区域,不包括边框 * x 往右递增 * y 往下递增 */ move(100,100); QPushButton *b1= new QPushButton(this); b1->move(100,100); b1-...

2020-02-15 10:12:18 196

矩阵化为行阶梯型矩阵 和 化为行最简矩阵 【显示出每一步的步骤,有源码】

如果觉得这个对你有帮助希望可以点个赞评论一下! 如果发现有问题,希望可以在评论出给出测试数据。 如果可以直接指出代码的错误就更好了!

2020-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除