自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 更新系统gcc版本及权重

4、同时添加系统gcc和g++版本记录。1、查看系统gcc版本及权重。2、删除系统gcc版本记录。3、添加系统gcc版本记录。

2024-02-27 13:19:21 336

原创 Ubuntu 22.04 默认sudoer文件

不小心修改/删掉 /etc/sudoer文件

2023-12-06 12:43:30 461

原创 买卖股票问题

买卖股票最佳时机①买卖股票Ⅰ题意给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。解法方案方案①:简单动态规划这里可以使用两个变量,分别记录当前遍历到的最小的价格和当前最大的利润,初始时,显然,最小价值为第一个遍历的价值,即prices[0]

2022-04-06 17:11:40 364

原创 滑动窗口问题

滑动窗口专栏

2022-03-07 10:56:48 367

原创 【无标题】

别人的共享仓库连接怎么上传到本地1、前提:安装了git2、新建一个文件夹用来存你将要下载的仓库3、直接右键弹出以下窗口:4、点击Git Bash Here5、输入git clone + 别人共享的链接成功下载!...

2021-12-10 22:13:02 211

原创 C#中运行本地html文件

C#中如何运行本地html文件?可以使用下面的方式:System.Diagnostics.Process.Start("html文件在你电脑上的绝对地址");

2021-12-03 15:28:28 1587

原创 滑动窗口问题

ABC—123 C.Colorful Candies今天开始打ABC,好烦,第一题就WA了一发,第二题接着又WA了一发,我吐了,果然,当你实力不够强的时候,谨慎是你最大的筹码。题意:给你N个糖果,请选出连续的K个糖果,让这K个糖果中不同颜色的数量最多。简单来说,就是让我们求滑动窗口内的不同数量的最大值。思路思路就是一个for循环,在循环中,我们利用一个unordered_map来存放不同数以及对应的出现的次数。先存储给定窗口大小内的每个数以及对应的出现次数,利用mp[c[i]]++即可,然后,当i

2021-07-17 22:34:43 119

原创 巧用并查集求解环的个数以及连通块的数目

2021年度训练联盟热身训练赛第二场——F题:Interstellar Love题意给你s个点,c个连接数,求解这s个点组成的连通块的数量以及其中所包含的环的数量(孤立的点不算作连通块和环)。思路用并查集连接和查询,定义sig数组来标记环(sig[x]为1,表示存在一个以x为根节点的环)。连通块的数量可以通过遍历每一个结点,求根节点的个数计算即可。AC代码#include<bits/stdc++.h>using namespace std;#define ll long long

2021-07-17 18:37:32 751

原创 段错误专辑

写并查集出现段错误?在疯狂百度之后,我总结了自己专用的并查集模板,但是交代码时,出现了段错误,我前删后删,终于找到了该死的bug!下面是我之前的并查集模板。#include<iostream>#include<cstring>using namespace std;const int maxn = 1000005;int p[maxn], r[maxn], id[maxn];int l[maxn];int init(int n){ for(int i =

2021-07-17 16:34:20 95

原创 2021年度训练联盟热身训练赛第二场 E-NIH Budget(分组背包)

分组背包大概题意给你n种预算,每个预算包含d组方案以及总预算B,每一个方案中都有4对治病策略(即花费多少钱能治多少病人),而且一定要达到策略中的预算才能治疗对应数量的病人,否则只能治疗前一策略(预算更少的策略)能治疗的病人数量。求用给定的总预算能够治疗的最多病人数。思路:该题为01背包的变形——分组背包问题01背包:有n种物品,有一个容量为m的背包,每种可选可不选,求背包所能放的最大价值; for(int i = 1; i <= 4; i++){ for(int j = m;

2021-07-16 18:04:53 79

原创 牛客训练联盟热身赛第二场补题

B题题意告诉你每个字符串缩写对应的字符串数组,再给你若干行缩写,将没个缩写对应的字符串数组还原,组成原来的一句话。解题思路定义一个map<string, string> 数组,将每个字符串缩写对应的字符串存放起来。用getline输入,这样可以输入完整的一个字符串(带空格),对输入进行map存储,定义一个存储方法。对输出定义一个输出方法,将每个缩写翻译出来并输出。请注意用getline输入之前,一定要用getchar()来去掉前面的换行符,否则,getline读到的是一行空格。里面涉

2021-06-19 08:40:43 267

原创 数论专题总结

题意给你n个正整数ai,对于每个整数ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。输入第一行包含整数n,接下来n行,每行包含一个整数ai。输出对于每个正整数ai,从小到大的输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一行。数据范围1<n<100;2<=ai<=2*10e9;输入样例268输出样例#include<iostream>#include<algorithm&g

2021-06-19 08:40:03 214

原创 HDU-2588_GCD

欧拉函数这道题目其实很简单的,首先,我们假设:x = as; n = bs; 而且s是x和n的最大公约数那么我们可以知道gcd(a, b) =1, 也就是说a和b一定是互质的。因为假设a和b不互质,那么我们肯定可以找到一个s*m作为x和n的最大公约数,所以gcd(a, b) = 1;a, b一定互质。又因为:x <= n; 所以:a <= b;因此问题转化成了:求小于等于b的与b互质的数的个数,即b的欧拉函数。问题又来了:b需要怎么求呢?我们观察一下就可以发现:我么可

2021-06-19 08:38:47 156

原创 上海理工大学天梯赛补题

A题 题意给你一个字符串,让你计算一下有多少对相邻的字母,比如:a和b,b和c是两对相邻的字母,而a和c,a和z则不是。(注意:任意两个下标上的字母都可以成为相邻的对,例如:对于字符串“adfb”,下标为00的字符’a’ 与下标为33的字符’b’ 也是一对相邻的字母)解题思路我们只需要求出每一个字母出现的次数然后将每一对相邻字母的个数相乘然后相加即可。#include<bits/stdc++.h>using namespace std;int n,lab[100];char

2021-06-19 08:37:43 209

原创 navicat 中文显示???

navicat 中文显示???其实这个是数据库Mysql的编码问题,网上有很多博客多讲得比较复杂,对不对不知道,但是我这里有一个非常简单地方法,就是将数据库连接字符串增加改成下面这样:public static final String URL = “jdbc:mysql://localhost/sql_sever_final?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&

2021-06-18 22:48:36 502

原创 C++中ifstream读取含中文路径的txt文件问题

注意下面几点,你一定能读取成功!1、一定要读取绝对路径2、一定要用“//"而不能用“\”样例: void initReserveTable() { ifstream reader("D://桌面//编译原理//词法分析表//ReserveTable.txt"); string content; while(reader >> content) Reserve.push_back(content);

2021-06-16 20:02:27 2704 3

原创 DataGridView绑定数据库

背景今天在做C#实验的时候,遇到了一个难题:需要将数据库中的数据在C#的窗体的DataGridView控件中显示出来。当然老师布置这个作业是在之前做了铺垫的,之前做省县区三级查询时,讲过了SampleData和LiteDB的使用,但是我那些还不太会,因此,我还是选择百度,但是我按照他们的操作之后,并不能达到我的目标,因为很多博客上都没有讲全面。因此,我写这篇博客也是想全面地记录一下将DataGridView绑定数据库的操作。步骤1:连接数据库并填充DataSet集合这里一定要注意是用DataSet集

2021-06-11 22:52:16 3692 2

原创 2021-04-17

图论专题一、Dijkstra算法+堆优化要求:不能有负边(负环)首先,贴一个模板题:https://vjudge.net/problem/POJ-2387/origin题意:给你n个点,m条无向边(可能有重边),让你求到达终点的最短路径。分析:本题为求最短路的板子题,直接上板子就好了,下面是优化后的板子。(16ms)#include <iostream>#include <queue>using namespace std;#define INF 0x3f3f3f

2021-04-19 21:04:18 86

原创 ABC 198 补题

ABC198补题:D题:Sample Input 1abcdefghijklSample Output1UNSOLVABLESample Input 2CopysendmoremoneySample Output 29567108510652思路这道题最容易想到的思路就是用next_permutation(v.begin(), b.end())函数来枚举所有的排列,将所有的数都填进去,一个一个去试。当然最开始可以特判一下,可以先用set统计一下三个字符串

2021-04-13 20:07:41 229

原创 DFS专辑

区间或及异或题意给你一个数列,让你将其进行等间距拆分成一个或者多个数列,对于每一个数列,计算其中所有数字的或,然后求出以这种方式进行拆分的所有区间的最小的异或值。1<= N <= 200 <= Ai <= 230解题思路:首先,我们看到此题的数据范围非常小,所以我们坚信此题一定可以做出来。由于题目要求等间距拆分,因此我们可以通过递归求解,怎么递归?先递归求每个区间内的或,然后将它们求异或,求出最小值即可。官方题解#include <bits / std

2021-03-28 12:32:12 76

原创 Trie树专辑

最大异或对在给定的 N 个整数 A1,A2……AN 中选出两个进行 xor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数 N。第二行输入 N 个整数 A1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤105,0≤Ai<231输入样例:31 2 3输出样例:3思路我们最先想到的肯定是暴力,但是这题的数据范围确实比较大,因此,我们需要创建一个Tries树。#include<iostream>#include<algorithm&

2021-03-28 11:35:30 69

原创 BFS专辑

链接:https://ac.nowcoder.com/acm/contest/1017/A来源:牛客网题目描述Little Tom loves playing games. One day he downloads a little computer game called ‘Bloxorz’ which makes him excited. It’s a game about rolling a box to a specific position on a special plane. Preci

2021-03-25 23:18:59 85

原创 ABC-195

B题题意让你求橙子重量在a到b之内,组成总重量为1000*c的最大橙子个数。样例1:输入:100 200 2输出:10 20样例2:输入:120 150 2输出:14 161<=a <= b <= 1000;1 <= c <= 1000;解题思路设我们取到的一对重量的组合为:d和e,则有:a <=d, e<=b, 且重量为d的橙子取x个,重量为e的橙子取y个。且满足以下两个式子:1、dn = dx + dy;2、dx + ey =

2021-03-14 08:46:39 198

原创 蓝桥杯-幸运数

题意问你先将能被2整除的序号对应的数筛掉,然后观察一下筛完后序号为2的这个数a,继续将序号能被a整除的数筛掉,然后再观察一下筛完后序号为a对应的这个数b,继续将能被b整除的序号对应的数筛掉,然后再观察一下筛完后序号为b对应的这个数c,继续将能被c整除的序号对应的数筛掉……思路首先我们先求出筛掉2的倍数,并用一个数组存下来,然后根据题意来模拟,也就是再筛掉能被2整除的序号对应位置上的数,然后再将筛完之后的数用另外一个数组b来存,因为我们要不断地循环,所以,我们还是要把b里面的数又倒回a里面,然后再

2021-03-07 17:22:07 143

原创 区间dp

区间dp给你两个长度分别 n 和 m 的整数数组 nums 和 multipliers ,其中 n >= m ,数组下标 从 1 开始 计数。初始时,你的分数为 0 。你需要执行恰好 m 步操作。在第 i 步操作(从 1 开始 计数)中,需要:选择数组 nums 开头处或者末尾处 的整数 x 。你获得 multipliers[i] * x 分,并累加到你的分数中。将 x 从数组 nums 中移除。在执行 m 步操作后,返回 最大 分数。示例 1:输入:nums = [1,2,3], m

2021-02-23 12:40:30 196 2

原创 二分经典题目

二分经典题目袋子里最少数目的球给你一个整数数组 nums ,其中 nums[i] 表示第 i 个袋子里球的数目。同时给你一个整数 maxOperations 。你可以进行如下操作至多 maxOperations 次:选择任意一个袋子,并将袋子里的球分到 2 个新的袋子中,每个袋子里都有 正整数 个球。比方说,一个袋子里有 5 个球,你可以把它们分到两个新袋子里,分别有 1 个和 4 个球,或者分别有 2 个和 3 个球。你的开销是单个袋子里球数目的 最大值 ,你想要 最小化 开销。请你返回

2021-02-17 16:50:44 364

原创 codeforce 补题 #701

codeforce 补题#701这道题其实不难的,但是我不知道怎么去递归,怎么去循环。后面看了别人的代码后,感觉其实挺容易的,这里总结一下。法一:递归写法:要么一直做a/b运算要么先做b+1运算再做a/b运算每次na除到0时,记录下ans的最小值代码1:#include<bits/stdc++.h>#define pb push_back#define mp make_pair#define fst first#define snd secondusing name

2021-02-13 22:54:23 180

原创 双指针、hash、set多种解法演示

找硬币伊娃喜欢从整个宇宙中收集硬币。有一天,她去了一家宇宙购物中心购物,结账时可以使用各种硬币付款。但是,有一个特殊的付款要求:每张帐单,她只能使用恰好两个硬币来准确的支付消费金额。给定她拥有的所有硬币的面额,请你帮她确定对于给定的金额,她是否可以找到两个硬币来支付。输入格式第一行包含两个整数 N 和 M,分别表示硬币数量以及需要支付的金额。第二行包含 N 个整数,表示每个硬币的面额。输出格式输出一行,包含两个整数 V1,V2,表示所选的两个硬币的面额,使得 V1≤V2

2021-02-09 12:17:41 88

原创 统计连续数字的个数

很遗憾,这次cf爆零了,我在第一题上花了好长时间,可是就是没想出解决方法,题目是说要给不同编号的球染色,求最少需要多少种颜色。AC代码如下:#include<iostream>using namespace std;typedef long long ll;ll read(){ char ch = getchar(); ll x = 0, f = 1; while(ch < '0' && ch > '9'){ i..

2021-01-29 10:48:28 402

原创 活用双指针快排求第k大值

AcWing 786. 快排应用——第k个数 原题链接 简单题目描述给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在1~109范围内),表示整数数列。输出格式输出一个整数,表示数列的第k小数。数据范围1≤n≤100000,1≤k≤n输入样例5 32 4 1 5 3输出样例3算法1快速选择算法快排的每一趟,数轴的左边都会是 <= x 的, 右

2021-01-16 18:02:39 245

原创 区间合并问题

寒假集训acwing422. 校门外的树某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,……,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。

2021-01-16 11:03:46 92

原创 codeforce题目

codeforce 102 (div 2)B题这题首先是求两个字符串的最小公倍数lcm,从样例分析来看,字符串的最小公倍数大小必须是两个字符串的大小的公倍数。因此可以先求出两字符串长度的最小公倍数,注意一下这里的最小公倍数的求法:lcm(s, t) = s.size ()*t.size()/ __gcd(s.size(), t.size())注意这里的__gcd(int a, int b)函数是万能头文件**<bits/stdc++.h>**中的,直接用就好了。求出了lcm之后,我们

2021-01-15 20:03:54 325

原创 随机生成数据并写入文档

随机生成数据并写入文档此例随机生成对应的城市和一年12个月的天气状况并写入文档。#include<iostream>#include<vector>#include<string>#include<time.h>#include<algorithm>using namespace std;//天气在枚举常量中表示enum Enum_weather{ Rainy=0,Snowy,Cloudy,Sunny};//创建城市类

2020-12-29 13:00:58 396

原创 加减异或运算器

链接:https://ac.nowcoder.com/acm/contest/9510/A来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述牛牛家里有一个计算器。牛牛不小心把自己的计算器玩坏了。乘法(×)和除法(÷)按钮全都失灵。所以,牛牛决定以后用它来计算只含加(+)和减(-)的表达式。最近,牛牛突然发现,这个计算器的幂(^)按钮变成了异或键!本来 5^2=25 的,现在 5

2020-12-14 17:19:29 1887

原创 求众数【用STL中的map和set实现】

求众数【用STL中的map和set实现】TimeLimit:2000MS MemoryLimit:128000KB64-bit integer IO format:%lldProblem DescriptionInput输入多组数据每组数据的第一行是一个n,表示有n个操作(n<=100000)接下来有n行,有两种操作1 x 表示添加数字x (x是正整数且在int范围内)2 输出添加了的数中出现最多次的数,如果有多个,则依次从小到大输出其中2操作不超过总操作数的1/8。Outpu

2020-11-24 17:15:00 307

原创 营业额统计【STL必备技巧】

营业额统计【STL必备技巧】TimeLimit:1000MS MemoryLimit:128MB64-bit integer IO format:%lldProblem DescriptionTiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是其他情况的时候,营业额会出现一定的波动,当然一定的波动是能够接受的,但是在某

2020-11-24 14:45:30 150

原创 算法入门

小马请客已知小马和小敏是好朋友,而且是同一寝室的老乡,寒假之后,小马和小敏都回到了南华大学,当他们再次在学校相遇时,都感叹物事人非,小马感叹道,啊,我的天,你快老实告诉你寒假吃了啥,怎么一转眼变成了一头小肥猪,小敏不禁反问道,少年,这个寒假你到底经历了什么,怎么看起来好几个月没吃饭了,真就这样骨瘦如柴了吗?在他们互怼之后,他们开始吐露心扉,原来,小马利用了这个寒假去广东他父母那边打临时工,每天加班加点,甚至常常通宵达旦,为了钱,他竟不惜牺牲掉自己所有的自由时间和睡觉时间,可谓是废寝忘食,虽然这样的

2020-11-22 09:20:38 108

原创 迷宫问题看这里

检验迷宫是否合理注意以下几点1、这里所用的方法为深度优先搜索2、先定义好方向数组3、走下一步的时候一定要把所有的限界条件都考虑到,否则可能出现死循环4.做完标记,dfs后,记得把标记给取消,因为要回溯。5、如果要统计最短路的话,记得要把入口标记为已访问,因为开始的步数step为0,因此回溯的时候不能加上入口这一步。#include<iostream>using namespace std;int m, n, p, q, mi = 0x3fffffff;int maze[

2020-11-19 22:30:14 121

原创 随机生成迷宫

随机生成迷宫首先初始地图所有位置均设为障碍墙,然后任意插入一个墙体进墙队列;再判断此时墙体是否可以设置为路(判断依据:上下左右四个位置是否只有一个位置是路),若设置为路,则将该位置四周所有的墙插入队列;若无法设置为路,直接从墙队列中删去当前结点所在的节点,若墙队列不为空,则从队列中随机选取一处障碍重新执行,重复以上操作建立多个墙体,直到墙队列为空。#include <iostream>#include<stack>#include<vector>#inclu

2020-11-19 18:14:04 2611 1

原创 关于STL你不知道的知识点

STL中的小技巧首先就是vector中的partial_sum函数#include<iostream>#include <vector>//vector#include <numeric>#include <time.h> //随机数using namespace std;//自定义方法int func(int x, int y) { return x - y; }void main(){ //定义容器 vector<int&gt

2020-11-16 11:01:29 76

空空如也

空空如也

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

TA关注的人

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