自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 凯撒加解密和破解

古典密码学是最基础的密码学问题,在古典密码学中,最为经典的就是凯撒密码。我们在这里简单介绍一下凯撒密码。凯撒密码又称为凯撒加密,凯撒变换,变换加密,是一种最简单且为广为人知的加密技术。他就是一种替换加密。在明文中使用字母进行前移(或后退)的方法进行替换对应的字母。这个图展示了简单的凯撒密码加密。在这个图中,我们的凯撒加密是通过对字母进行循环后移3位。也就是A被替换成D,B替换成E,对于最后三位X,Y和Z,我们通过循环,即从头开始对应,得到X替换成A,Y替换成B,Z替换成C。

2023-01-09 21:41:01 8237

原创 简单的几个小操作

初学爬虫,实现几个简单的小操作

2022-07-31 23:33:23 192

原创 爬虫笔记1

爬虫笔记1。

2022-07-31 23:18:00 184

原创 计算机图形学实验2-画线和画圆

实验要求:1. 学习并使用DDA算法进行画直线,同时学会Bresenham算法画直线。2. 学会画弧线并明白原理使用方法:用鼠标左键点击,并按住不放开,拖动鼠标进行绘制直线注意:在使用这些代码时需要对环境进行配置,若环境没有配置好,将会出现运行出错配置glut的环境就不在这里多说了,可以在网上进行搜索。在将代码写完之后,需要点击“项目”一栏,选择“管理Nuget程序包”,在搜索栏中搜索“nupengl”,回车进行下载 两个都是一样的,下载一个即可...

2022-07-04 08:48:28 653

原创 计算机图形学实验3-扫描线填充算法

实验要求:学习并实现扫描线填充算法

2022-07-04 08:24:33 1600

原创 Vj程序设计复杂模拟题训练

飞飞很喜欢打牌,他决定苦练牌技,终成赌神!飞飞有 A × B 张扑克牌。每张扑克牌有一个大小(整数,记为 a,范围区间是 0 到 A - 1)和一个花色(整数,记为 b,范围区间是 0 到 B - 1。扑克牌是互异的,也就是独一无二的,也就是说没有两张牌大小和花色都相同。“一手牌”的意思是你手里有 5 张不同的牌,这 5 张牌没有谁在前谁在后的顺序之分,它们可以形成一个牌型。 我们定义了 9 种牌型,如下是 9 种牌型的规则,我们用“低序号优先”来匹配牌型,即这“一手牌”从上到下满足的第一个牌型规则就是它的

2022-07-04 08:15:48 1634

原创 Vj程序设计作业H15

斐波那契数列的定义如下:给出 n,p ,求出 f(n)%p 的值。第一行一个数 T(1≤T≤100),表示数据组数。接下来 T 行,每行两个整数 n,p(1≤n≤109,108≤p≤109)。输出 T 行,表示每组数据的答案。测试样例样例 1输入:输出:解答给定 𝑛 和 𝑘,计算 Σi=1n​ik 对 109+7 取模的结果。第一行一个数 T(1≤T≤100),表示数据组数。接下来 T 行,每行两个整数 n,k(1≤n≤109,1≤k≤10)。输出 T 行,表示每组数据的答..

2022-07-03 23:13:05 302

原创 Vj程序设计作业H14

给出一棵树,求树的直径及其数量(最长简单路径的长度和数量)。第一行一个整数 n , 0≤n≤105,接下来有 n−1 行,每行 a,b 代表 a 到第 b 有一条长度为 1 的边。1≤a,b≤n输出两个数,分别表示树的直径和数量。样例输出解答有一座城市,城市中有 N 个公交站,公交站之间通过 N−1 条道路连接,每条道路有相应的长度。保证所有公交站两两之间能够通过唯一的通路互相达到。两个公交站之间路径长度定义为两个公交站之间路径上所有边的边权和。现在要对城市进行规划,将其中

2022-07-03 23:09:20 303

原创 Vj程序设计作业H13

将 堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数 N 及每堆的石子数,并进行如下计算:输入第一行一个整数 N (1≤N≤100),表示有 N 堆石子。第二行 N 个整数,表示每堆石子的数量。输出共两行:第一行为合并得分总和最小值,第二行为合并得分总和最大值。测试样例样例 1输入:输出:解答定义一个合法的括号序列空序列合法如果 S 合法,那么(S)和[S]合法假设 A 和 B 合

2022-07-03 23:05:38 274

原创 Vj程序设计作业H12

有 N 件物品和一个容量为 V 的背包。第 i 件物品的重量是 w[i],价值是 c[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。第一行为 N(1≤N≤5000),V(1≤V≤5000)。下面 N 行,第 i 行描述第 i 个物品的 w[i](1≤w[i]≤103),c[i](1≤c[i]≤103),用一个空格分隔。输出只有一个数,最大总价值。测试样例样例 1输入: 输出:解答有 N 种物品(每种有无限多个)和一个容量为 V 的背包。第 i 种物品

2022-07-03 23:01:37 307

原创 Vj程序设计作业H11

楼上有 n 级台阶,其中有 m 级台阶是不安全的。yhf 一开始站在第 0 级台阶上,希望最终走到第 n 级台阶yhf 跨一步满足以下约束:也就是说,若某一刻 yhf 站在第 c 级台阶上,那么他下一步可以落脚的位置 x 满足 c...

2022-07-03 22:55:23 511

原创 Vj程序设计作业H10

小明是汉东省政法大学附属中学的一名学生,他每天都要骑自行车往返于家和学校。为了能尽可能充足地睡眠,他希望能够预计自己上学所需要的时间。他上学需要经过数段道路,相邻两段道路之间设有至多一盏红绿灯。京州市的红绿灯是这样工作的:每盏红绿灯有红、黄、绿三盏灯和一个能够显示倒计时的显示牌。假设红绿灯被设定为红灯 r 秒,黄灯 y 秒,绿灯 g 秒,那么从 0 时刻起,[0,r) 秒内亮红灯,车辆不许通过;[r,r+g) 秒内亮绿灯,车辆允许通过;[r+g,r+g+y) 秒内亮黄灯,车辆不许通过,然后依次循环。倒计时的

2022-07-02 16:03:59 378

原创 Vj程序设计作业H9

化学方程式,也称为化学反应方程式,是用化学式表示化学反应的式子。给出一组化学方程式,请你编写程序判断每个方程式是否配平(也就是方程式中等号左右两边的元素种类和对应的原子个数是否相同)。本题给出的化学方程式由大小写字母、数字和符号(包括等号 、加号 、左圆括号 和右圆括号 )组成,不会出现其他字符(包括空白字符,如空格、制表符等)。化学方程式的格式与化学课本中的形式基本相同(化学式中表示元素原子个数的下标用正常文本,如 H2​O 写成 H2O),用自然语言描述如下:用巴科斯范式(Backus-Naur fo

2022-07-02 15:58:17 359

原创 Vj程序设计作业H8

现在有一个长度为 n 的字符串,都有小写字母组成。现在所有元音字母都可以看作相同的字符输出最长回文子串的长度一个与自身的逆序相同的字符串即为回文串比如 aba,aabbaa,asdffdsa 都为回文串第一行一个整数 n , 1≤n≤5000,表示字符串长度接下来一行表示字符串输出一行,一个数,代表答案样例输出样例解释所以元音都可以看作相同字符,所以回文串为 eioubaeio模测结束了,小 L 拿到了一些形如 的信息,现在小 L 想要输出一份成绩排名表,使得排名表满足得

2022-07-02 15:48:50 718

原创 Vj程序设计作业H7

  在一条街上有 n 个卖菜的商店,按 1 至 n 的顺序排成一排,这些商店都卖一种蔬菜。  第一天,每个商店都自己定了一个价格。店主们希望自己的菜价和其他商店的一致,第二天,每一家商店都会根据他自己和相邻商店的价格调整自己的价格。具体的,每家商店都会将第二天的菜价设置为自己和相邻商店第一天菜价的平均值(用去尾法取整)。  注意,编号为 1 的商店只有一个相邻的商店 2,编号为 n 的商店只有一个相邻的商店 n-1,其他编号为 i 的商店有两个相邻的商店 i-1 和 i+1。  给定第一天各个商店的菜

2022-07-02 15:43:13 1172

原创 Vj程序设计作业H6

现在有一个长度为 n 的字符串,都有小写字母组成。输出最长的连续元音的长度第一行一个整数 n , 0≤n≤106接下来一行表示字符串输出一行,一个数,代表答案样例输出解答 现在有一个长度为 n 的字符串,都有小写字母组成。现在要将所有相连的元音只保留第一个,并将其他元音删除输出删除完之后的字符串第一行一个整数 n , 0≤n≤106接下来一行表示字符串输出一行,一个字符出样例输出解答 你现在是城市的主人现在有 n 个村庄,要修建 m 条路,每修建

2022-06-30 01:52:13 794

原创 Vj程序设计作业H5

听说这片土地埋藏着什么秘密,来到这片土地的人不计其数,有人说这里财宝无数,也有人说这里是上古文明留下来的遗迹。小 L 收集情报和资料很久了,只身一人历经千辛万苦终于来到了这片地域的中心地带。突然,四周升起许多巨石,不出所料,面前的正是巨石迷阵。你面前有 n 块巨石排成一行,每个上面有一个大写字母。接下来有 m 个询问,每一个询问包含两个数字 l,r ,对于每个询问,你需要回答这个处于区间 [l,r] 的石块上的字母是否每一个英文字母都至少出现了一次。第一行一个整数 n , n≤5×105第二行,一个长度

2022-06-30 01:34:30 760

原创 Vj程序设计作业H4

有 n 段绳子,长短不一。现在要从中截出 k 段长度相同的绳子。当然,一段绳子可以截出来多段绳子。截出来的绳子最长是多少?第一行两个整数 n 和 k (1≤n,k≤105)接下来 n 行,每行有一个整数 ai​ (1≤ai​≤107),代表每根绳子的长度一个数,代表最长长度。相对误差或绝对误差不超过 10−6测试样例样例 1输入:4 11802743457539输出:200.5 解答有一份原稿,需要复印出 n 份复印件出来。有两台复印机,一台可以每 x 秒复印出一份,另一台可

2022-06-30 01:24:49 1329

原创 Vj程序设计作业H3

A : 游戏  有 n 个小朋友围成一圈玩游戏,小朋友从 1 至 n 编号,2 号小朋友坐在 1 号小朋友的顺时针方向,3 号小朋友坐在 2 号小朋友的顺时针方向,……,1 号小朋友坐在 n 号小朋友的顺时针方向。  游戏开始,从 1 号小朋友开始顺时针报数,接下来每个小朋友的报数是上一个小朋友报的数加 1。若一个小朋友报的数为 k 的倍数或其末位数(即数的个位)为 k,则该小朋友被淘汰出局,不再参加以后的报数。当游戏中只剩下一个小朋友时,该小朋友获胜。  例如,当 n=5, k=2 时:  1 号小

2022-06-30 01:17:35 1007

原创 Vj程序设计作业H2

A : 相邻数对给定 n 个不同的整数,问这些数中有多少对整数,它们的值正好相差 1。输入的第一行包含一个整数 n,表示给定整数的个数。第二行包含所给定的 n 个整数。输出一个整数,表示值正好相差 1 的数对的个数。样例输出样例说明值正好相差1的数对包括 (2,3),(6,7),(7,8)。1≤n≤1000,给定的整数为不超过 10000 的非负整数。B : 门禁系统涛涛最近要负责图书馆的管理工作,需要记录下每天读者的到访情况。每位读者有一个编号,每条记录用读者的编号来表示。给出

2022-06-30 01:09:57 548

原创 Vj数据结构实验十二

描述创建无向图类,存储结构使用邻接链表,提供操作:插入一条边,删除一条边,BFS,DFS。格式输入第一行四个整数n,m,s,t。n (10 \leq n \leq 10000010≤n≤100000) 代表图中点的个数,m (10 \leq m \leq 20000010≤m≤200000) 代表接下来共有m个操作,s代表起始点,t代表终点。接下来m行,每行代表一次插入或删除边的操作,操作格式为: 0 u v在点u和v之间增加一条边 1 u v删除点u和v之间的边 ..

2022-01-15 12:41:53 1204

原创 Vj数据结构实验十一

描述创建带索引的二叉搜索树类。存储结构使用链表,提供操作:插入、删除、按名次删除、查找、按名次查找、升序输出所有元素。格式输入格式输入第一行一个数字m (m<=1000000),表示有m个操作。接下来m行,每一行有两个数字a,b:当输入的第一个数字 a 为 0 时,输入的第二个数字 b 表示向搜索树中插入 b 当输入的第一个数字 a 为 1 时,输入的第二个数字 b 表示向搜索树中查找 b 当输入的第一个数字 a 为 2 时,输入的第二个数字 b 表示向搜索树中删除 b 当

2022-01-15 12:40:33 743

原创 Vj数据结构实验10(二)

格式输入一串小写字母组成的字符串(不超过1000000)。输出输出这个字符串通过Huffman编码后的长度。样哩输入abcdabcaba输出19限制1s, 1024KiB for each test case.提示样例中,‘a’ 出现了4次,‘b’ 出现了3次,‘c’ 出现了2次,‘d’ 出现了1次编码为: ‘a’ : 0 ‘b’ : 10 ‘c’ : 110 ‘d’ : 111#include <iostream>usi..

2022-01-15 12:38:35 820

原创 Vj数据结构实验10(一)

内容创建最小堆类。最小堆的存储结构使用数组。提供操作:插入、删除、初始化。题目第一个操作是建堆操作,接下来是对堆的插入和删除操作,插入和删除都在建好的堆上操作。格式输入第一行一个数n(n<=5000),代表堆的大小。第二行n个数,代表堆的各个元素。第三行一个数m (m<=1000),代表接下来共m个操作。接下来m行,分别代表各个操作。下面是各个操作的格式:插入操作:1 num 删除操作:2 排序操作:第一行两个数3和n,3代表是排序操作,n代表待排序的数的数目,接下..

2022-01-14 13:11:30 548

原创 Vj数据结构实验9(二)

描述接收二叉树前序序列和中序序列(各元素各不相同),输出该二叉树的后序序列。格式输入格式输入有三行:第一行为数字n。第二行有n个数字,表示二叉树的前序遍历。第三行有n个数字,表示二叉树的中序遍历。输出格式输出一行,表示该二叉树的后序遍历序列。样例输入51 2 4 5 34 2 5 1 3输出4 5 2 3 1#include <iostream>using namespace std;int a[100000], b[1000

2022-01-14 13:09:54 449

原创 Vj数据结构实验9(一)

描述创建二叉树类。二叉树的存储结构使用链表。提供操作:前序遍历、中序遍历、后序遍历、层次遍历、计算二叉树结点数目、计算二叉树高度。格式输入格式第一行为一个数字n (10<=n<=100000),表示有这棵树有n个节点,编号为1~n。之后n行每行两个数字,第 i 行的两个数字a、b表示编号为 i 的节点的左孩子节点为 a,右孩子节点为 b,-1表示该位置没有节点。保证数据有效,根节点为1。输出格式第一行,n个数字,表示该树的层次遍历。第二行,n个数字,第i个数字表示以

2022-01-14 13:08:56 605

原创 Vj数据结构实验8(二)

要求使用链表散列方式描述给定散列函数的除数D和操作数m,输出每次操作后的状态。有以下三种操作:插入x,若散列表已存在x,输出"Existed" 查询x,若散列表不含有x,输出"Not Found",否则输出x所在的链表长度 删除x,若散列表不含有x,输出"Delete Failed",否则输出x所在链表删除x后的长度格式输入格式第一行两个整数D(1<=D<=3000)和m(1<=m<=3000),其中D为散列函数的除数,m为操作数。接下来的m行,

2022-01-14 13:07:37 575

原创 Vj数据结构实验8(一)

要求使用线性开型寻址实现描述给定散列函数的除数D和操作数m,输出每次操作后的状态。有以下三种操作:插入x,若散列表已存在x,输出“Existed”,否则插入x到散列表中,输出所在的下标。 查询x,若散列表不含有x,输出“-1”,否则输出x对应下标。 删除x,若散列表不含有x,输出“Not Found”,否则输出删除x过程中移动元素的个数。格式输入格式第一行两个整数D,m。分别代表散列函数的除数D和操作数m。接下来m行,每行两个整数opt和x,分别代表操作类型和操作数。若o

2022-01-14 13:06:25 842

原创 Vj数据结构实验6

注意因为精度问题,请使用double存数据。要求创建栈类,采用数组描述; 计算数学表达式的值。 输入数学表达式,输出表达式的计算结果。数学表达式由单个数字和运算符+、-、*、/、(、)构成,例如2+3*(4+5)-6/4。假定表达式输入格式合法。格式输入第一行一个整数n(1<=n<=100),代表表达式的个数。接下来n行,每行一个表达式,保证表达式内的数字为单个整数,表达式内各运算符和数字间没有空格,且表达式的长度不超过2000。输出每行表达式输出一个浮点..

2022-01-14 13:04:32 482

原创 Vj数据结构实验5

注意数据类型请使用int,本题中所有运算的结果均视作对int型自然溢出 可以使用 vector 等 STL 中的容器保存稀疏矩阵元素,减少不必要的bug 各操作需在稀疏矩阵上进行,充分考虑数据的稀疏性,不得直接或间接转换为二维数组形式计算,否则取消成绩题目描述创建稀疏矩阵类(参照课本 MatrixTerm 三元组定义) ,采用行主顺序把稀疏矩阵非0元素映射到一维数组中,提供操作:两个稀疏矩阵相加、两个稀疏矩阵相乘、稀疏矩阵的转置、输出矩阵。 键盘输入矩阵的行数、列数;并按行优先顺序输...

2022-01-14 13:02:38 1152

原创 Vj数据结构3

要求不要使用STL 封装线性表类,提供插入,删除,查找等操作 线性表实现使用数组描述方法(顺序存储结构)描述设通讯录中每一个联系人的内容有:姓名、电话号码、班级、宿舍。由标准输入读入联系人信息,使用线性表中操作实现通讯录管理功能,包括:插入、删除、编辑、查找(按姓名查找);键盘输入一班级,输出通讯录中该班级中所有人的信息。格式每个操作的第一个数为操作数(插入-0,删除-1,编辑-2,查找-3,输出一个班所有人员信息-4),具体格式如下:0 姓名 电话 班级 宿舍插入一条记录 1.

2022-01-14 12:21:27 251

原创 Vj数据结构实验1(二)

题目描述现有一个有n 个元素的序列 a=[a1​,a2​,⋯,an​],定义其价值为 ∑i=1,n,​ai​⊕i给出这样一个序列,求其所有排列的价值vi​的或v1​∣v2​∣⋯∣vn−1​∣vn​其中|为位运算或操作,⊕为位运算异或操作题目格式输入输入的第一行是一个整数 n (2<=n<=10),表示需排列的数的个数。接下来一行是 n 个整数,数的范围是 0 到 100000,每两个相邻数据间用一个空格分隔。输出一个整数,代表所有排列价值的或。样例1...

2022-01-14 12:13:51 626 2

原创 Vj数据实验1(一)

题目描述现有一个有nn个元素的序列a=[a_1,a_2,\cdots, a_n]a=[a1​,a2​,⋯,an​],定义这个序列的价值为\sum_{i=1}^{n}i\times a_i∑i=1n​i×ai​。空序列的价值为00。先给你一个长度为nn的序列aa,求aa中所有子集价值的异或和,要求子集中元素的相对位置保持不变。异或和: 位运算的一种。如果a、b两个值不相同,则异或结果为11;如果a、b两个值相同,异或结果为00。输入输出格式输入第一行一个整数nn接下来一行有n个非负

2022-01-14 12:02:45 506 2

原创 Vj实验七队列的使用

A: 卡片游戏要求创建队列类,使用数组描述的循环队列 实现卡片游戏描述假设桌上有一叠扑克牌,依次编号为1-n(从上至下)。当至少还有两张的时候,可以进行操作:把第一张牌扔掉,然后把新的第一张(原先扔掉的牌下方的那张牌,即第二张牌)放到整叠牌的最后。输入n,输出最后剩下的牌。格式输入一个整数n,代表一开始卡片的总数。输出最后一张卡片的值。样例输入100输出72以0代替n,实现要求(因为用0代替n并不会对实验进行影响)#include &..

2021-10-31 10:20:08 2085

原创 Vj数据结构实验4链式描述线性表(二)

要求使用题目链表实现中实现的链表类、迭代器类完成本题 不得使用与题目实现相关的STL描述给定两组整数序列,你需要分别创建两个有序链表,使用链表迭代器实现链表的合并,并分别输出这三个有序链表的索引与元素的异或和。Note: 给定序列是无序的,你需要首先得到一个有序的链表格式输入第一行两个整数 N 和 M。第二行 N 个整数,代表第一组整数序列。第三行 M 个整数,代表第二组整数序列。输出三行整数。分别代表第一组数、第二组数对应的有序链表与合并后有序链表的索引与元..

2021-10-30 12:15:54 498

原创 Vj实验四链表描述线性表一

A要求:封装链表类,链表迭代器类 链表类需提供操作:在指定位置插入元素,删除指定元素,搜索链表中是否有指定元素,原地逆置链表,输出链表 不得使用与链表实现相关的STL描述:第一行两个整数 N 和 Q。第二行 N 个整数,作为节点的元素值,创建链表。接下来 Q 行,执行各个操作,具体格式如下:插入操作:1 idx val,在链表的idx位置插入元素val; 删除操作:2 val,删除链表中的val元素。若链表中存在多个该元素,仅删除第一个。若该元素不存在,输出-...

2021-10-27 10:01:49 670

原创 Vj排序算法综合实验

要求不得使用与实验相关的STL 需使用类模版(template<class T>) 需定义排序类,封装各排序方法 排序数据需使用动态数组存储 排序类需提供以下操作:名次排序、及时终止的选择排序、及时终止的冒泡排序、插入排序描述用任意一种排序方式给出n个整数按升序排序后的结果格式输入:输入的第一行是一个整数 n(1<=n<=1000),表示需排序的数的个数。接下来一行是 n 个整数,数的范围是 0 到 1000,每两个相邻数据间用一个空格分隔。输出:

2021-10-23 15:40:46 228

空空如也

空空如也

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

TA关注的人

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