自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 消除游戏(寒假每日一题+模拟、优化)

从题目中可以清楚的看出,如果我们使用暴力做法的话会TLE,如果每一次只删除一个字符,那么时间复杂度:n、n-1、n-2、n-3……在一个字符串 S 中,如果 Si=Si−1 且 Si≠Si+1,则称 Si和 Si+1 为边缘字符。对于一个给定的串 S,一次操作可以一次性删除该串中的所有边缘字符(操作后可能产生新的边缘字符)。如果 Si≠Si−1 且 Si=Si+1,则 Si−1 和 Si 也称为边缘字符。对于 25% 的评测用例,|S|≤10^3,其中 |S|表示 S 的长度;其它的字符都不是边缘字符。

2024-01-19 23:39:13 426

原创 三国游戏(寒假每日一题+贪心、枚举)

该题目,主要看你是否能够理解题目,我们可以这样想,因为没有规定是必须哪个国家胜利,所以每个国家都可能胜利,故要枚举每个国家胜利的情形,将胜利的场次统计,最终选择其中的最大值。游戏有 n 个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i个事件发生时会分别让 X,Y,Z 增加 Ai,Bi,Ci。注意,蓝桥杯官方给出的关于 Ai,Bi,Ci 的数据范围是 1≤Ai,Bi,Ci≤10^9,但是这与给出的输入样例相矛盾,因此予以纠正。例如,当 X>Y+Z时,我们认为魏国获胜。小蓝正在玩一款游戏。

2024-01-19 23:11:05 591

原创 邻值查找(链表、set、map)

2、能够查询小于x的最大的数(lower_bound():能够查询大于等于x的最小的数)——使用lower_bound()函数查找到它自己,在进行‘--’操作就可以得到小于x的最大的数,当然,也可以使用find(),进行同样操作,也可以得到想要的结果;这个题目,如果看起来是比较简单的,但是,如果你使用暴力枚举的话,会TLE(超时),我们看一下,如果使用暴力枚举的话,它的时间复杂度为O(n^2),即两重for循环;1、能够查询大于x的最小的数(upper_bound():能够查询大于x的最小的数)

2024-01-18 23:29:22 1356

原创 仓库规划(寒假每日一题+枚举)

我们可以对其进行遍历,将仓库1与其他仓库进行比较,之后在将仓库1中的位置编码与其他仓库进行一一比较。如果有多个仓库均满足该要求,则选取其中编号最小的仓库作为仓库 i 的上级仓库;现给定 n个仓库的位置编码,试计算每个仓库的上级仓库编号。对于仓库2:(−1,−1) 来说,仓库1:(0,0) 和仓库3:(1,2) 均满足上级仓库的编码要求,因此选择编号较小的仓库 1 作为其上级。比如编码为 (1,1,1) 的仓库可以成为 (0,0,0)的上级,但不能成为 (0,1,0) 的上级。仓库 i 位置编码的对应元素。

2024-01-18 22:46:25 408

原创 翻转(寒假每日一题+思维训练)

小蓝决定,如果在 S中发现一个棋子和它两边的棋子都不一样,就可以将其翻转变成另一个颜色。根据题目给出的规则和例子,我们可以轻易推出,改变数字中的一位数不会对另一位造成影响,因此我们只要从左到右或者从右向左遍历一遍,将s中与t中的不同修改,如果发现不能修改便返回-1。后面 2D 行每行包含一个 01 串,每两行为一组数据,第 2i−1 行为第 i 组数据的 Ti,第 2i 行为第 i 组数据的 Si,Si 和 Ti 长度均为 ni。对于每组数据,输出一行包含一个整数,表示答案,如果答案不存在请输出。

2024-01-17 23:17:42 484

原创 java基本语法(内涵与C++的不同)

1、next()只接受有效字符串,当有效字符前有无效字符(tab、blank、enter)会直到接收到有效字符,之后遇到无效字符会结束。3、java中int类型没有boolean的属性,c++中数字0表示false,其他表示true等。当然,在申明变量时,如:int a=1,b=2,c=10;2、nextLine()接受一行字符串,当遇到enter时,会结束。在介绍java中,我会去书写一些java语言与C++的不同点。注意:int a=3.14*5,在java中会报错,在c++中会得到15的结果。

2024-01-17 22:50:59 358

原创 棋盘(寒假每日一题+二维差分)

接下来 m� 行每行包含四个整数 x1,y1,x2,y2�1,�1,�2,�2,相邻整数之间使用一个空格分隔,表示将在 x1�1 至 x2�2 行和 y1�1 至 y2�2 列中的棋子颜色取反。注意:当我们求他的前缀和的时候,会出现大于2或者是小于0的一些数,只要这输出结果的时候&1便可,我们可以将其看成奇数和偶数的情况,2&1=0、1&1=1、-1%1=1……对于所有评测用例,1≤n,m≤20001≤�,�≤2000,1≤x1≤x2≤n1≤�1≤�2≤�,1≤y1≤y2≤n1≤�1≤�2≤�。

2024-01-16 22:42:12 582 1

原创 保险箱(寒假每日一题+DP)

我们可以从样例入手,要想将a->b可以对其每个数字进行操作,当每个数字都相等的时候,就达到了目的——a==b;由于我们低位会向高位进位或者借位,这样当我们从左向右进行每个数处理的时候,会被进位所干扰,所以从右向左是解决这道题目的关键。当我们低位已经操作好之后,然后对高位进行操作,无论我们怎么对高位操作是不会影响已经操作好的低位,这样就确保了子问题不会对父问题产生影响,使用dp是较好的选择。对于所有评测用例,1≤n≤10^5,x,y 中仅包含数字 0 至 9,可能有前导零。输入的第一行包含一个整数 n。

2024-01-16 22:30:38 550 1

原创 玩具蛇(dfs深搜)

将每一种方案加起来便可以得到最终答案,利用dfs的特性(找到一种方案),不断枚举第一个节点(即从哪里开始),将这些方案加在一起,便可以得到最终答案。小蓝有一条玩具蛇,一共有 16 节,上面标着数字 1至 16。请帮小蓝计算一下,总共有多少种不同的方案。如果两个方案中,存在玩具蛇的某一节放在了盒子的不同格子里,则认为是不同的方案。小蓝还有一个 4×4的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字母 A 到 P 共 16个字母。小蓝可以折叠自己的玩具蛇放到盒子里面。他发现,有很多种方案可以将玩具蛇放进去。

2024-01-13 23:28:02 560 1

原创 蛇形矩阵(java基础版)

该题目较为简单,只要将数字按照它要求的方式进行填入即可,则可以转化为在数组中进行填写数字,填写规则:先向右,当不能在向右填数字时,在向下填数字,当不能在向下填数字时,之后在向左填写数字,当不能在向左填数字时,在向上填写数字,当不能在向上填数字时,在向右填写数字……,如此不断循环,直到数字值k=a*b截至。输入两个整数 n 和 m,输出一个 n行 m列的矩阵,将数字 11 到 n×m 按照回字蛇形填充至矩阵中。矩阵占 n 行,每行包含 m 个空格隔开的整数。输入共一行,包含两个整数 n 和 m。

2024-01-13 22:58:26 482 1

原创 互质数的个数(寒假每日一题+欧拉和快速幂)

因为a^b太大,我们可以转化为a*a^(b-1),这样我们便可以先求出f(a),f(a^b)=a^(b-1)*f(a)更加题目要求,我们需要mod一个数,那么求a^(b-1)%MOD便可以使用快速幂,在logb-1的时间复杂度下求出。这样欧拉函数:f(x)=x*(1-1/q1)*(1-1/q2)*(1-1/q3)....,给定 a,b,求 1≤x

2024-01-12 22:34:36 857 1

原创 松散子序列(寒假每日一题+DP)

给定一个仅含小写字母的字符串 s,假设 s 的一个子序列 t 的第 i 个字符对应了原字符串中的第 p(i) 个字符。我们定义 s 的一个松散子序列为:对于 i>1 总是有 p(i)−p(i−1)≥2。设一个子序列的价值为其包含的每个字符的价值之和(a∼z分别为 1∼26)。对于所有评测用例,1≤|s|≤10^6,字符串中仅包含小写字母。对于 70%70% 的评测用例,|s|≤5000;对于 40%40% 的评测用例,|s|≤300;对于 20%20% 的评测用例,|s|≤10;

2024-01-12 22:11:30 1085 1

原创 平均(寒假每日一题+贪心)

从题目要求可以看出,数字只有0~9,要将其数组中的数字个数平均分配,比如有10个数,那么数组中0只能有一个,如果多出来了那么将多出来的0转换为其他缺少的数字,我们可以从图中看出,因为0转换为任意数字的花费是相同的且花费都是>0的,那么我们只要将所有数量大于平均数的数,将其花费排序,并取前(总数量-平均数量)的花费,便可以求出答案。只更改第 1,2,4,5,7,81,2,4,5,7,8 个数,需要花费代价 1+2+4+5+7+8=271+2+4+5+7+8=27。输入的第一行包含一个正整数 n。

2024-01-10 22:42:27 390

原创 蜗牛(寒假每日一题+dp)

为了快速到达目的地,它施展了魔法,在第 i和 i+1 根竹竿之间建立了传送门(0

2024-01-08 22:33:01 482 1

原创 求最大和次大值

(3)当n>1时,若arr[i]>max1时,即:找最大值,max2=max1(记录max1与较大值的置换前的数),max1=arr[i];(3)若left==right-1时,即:只有两个元素,max1=max(arr[0],arr[1]),max2=min(arr[0],arr[1]。若lmax1rmax1时,max1=lmax1,max2=max(lmax2,rmax1);

2023-12-21 23:44:20 455 1

原创 汉诺塔问题(递归算法)

我们可以将其划分为大小问题的方法,即:先将A中n-1个盘子通过C柱子移动到B柱,之后将第n个盘子移到C柱上,最后将B柱上的n-1个盘子通过A柱移到C柱上。这样便可以解决问题。有三个柱子分别是A、B、C,其中A柱子上有若干盘子,要将盘子从A柱上移动到C柱上,注意A柱子上的盘子是从大到小(从下到上)排列,大盘子不能放在小盘子上,不然会碎掉。样例一:输入3(表示3个碟子)样例二:输入4(表示4个碟子)

2023-12-20 22:31:46 362 1

原创 java EE纯注解SSM框架整合

根据图书的id在数据库中查询图书,使用三层架构去书写spring-mvc、spring、mybatis的纯注解的整合。

2023-12-13 16:06:44 99 1

原创 单源最短路径问题

给定一个带权有向图G=(V,E),其中每条边的权是非负数。给定V中的一个顶点a,成为源。现在要计算从源到所有其他个顶点的最短路径长度,这里路径长度指的是各边权之和。这个问题通常被称作单源最短路径问题。如下图所示,每一边都有一非负权值。求图G中从源点a到t的最短路径。因为是求单源问题,可以使用四种方法进行求解。算法的基本思路:分支界限法主要思想在于,将一个问题分成树状,每次选择最优的一个枝叶。比如单源问题便是每次选择最短路径作为基点去不断更新其他路径。如何书写代码:朴素版的Dijkstra

2023-12-11 22:30:54 665 1

原创 javascript 创建对象的三种方法

2.使用关键字来创建对象——new Object()3.使用构造函数去创建对象。

2023-04-30 16:29:15 731

原创 javascript 函数的调用,快排、归并、冒泡、选择

1.使用关键词(function)进行调用。2.创建匿名函数,此方法有点像变量的声明。以下是几种排序,如快排、归并、冒泡、选择。

2023-04-29 17:14:43 69

原创 最优布线问题

当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。输入文件wire.in,第一行为整数n(2

2022-11-20 16:01:00 158

原创 4005: Legal or Not

每天,许多“圣牛”如HH,HH,AC,ZT,LCC,BF,Qinz等在线聊天交流。瞬间拿HH和3xian来说,HH是3xian的主人,同时3xian是HH的主人,这是相当违法的!请注意,“师徒”关系是可传递的。这意味着如果A是B的主人,B是C的主人,那么A就是C的主人。对于每种情况,第一行包含两个整数,N(要测试的成员)和 M(要测试的关系)(2

2022-11-20 15:48:18 120

原创 砍树oj——dfs算法

如果删除树上某一个顶点,整棵树就会分割成若干个部分。第1行:1个整数N,表示顶点数。接下来n-1行每行两个整数x,y,表示x到y有一条边。若干行,每行1个整数,表示一个符合条件的顶点的编号。如果没有顶点符合条件,则仅在第1行输出“NONE”。现在问:删除哪个点,使得分割开的每个连通子图中点的数量不超过N/2?如果有很多这样的点,就按升序输出。例如,如下图所示的树形图,砍掉顶点3或者顶点8,分割开的各部分满足条件。对于100%的数据,满足1≤N≤1000000。对于50%的数据,满足1≤N≤10000。

2022-11-20 14:34:41 226

原创 最爱城市oj

一天小明捧着一本世界地图在看,突然小明拿起笔,将他最爱的那些城市标记出来,并且随机的将这些城市中的某些用线段两两连接起来。每组输入第一行为两个正整数n(n

2022-11-19 22:35:52 194 1

空空如也

空空如也

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

TA关注的人

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