自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一个简单的整数问题——差分+树状数组

题目描述给定长度为 N 的数列 A,然后输入 M 行操作指令。第一类指令形如 C l r d,表示把数列中第 l∼r 个数都加 d。第二类指令形如 Q x,表示询问数列中第 x 个数的值。对于每个询问,输出一个整数表示答案。输入格式第一行包含两个整数 N 和 M。第二行包含 N 个整数 A[i]。接下来 M 行表示 M 条指令,每条指令的格式如题目描述所示。输出格式对于每个询问,输出一个整数表示答案。每个答案占一行。数据范围1≤N,M≤1051≤N,M≤1051≤N,M≤105,

2021-03-09 19:55:13 145

原创 银河英雄传说——维护距离与节点数的并查集

题目描述有一个划分为N列的星际战场,各列依次编号为1,2,…,N。有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列。有T条指令,每条指令格式为以下两种之一:1、M i j,表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j号战舰所在列的尾部。2、C i j,表示询问第i号战舰与第j号战舰当前是否处于同一列中,如果在同一列中,它们之间间隔了多少艘战舰。现在需要你编写一个程序,处理一系列的指令。输入格式第一行包含整数T,表示共有T条指令。接下来T行,每行一个指令,指令有两种

2021-03-07 16:35:50 193

原创 新的开始——最小生成树、虚拟源点

题目描述发展采矿业当然首先得有矿井,小 FF 花了上次探险获得的千分之一的财富请人在岛上挖了 n 口矿井,但他似乎忘记了考虑矿井供电问题。为了保证电力的供应,小 FF 想到了两种办法:在矿井 i 上建立一个发电站,费用为 vi(发电站的输出功率可以供给任意多个矿井)。将这口矿井 i 与另外的已经有电力供应的矿井 j 之间建立电网,费用为 pi,j。小 FF 希望你帮他想出一个保证所有矿井电力供应的最小花费方案。输入格式第一行包含一个整数 n,表示矿井总数。接下来 n 行,每行一个整数,第 i

2021-02-19 14:37:18 186

原创 恰好经过k条边的最短路径——Floyd的递增算法

题目描述给定一张由T条边构成的无向图,点的编号为1~1000之间的整数。求从起点S到终点E恰好经过N条边(可以重复经过)的最短路。注意: 数据保证一定有解。输入格式第1行:包含四个整数N,T,S,E。第2…T+1行:每行包含三个整数,描述一条边的边长以及构成边的两个点的编号。输出格式输出一个整数,表示最短路的长度。数据范围2 ≤ T ≤ 100,2 ≤ N ≤ 106输入样例:2 6 6 411 4 64 4 88 4 96 6 82 6 93 8 9输出样例:10

2021-02-10 17:36:09 962

原创 排序——传递闭包

题目描述给定 n 个变量和 m 个不等式。其中 n 小于等于26,变量分别用前 n 的大写英文字母表示。不等式之间具有传递性,即若 A > B 且 B > C ,则 A > C。请从前往后遍历每对关系,每次遍历时判断:如果能够确定全部关系且无矛盾,则结束循环,输出确定的次序;如果发生矛盾,则结束循环,输出有矛盾;如果循环结束时没有发生上述两种情况,则输出无定解。输入格式输入包含多组测试数据。每组测试数据,第一行包含两个整数n和m。接下来m行,每行包含一个不等式,不等式全

2021-02-09 16:55:07 256

原创 观光之旅——最小环

题目描述给定一张无向图,求图中一个至少包含3个点的环,环上的节点不重复,并且环上的边的长度之和最小。该问题称为无向图的最小环问题。你需要输出最小环的方案,若最小环不唯一,输出任意一个均可。输入格式第一行包含两个整数N和M,表示无向图有N个点,M条边。接下来M行,每行包含三个整数u,v,l,表示点u和点v之间有一条边,边长为l。输出格式输出占一行,包含最小环的所有节点(按顺序输出),如果不存在则输出’No solution.’。数据范围1≤N≤100,1≤M≤10000,1≤l<

2021-02-03 17:16:29 112

原创 最短路计数

题目描述给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1 到 N。问从顶点 1 开始,到其他每个点的最短路有几条。输入格式第一行包含 2 个正整数 N,M,为图的顶点数与边数。接下来 M 行,每行两个正整数 x,y,表示有一条顶点 x 连向顶点 y 的边,请注意可能有自环与重边。输出格式输出 N 行,每行一个非负整数,第 i 行输出从顶点 1 到顶点 i 有多少条不同的最短路,由于答案有可能会很大,你只需要输出对 100003 取模后的结果即可。如果无法到达顶点 i 则输出 0。

2021-01-31 16:35:42 309

原创 拯救大兵瑞恩——分层图、拆点

题目描述1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克得到了迷宫的地形图。迷宫的外形是一个长方形,其南北方向被划分为 N 行,东西方向被划分为 M 列, 于是整个迷宫被划分为 N×M 个单元。每一个单元的位置可用一个有序数对 (单元的行号, 单元的列号) 来表示。南北或东西方向相邻的 2 个单元之间可能互通,也可能有一扇锁着的门,或者是一堵不可逾越的墙。注意: 门可以从两个方向穿过,即可以看成一

2021-01-30 15:12:17 474

原创 选择最佳线路——虚拟源点

题目描述有一天,琪琪想乘坐公交车去拜访她的一位朋友。由于琪琪非常容易晕车,所以她想尽快到达朋友家。现在给定你一张城市交通路线图,上面包含城市的公交站台以及公交线路的具体分布。已知城市中共包含 n 个车站(编号1~n)以及 m 条公交线路。每条公交线路都是 单向的,从一个车站出发直接到达另一个车站,两个车站之间可能存在多条公交线路。琪琪的朋友住在 s 号车站附近。琪琪可以在任何车站选择换乘其它公共汽车。请找出琪琪到达她的朋友家(附近的公交车站)需要花费的最少时间。输入格式输入包含多组测试数

2021-01-29 15:56:08 4354

原创 最优贸易——最短路+DP

题目描述C国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为1条。C国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到C国旅游。当他得知“同一种商品在不同城市的价格可能会不同”这一信息之后,便决定在旅游的同时,利用商品在不同

2021-01-27 16:57:42 182

原创 道路与航线

题目描述道路与航线解题思路由题目可以看出这是一道最短路问题。图的边权有正有负,用spfa好像很完美,但是spfa会被卡。题目中指出边权为负的边只出现在航线上,道路全为正权边,并且通过航线的两点不存在回路,所以可以将图抽象为如下图所示:也就是,航线将图中的道路分成了一个个的团,团与团之间不会构成回路,将团抽象为一个点,即可得到一个有向无环图。有向无环图的最短路径可以采用拓扑序进行求解;又因为团之中只有边权为正的道路,因此我们可以分别对每个团采用dijkstra算法求解团中的最短路径。具体步骤1.

2021-01-25 16:29:18 282

原创 通信线路

题目描述在郊区有 N 座通信基站,P 条 双向 电缆,第 i 条电缆连接基站Ai和Bi。特别地,1 号基站是通信公司的总站,N 号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i 条电缆需要花费Li。电话公司正在举行优惠活动。农产主可以指定一条从 1 号基站到 N 号基站的路径,并指定路径上不超过 K 条电缆,由电话公司免费提供升级服务。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。求至少用多少钱可以完成升级。输入格式第1行:三个整数N,P

2021-01-24 18:06:49 443 2

原创 第十一届蓝桥杯——字串排序(DP)

问题描述小蓝最近学习了一些排序算法,其中冒泡排序让他印象深刻。在冒泡排序中,每次只能交换相邻的两个元素。小蓝发现,如果对一个字符串中的字符排序,只允许交换相邻的两个字符,则在所有可能的排序方案中,冒泡排序的总交换次数是最少的。例如,对于字符串 lan 排序,只需要 1 次交换。对于字符串 qiao 排序,总共需要 4 次交换。小蓝找到了很多字符串试图排序,他恰巧碰到一个字符串,需要 V 次交换,可是他忘了把这个字符串记下来,现在找不到了。请帮助小蓝找一个只包含小写英文字母且没有字母重复出现的字符串

2021-01-13 23:11:43 16317 24

原创 为什么我的并查集这么慢!!!

  在我刚开始使用并查集这种算法的时候,我一直搞不明白为什么别人总是说这种算法很好,在做题的时候会经常用到。但是我自己用起来的时候时间总是会超,一直很纳闷。今天重新做到一道别人都是使用并查集来解决的题目时,我才发现了我一直以来的错误!是真蠢呀!写这篇博客来吐槽一下自己,顺便给自己留下一个更深刻的印象。  问题就出现在我的find_root函数(查找节点的根节点,也就是查看节点属于哪颗树)上。直接看代码吧。//错误版int find_root(int pos){ if (forest[pos] ==

2020-10-08 20:56:36 95

转载 数字证书的基本概念和工作原理与SSL

https://www.cnblogs.com/mwd-banbo/p/9967528.html

2020-09-26 22:07:22 154

原创 TCP状态转换过程

TCP状态转换图状态描述 CLOSED:表示初始状态。 LISTEN:该状态表示服务器端的某个SOCKET处于监听状态,可以接受连接。 SYN_SENT:这个状态与SYN_RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,随即进入到了SYN_SENT状态,并等待服务端的发送三次握手中的第2个报文。SYN_SENT状态表示客户端已发送SYN报文。 SYN_RCVD: 该状态表示接收到SYN报文,在正常情况下,这个状态是服务器端的SOCKET在建立TCP连接时的三次

2020-08-24 14:41:06 149

原创 socket编程基础知识

一、概念  IP地址:在网络环境中唯一标识一台主机。  端口号(port):在主机中唯一标识一个进程。  socket:就是所谓的套接字,在Linux中socket是一种伪文件(不占用内存),用一个文件描述符指代。  网络字节序:    大端序:低地址存高位,TCP/IP协议规定网络数据流应采用大端字节序。    小端序:低地址存低位,计

2020-08-23 16:42:34 460

转载 重启网卡提示Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization.

问题:重启网卡提示Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization.或者ifconfig无eth0.原因:这是因为克隆的机器没有正确的mac,UUID信息冲突导致的。方法:1)首先将/etc/udev/rules.d/70-persistent-net.rules文件删除;2)然后将网卡配置文件/etc/sysconfig/network-scripts/ifcfg

2020-08-13 14:13:58 566

转载 同步IO、异步IO、阻塞IO、非阻塞IO的区别

文章出处:https://blog.csdn.net/historyasamirror/article/details/5778378这篇文章个人觉得作者写得非常好,之前看过好几篇讲这几种IO区别的文章,但看过之后还是觉得一知半解,但是这篇文章看过之后就对这几种IO有了质的认识。只能说强!同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别?这个问题其实不同的人给出的答案都可能不同,

2020-06-27 17:19:50 1434 2

原创 关于文件流的操作

最近在学习socket编程,做了一个小项目,就是传输大文件,具体的内容就是使用epoll LT模式,客户端发送文件到服务端,服务端再把收到的内容完整的写入另一个文件中。测试过程中不知道为什么传输完成之后服务端写入的新文件总是比客户端传来的文件内容少了几千个字节,也有对服务器程序进行验证,服务器确确实实有接收到这些文件内容(少了的那几千个字节),也有确实有通过ofstream输出文件流输出到指定的文件中。一直很纳闷,找不到解决方案,后来找到了一篇博文说在操作文件流时,当不再使用该文件流的时候,一定要进行c

2020-06-05 09:30:42 278

原创 方格取数——多线程dp

题目:设有NN的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字0。  某人从图的左上角的A 点(1,1)出发,可以向下行走,也可以向右走,直到到达右下角的B点(N,N)。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。  此人从A点到B 点共走两次,试找出2条这样的路径,使得取得的数之和为最大。  输入格式  输入的第一行为一个整数...

2020-04-04 20:58:31 357

原创 Manacher——最长回文串查找算法

Manacher算法,俗称马拉车算法,是一种比较高效的回文串查找算法。对于这个算法,我主要是从https://www.cnblogs.com/fan1-happy/p/11166182.html这篇博客中学习的,不过我觉得这篇文章太…应该说中二吧,反正我看得是有点小小的不习惯,当然内容还是有质量的。Manacher算法主要是通过对已经查找过的回文串来缩短对未查找过的回文串的查找速度,有点dp的...

2020-04-01 16:34:59 187

原创 关于树的那点事。

突发奇想的想写一些关于树的用法,以后把经常用到的或者觉得重要的用法都给整理下来,好复习用。因为用得比较多的是二叉树,所以先说一些二叉树的性质:性质1:二叉树第i层上的结点数目最多为2i-1(i >= 1);性质2:深度为k的二叉树至多有2k-1个结点(k >= 1);性质3:包含n个结点的二叉树的高度(k)至少为(log2n)+1(k >= 1);性质4:在任意一棵二叉...

2020-03-26 21:00:04 100

转载 SBT——Size Balanced Tree

这个数据结构是我在做一道蓝桥杯的题目(逆序对)时了解到的,本来打算搞完题目来对SBT整理一下,就是对它的各种操作小小的分析一下,刚开始尝试过自己去分析,但是还是没能分析出来。后来就看到了下面这篇博客,看完之后我就不打算再去分析了(扎心了),只能说自己的数学功底太差了,所以打算只掌握好各个操作的实现方式,对于具体的数学分析就了解了解就好了。文章转载于:https://www.cnblogs.com...

2020-03-16 16:42:37 82 1

原创 操作格子——线段树

问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,...

2020-03-07 16:24:47 206

原创 问题:1436 地宫取宝——记忆搜索/dp

题目描述:X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送给小明。请你帮小...

2019-11-22 16:28:38 161

原创 跳表

如果不想看我唠我的心得的话,请直接下面看代码。刚学了跳表这个数据结构,相信很多人跟我一样,在刚开始看了跳表的介绍后会觉得这种数据结构很好了解,而且也会在心里想“好像实现起来应该也不难”,我带着这样的心情开始手动实现跳表,结果…整整花了我两天多的时间才搞了出来,所以想写一篇博客来记录一下我实现跳表这个过程中遇到的问题以及我如何解决遇到的这些问题。废话不多说,开搞。在刚开始我学了跳表后,我没有去看...

2019-11-07 01:09:15 117

原创 问题 1117: K-进制数

题目描述:考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.例:1010230 是有效的7位数1000198 无效0001235 不是7位数, 而是4位数.给定两个数N和K, 要求计算包含N位数字的有效K-进制数的总数.假设2 <= K <= 10; 2 <= N; 4 <= N+K <= 18.题目解析:题目...

2019-10-29 17:03:43 487

原创 C++中的左值和右值

在《C和指针》中(P79)有这样介绍过左值和右值:左值:标识了一个可以存储结果值的地点。右值:(结果可以是)一个值。(这里我做了点修改)结合作者在后面(P100-P101)对指针表达式的进一步介绍后,我觉得应该这样定义左值:可以存储结果值的明确的地点。直接上代码解释#include<iostream>int main() { char ch = 'a'; char...

2019-05-06 17:23:59 303

转载 C++中的mutable关键字

原文: linkmutalbe的中文意思是“可变的,易变的”,跟constant(既C++中的const)是反义词。在C++中,mutable也是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中。我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修...

2019-04-21 13:45:04 130

原创 C++用模板函数匹配内置数组

用函数模板匹配内置数组这是我在看《程序设计原理与实践(第二版)(进阶篇)》中学习Matrix库相关内容的时候看到的一个知识点。#include<iostream>using namespace std;template<class T, int n>void test(const T(&a)[n]) { //这是一个重点:数组的引用。这是C++才有...

2019-04-19 20:38:47 680

空空如也

空空如也

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

TA关注的人

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