自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(195)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 java400行能干啥?不如写个飞翔小鸟游戏吧

飞翔小鸟游戏效果图如下github地址https://github.com/ORikkaO/BirdGame属性关系#mermaid-svg-v9hxXTOJQ8icH9LC .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-v9hxXTOJQ8icH9LC .label text{fill:#333}#

2021-06-15 13:59:20 31726 50

原创 线段树--概念+模板+入门题

引子子问题–1给出n个数,m次问询,每次问询给出一个范围l、r,求区间l–r的总和很容易想到用前缀和可以解决 O(n)子问题–2给出n个数,m次修改,每次给出一个范围l、r和一个值k,将区间l—r的数全部+k,m次修改后,再问询1次求区间l–r的总和也可以想到这用差分就能解决 O(n)最后将这两个问题结合起来,给出n个数,m次操作,操作有两种一个是将区间l–r的值+k,一个是询问区间l–r的总和。这个问题与之前不同的地方是,之前想要求一个范围只需处理一次数据算前缀和,然后数据不变,可以一

2021-03-10 15:06:09 1755 3

原创 图的应用

题目:图在社交网络上的应用[问题描述]设计并实现一个社交网络模型图,并实现相关图的算法。要求:(1)每个人的信息是一个顶点,A关注了B,则构成A到B的边。请随机生成不少于50个点,和不少于500条边,边有方向,带权重(0-1之间),权重可以认为是两个人的亲密度,可随机生成。(2)根据输入的任意两个人的信息,可以查询打印他们之间的所有可能的路径。(3)实现图的深度优先遍历和广度优先遍历算法,打印图中所有点。(4)求图的所有强连通分量。(5)在最大的强连通分量上用prim和chruscal算法求

2020-12-11 18:00:54 1887 1

原创 查找算法的实现及性能测试与比较

查找算法的实现及性能测试与比较问题描述在顺序线性表中存放n个整数,n的值由用户输入确定,线性表可以是有序表或无序表。比较各查找算法在不同情况下的时间性能。各查找算法的实测时间性能包括两个指标:算法执行的绝对时间和关键字的平均比较次数。各查找算法要求评测查找成功与不成功的两种情形。为了能比较出各种查找算法执行的绝对时间,需要对表中的数据进行较大量的查找,设为m次,m的值也由用户输入确定。当输入m为1000000时,则对线性表作1000000次查找。(1)比较在有序表和无序表中进行顺序查找时,查找成

2020-11-23 21:47:19 1508 2

原创 二叉树及二叉排序树的实现及其相关操作

问题描述及要求产生一个菜单驱动的演示程序,用以说明二叉树的使用。元素由单个键组成,键为单个字符。用户能演示的二叉树基本操作至少包括:构造二叉树,按先序、中序、后序、层序遍历这棵二叉树,求二叉树的深度、宽度,统计度为0,1,2的结点数等。二叉树采用链式存储结构。对二叉查找树做上述工作,且增加以下操作:插入、删除给定键的元素、查找目标键。由于没使用类模板,请使用二叉树演示时此处为char而使用二叉排序树时将char 改为int。Code#include<iostream>#include

2020-11-11 18:31:30 2051

原创 回溯算法——八皇后问题

八皇后问题(链接)努比亚和苏丹没有子女,所以他要从一些有集成资格的继承者中挑选一个出来继承王位。他希望这个继承者足够聪明,所以他准备了一个西洋棋盘,上面的每个格子中均有一个 1−991-991−99 的数字。他又准备了 888 个皇后棋子。888 皇后的规则就是不能有任何棋子同行或者同列或者同斜线,在满足这个规则的同时,王位继承者还需要让 888 个皇后所在的位置的数字的和是最大的。输入格式输入一个数字 k(k≤20)k(k\leq 20)k(k≤20),代表棋盘的数量。接下来有 kkk 个棋盘,

2020-07-14 00:59:39 407

原创 信息检索系统——VSM算法实现

匹配文档样例查询样例匹配结果样例python–源码如下import mathfrom tqdm import tqdmdf_dict={}global docs_num #一个全局变量,保留全部文档数docs_num=0def doc_pl(doc): #求出文档中的词频数,及总词数,用于tf-idf的计算 word_list=doc.split() num=0 word_pl={} for word in word_list[1:

2020-07-05 00:55:32 4518 3

原创 电子宠物游戏(附C++源码)

电子宠物游戏设计一款文字式交互电子宠物游戏,该游戏要求具备如下要素:一、玩家(Player),玩家具备如下要素:体力:体力是玩家行动的关键要素,玩家最高拥有100点体力值,每种不同行动都会消耗体力,一旦体力归0,玩家只能选择休息恢复体力。金钱:金钱是购买宠物道具的要素,金钱可以通过打工获取。行动:玩家可以在一个时间点选择一个行动,每种行动均会获取一定内容并且消耗当前时间:1)打工,打工会消耗玩家体力,收获金钱,消耗时间。家教,消耗2个时间,获...

2020-07-05 00:12:03 4592 2

原创 C循环链表解决约瑟夫斯问题

循环链表解决约瑟夫斯问题问题描述:设有n个人围坐成一个圆圈,按一定指向方向,从第s个人开始报数,数到m的人出列,然后从下一个人重新报数,数到m的人又出列,…,直到n个人全部出列为止。输入:n m s,按次序输出得到的n个人的顺序表。#include<iostream>using namespace std;typedef int datetype;typedef struct node//构建链表节点 { datetype data; struct node* next;}

2020-05-09 10:41:36 391

原创 二叉树顺序存储、链式存储及之间转化与遍历。

二叉树顺序存储转化为链式存储二叉树的存储可用顺序存储方式和链式存储方式,其中顺序存储时存储地址相邻,空间利用率高,但不易进行元素的增删等操作。而链式存储方式的元素可随意存放,但其存储空间所占为数据元素和指针所占空间,存储空间利用率低。数据图如下完整程序–转化算法如下#include<iostream>typedef char datatype;//将队列的节点类型设置为字符...

2020-04-28 16:31:19 4207

原创 VS2019创建解决方案含义及其相关文件解读

创建解决方案编译的含义编译通俗来说就是把高级语言转化为可被机器识别的二进制语言。在VS中如c++,c#等高级语言转化为MSIL汇编代码,编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析来检查语法和语义错误。但编译产生的这些这些二进制代码并不能直接运行,他们保存在debug或release...

2020-04-22 22:16:01 6800

原创 D. Remove Two Letters (思维)

贪心思维题

2023-03-03 15:28:52 530 1

原创 Please master your time

管理时间心得

2022-08-03 13:40:42 332

原创 CCSP子图计数

思路: 直接暴力枚举,可以拿到80分。枚举出四个点的所有组合,检查是否满足条件(四个点为CCSP集合)。如果满足再根据入度算出其贡献,该4个点的贡献=入度为三的点个数*(4个点之间的边数-3),所有4个点的组合加起来的贡献即为答案。至于贡献为啥这样算,拿出笔来再纸上比划两下很容易看出的。Code:#include<iostream>#include<map>using namespace std;string str;int tu[105][105];map&.

2021-12-13 01:34:16 837 1

转载 maven 概念与使用(超详细)

声明:尚硅谷杜老师的笔记,转载以作收藏。B站课程链接:https://www.bilibili.com/video/BV1x5411P7HhMaven 自动化的构建工具第一章 Maven简介1.1 软件开发中的阶段需要分析: 分析项目具体完成的功能,有什么要求, 具体怎么实现。设计阶段:根据分析的结果, 设计项目的使用什么技术, 解决难点。开发阶段:编码实现功能。 编译代码。自我测试测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试报告。项目的打包,发布阶段: 给用户安

2021-09-12 23:42:19 213

原创 idea选择jdk显示 the selected directory is not a valid home for jdk问题

****今天在idea2017导入jdk时出了问题,显示the selected directory is not a valid home for jdk。之后用idea2021版又可以成功导入,发现其实是idea2017版不支持jdk8以上的版本。2021版导入成功

2021-08-10 11:31:45 686

原创 Tomcat启动失败的常见问题

如果发现启动Tomcat一闪就消失1.jdk环境的JAVA_HOME还没配置。JAVA环境变量配置教程2.jdk版本与Tomcat版本不匹配。404问题(资源找不到)1.查看端口号是否输入正确。如果是放在webapp下的项目,去tomcat下的 conf目录的server.xml配置文件中查看connector port 标签查看对应端口号,下面的是8080。2.检查资源是否存在,有的人可能html名字打错一个字母,如jjkl.html打成jjll.html,自然会报404不存在的错误…还有可

2021-08-06 00:30:55 239 1

原创 关于IDEA新版本没有static web创建选项

其实只是整合到其它地方去了原先2017版的web staticIDEA2020版本在JavaScrip那IDEA2021版本在web那其实细看会发现创建web static项目的描述都是一致的——Empty project for developing apps using JavaScript, HTML, CSS, and Node.js....

2021-08-06 00:15:23 4493 6

原创 codeforces 1555 B. Two Tables (思维)

题目思路:首先斜着移动耗费的距离肯定高于左右或上下移动,所以只需考虑左右上下移动的情况,可以放入我主要分成了三种情况:空余的空间能够直接放进去,无需移动。两个矩形可以横着并排放置时,求出往左右的最小移动距离。两个矩形可以竖着并排放置时,求助上下移动的最小距离。其余情况为不能同时放入。求出最小移动距离的细节见代码(有详细注释)Code#include<iostream>#include<math.h>using namespace std;

2021-07-31 01:27:41 314

原创 codeforces 1555 C. Coin Rows (暴力+前缀和)

题目思路:主要注意看一个条件只有两行,且只能向右或向下走,那Alice只有N种移动情况,从第一列就开始下移再往右,先右行至第二列再下移往右,先行至第三列再下移…而对于每种情况Bob实际上只会从两种情况选一种最大的,一种是只取第一行中Alice没走过的,一种是第二行中Alice没走过的,看下面例子Alice是蓝色线,Bob贪心之下选的是Max(6,5+2)=7。最后的答案只要把Alice的所有情况都遍历一遍,取所有情况的最小即可(注意用前缀和优化),细节看代码。#include<iostream

2021-07-31 00:58:59 368

原创 给秋招加点料——Hot15道高频算法面试题!

目录1.链表篇反转链表判断链表中是否有环合并有序链表2.动态规划篇跳台阶子数组的最大累加和求路径最长公共子串3.树篇两个节点最近公共祖先实现二叉树先中后序排列二叉树之字形遍历4.二分篇求平方根5.其他岛屿数量最长无重复子串括号生成有重复数字的所有排列1.链表篇反转链表难度:easy考察次数:189传送门题目描述输入一个链表,反转链表后,输出新链表的表头。思路:创建三个指针,一个表示前一个结点pre,一个表示当前节点cur,一个表示后一个节点next。循环next=cur->next,c

2021-06-25 16:02:35 946 11

原创 蓝桥杯国赛——路径(最短路)

思路很明显的最短路,建完图后,直接跑dijkstra即可,细节见代码。答案:10266837Code#include<iostream>#include<queue>#include<memory.h>using namespace std;typedef long long ll;const int Max = 1e6 + 5;int u[Max], v[Max], w[Max];int g = 0, first[Max], nex[Max].

2021-06-03 23:20:55 1825 2

原创 蓝桥杯国赛——质数拆分(01背包)

题目描述2019可以被分解成若干个两两不同的素数,请问不同的分解方案有多少种?注意:分解方案不考虑顺序,如 2 + 2017 = 2019 和 2017 + 2 = 2019 属于同一种方案。答案:55965365465060思路先用筛法求出质数数组,然后将本题转化成01背包来解,每个质数只可用一次,看其组合相加最终能产生多少个2019。Code:#include <iostream>#include<map>using namespace std;typedef

2021-06-03 19:47:32 769 3

原创 蓝桥杯国赛--游园安排

问题描述L 星球游乐园非常有趣,吸引着各个星球的游客前来游玩。小蓝是 L 星球游乐园的管理员,为了更好的管理游乐园,游乐园要求所有的游客提前预约,小蓝能看到系统上所有预约游客的名字。每个游客的名字由一个大写英文字母开始,后面跟 0 0 0 个或多个小写英文字母,游客可能重名。小蓝特别喜欢递增的事物。今天,他决定在所有预约的游客中,选择一部分游客在上午游玩,其他的游客都在下午游玩,在上午游玩的游客要求按照预约的顺序排列后,名字是单调递增的,即排在前面的名字严格小于排在后面的名字。一个名字 A A

2021-06-02 21:19:30 327 1

原创 蓝桥杯国赛---平方拆分(dfs)

问题描述将 2019 拆分为若干个两两不同的完全平方数之和,一共有多少种不同的方法?注意交换顺序视为同一种方法,例如 132 + 252 + 352 = 2019 与 132 + 352 +252 = 2019 视为同一种方法。思路暴力dfs,运用递增保证不重复。#include <iostream>using namespace std;typedef long long ll;ll num=0;void dfs(int n, int begin){ if (n &l

2021-05-31 23:38:00 637

原创 蓝桥杯国赛---质数行者(3维dp)

【问题描述】小蓝在玩一个叫质数行者的游戏。游戏在一个 n×m×w 的立体方格图上进行,从北到南依次标号为第 1 行到第 n 行,从西到东依次标号为第 1 列到第 m 列,从下到上依次标号为第 1 层到第 w 层。小蓝要控制自己的角色从第 1 行第 1 列第 1 层移动到第 n 行第 m 列第 w层。每一步,他可以向东走质数格、向南走质数格或者向上走质数格。每走到一个位置,小蓝的角色要稍作停留。在游戏中有两个陷阱,分别为第 r 1 行第 c 1 列第 h 1 层和第 r 2 行第 c 2 列第h2

2021-05-31 22:27:12 1920 5

原创 第十一届蓝桥杯(国赛)——阶乘约数

问题描述定义阶乘 n! = 1 × 2 × 3 × ··· × n。请问 100! (100 的阶乘)有多少个约数。答案提交这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。思路质因数分解,每个数可以分成有限个质数相乘,X = p1^α1 ∗ p2^α2 …… ∗ pk^αk。那么求X=1!*2! *…*100!,的约数先将X分解成质数相乘,而它的每一个约数的构成则为-----从每个质数次方选一种可能最低为0次方,最

2021-05-31 17:58:15 287

原创 蓝桥杯十一届国赛--扩散(枚举、暴力)

一般首先想到的解法应该是bfs,但其实不必这么麻烦。想一下扩散一步其实就是移动距离1,那么扩散10步最远能到的就是离扩散点相距10的点,想通了这里就可以直接暴力了。枚举可能扩散到的点的坐标(图方便x,y取了-10000–10000,绝对够了),看离4个最初扩散点的距离是否小于2020。Code#include <iostream>using namespace std;int main(){ int sum=0; for(int i=-10000;i<=1000

2021-05-30 18:08:39 430 1

原创 java事务实例--处理按钮点击事件

AWT事件处理机制概要(来自白书):1.事件监听器是一个实现了监听器接口的类实例。2.事件源对象能够注册监听器并向其发送事件对象。3.当事件发生时事件源将事件对象发送给所有注册的监听器。4.监听器对象再使用事件对象中的信息决定如何对事件做出响应。现在来看一个具体案例,当用户点击按钮,JButton对象创建一个ActionEvent对象,再调用Listener.actionPerformed(event)。简单来说就是: 点即按钮->调用该按钮所有监听器的actionPerformed方法。

2021-05-25 19:08:43 2292 1

原创 蓝桥国赛--本质上升序列(dp)

【问题描述】小蓝特别喜欢单调递增的事物。在一个字符串中,如果取出若干个字符,将这些字符按照在字符串中的顺序排列后是单调递增的,则成为这个字符串中的一个单调递增子序列。例如,在字符串 lanqiao 中,如果取出字符 n 和 q,则 nq 组成一个单调递增子序列。类似的单调递增子序列还有 lnq、i、ano 等等。小蓝发现,有些子序列虽然位置不同,但是字符序列是一样的,例如取第二个字符和最后一个字符可以取到 ao,取最后两个字符也可以取到 ao。小蓝认为他们并没有本质不同。对于一个字符串,小蓝想知道

2021-05-25 13:19:05 186 1

原创 蓝桥国赛--玩具蛇(回溯)

思路数据并不大,直接暴力dfs回溯就行,用一个标记数组b来表示哪个格子没被走,这个蛇得90°转向和向前就是说不能走已经走过的地方,细节见代码。Code#include<iostream>using namespace std;typedef long long ll;const int Max = 1e6 + 5;int b[100][100];int dp[100][100];int sec[8][2] = { {1,0},{-1,0},{0,1},{0,-1} };.

2021-05-25 12:58:53 168

原创 蓝桥杯--砝码称重(dp)

砝码称重题目评测你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 N。第二行包含 N个整数:W1,W2,W3,⋅⋅⋅,WN输出格式输出一个整数代表答案。数据范围对于 50%的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过 1e5。思路很容易想到是dp,但需要注意的是对于负数的称重如何处理。dp[i][j]代表

2021-05-25 12:54:30 10049 5

原创 如何简化System.out.println

自从C++转到java就感觉输出语句很长,下文提供一个化简的方法运用import 语句导入静态方法或字段import static java.lang.System.*;然后就可以化简为 out.println(“jjkl”)等导入import java.lang.Math;相关静态方法可化简为 abs(-2)...

2021-05-11 18:57:38 363

原创 java异常类案例

package jjkl;import java.util.Scanner;public class jjll { public int add(int a,int b) { int sum=a+b; return sum; } public static void test() throws Throwable//throws用于将异常向上一级抛出解决 { int age=Integer.parseInt("-24"); if(age<0) { throw

2021-05-06 23:01:13 159

原创 调试一段for循环的C++语言程序,分析编译产生的汇编代码

2021-05-06 00:48:04 155

原创 kruskal板子

#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const int Max = 1e6 + 5;struct node{ int u, v, w; node(int a=0, int b=0, int c=0) { u = a, v = b, w = c; } bool operator <(node& a) { return w

2021-04-27 18:51:59 1713

原创 dijkstra板子

#include<iostream>#include<queue>#include<memory.h>using namespace std;typedef long long ll;const int Max = 1e6 + 5;struct node{ int n, v;//n结点编号 v到节点的距离 node(int a, int b) { n = a, v = b; } bool operator <( const node&am

2021-04-27 18:34:00 134

原创 天梯赛--6翻了(字符串处理)

天梯—6翻了“666”是一种网络用语,大概是表示某人很厉害、我们很佩服的意思。最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思。如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字“27”,因为这是 3 个 “9”!本题就请你编写程序,将那些过时的、只会用一连串“6666……6”表达仰慕的句子,翻译成最新的高级表达。输入格式:输入在一行中给出一句话,即一个非空字符串,由不超过 1000 个英文字母、数字和空格组成,以回车结束。输出格式:从左到右扫描输入的句子:如果

2021-04-24 00:43:19 284

原创 天梯赛 整除光棍 (math)

天梯赛L1-046 整除光棍 这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。提示:一个显然的办法是逐渐增加光棍的位数,直到可以整除x为止。但难点在于,

2021-04-18 18:16:00 191

原创 蓝桥杯 跑步锻炼

思路模拟即可Code#include <iostream>using namespace std;int main(){ int ans=0,sum=5; for(int i=2000;i<=2020;i++) { for(int j=1;j<=12;j++) { if(i==2020&&j>=11)break; for(int k=1;k.

2021-04-17 23:54:04 127

in.txt,题目所读数据文档

题目所读数据文档

2020-06-01

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

TA关注的人

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