- 博客(39)
- 收藏
- 关注
原创 hh蓝桥杯一题--青蛙跳杯子
这个题目最后是抽象为bfs算法去解决的,一开始我怎么都没想到为什么会用bfs,后来看到他们的讲解才明白可以用bfs解决。BFS:队列 + 状态记录 + 合法性检查。接下来就是代码实现了(典型的bfs模板)图论问题:找从起点到终点的最短路径。:从一个状态到另一个状态的操作。"状态" = 杯子排列。"移动" = 合法交换。:问题的某个特定情况。:所有可能状态的集合。
2025-12-29 22:03:17
117
原创 h的练习--二分
如果 x1 < x2,那么 f(x1) ≥ f(x2) (边长越大,块数越少)上界 r = max(H_i, W_i) 的最大值,这里可以直接取1e5。- 如果 d 较小:容易实现(需要移走的岩石较少)- 如果 x 较小:难以分成 M 段(需要更多段),使得能把数列分成 M 段,且每段的和都不超过。我们要找最大的 d,使得移走的岩石数 ≤ M。我们要找最大的 x,使得 f(x) ≥ K。我们需要把数列分成 M 段连续的子段,使得。我们要找最小的 x,使得能分成 ≤ M 段。
2025-12-05 15:19:08
703
原创 h的学习日记--贪心之区间问题
时,说明当前区间与之前的某个区间有重叠,需要新开一组(时,说明当前区间可以放入已有的某个组,不需要新开组(如果当前点不在该区间内(点的位置 < 区间左端点)则选择该区间的右端点作为一个新点。指针遍历所有左端点(从小到大)指针遍历所有右端点(从小到大)更新点的位置为该区间的右端点。这个有个很巧妙地一点,也就是。初始化点的位置为负无穷。:将所有区间的左端点。
2025-11-28 20:48:09
292
原创 h的做题日记--线性dp
dp[i][j]=max(dp[i-1][j],dp[i][j-1]) 不相等时。当前格子乘 3(如果 t<kt<k):得分加 3×a[i][j]3×a[i][j],tt 加 1。状态方程就是 dp[i][j]=dp[i-1][j-1]+1 (a[i]==b[j])dp[i][j][t]=走到第 i 行第 j 个位置,已经用了 t 次乘 3 的最大得分。这个我一开始想的是dp[i][j]代表在a的i以及b的j时,最长公共子序列的长度。当前格子不乘 3:得分加 a[i][j]a[i][j],tt 不变。
2025-11-27 19:19:08
289
原创 区间dp练习
设当前区间长度 len = r-l+1,则已经卖掉了 N-len 份,接下来卖这份是第 N−len+1N−len+1 天。取左端 l:收入 = V[l]×(N−len+1)+dp[l+1][r]V[l]×(N−len+1)+dp[l+1][r]取右端 r:收入 = V[r]×(N−len+1)+dp[l][r−1]V[r]×(N−len+1)+dp[l][r−1]这里区间 [l, r] 表示原序列中第 l 个到第 r 个零食还没被卖,外面的已经卖了。已经卖掉的个数 = N−(r−l+1)N−(r−l+1)
2025-11-23 22:12:00
274
1
原创 Kruskal题目训练
就是找到一条最小生成树的权重,然后用原来的减去最小生成树的权重(但一定要注意的是边得个数)这个题目稍微有点不同的就是需要在初始化edge数组的时候计算边的个数。
2025-11-07 14:57:06
147
原创 KMP字符串匹配
变量定义p[]模式串(要查找的字符),下标从1开始s[]主串(被搜索的字符串),下标从1开始ne[]:next数组,存储模式串的匹配信息next数组对于模式串 "ABABC":位置: 1 2 3 4 5字符: A B A B Cnext[i]= 前i个字符组成的子串中,最长的相等前后缀长度前缀:不包含最后一个字符后缀:不包含第一个字符i=1:"A" → 没有真前缀/后缀 → next[1]=0i=2:"AB" → 前缀"A",后缀"B" → 不相等 → next[2]=0i=3。
2025-10-28 08:59:15
173
原创 单调栈学习
在进行查找nums1的元素在nums2当中的下标值时,用了暴力,有更好的方法,但是还没学会。N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。将温度数组倒置来看就变成了模板的类型。练习3:下一个更大元素(循环数组版)练习2:下一个更大元素。
2025-10-28 08:36:32
127
原创 蓝桥杯班级活动
班上一共有 nn 名 (nn 为偶数) 同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个 nn 以内的正整数作为 idid,第 ii 名同学的 idid 为 aiai。老师希望通过更改若干名同学的 idid 使得对于任意一名同学 ii,有且仅有另一名同学 jj 的 idid 与其相同 (ai=ajai=aj)。请问老师最少需要更改多少名同学的 idid?第二行为 nn 个由空格隔开的整数 a1,a2,...,ana1,a2,...,an。
2025-03-17 10:19:04
212
原创 蓝桥杯好数
一个整数如果按从低位到高位的顺序,奇数位 (个位、百位、万位 ⋯⋯ ) 上的数字是奇数,偶数位 (十位、千位、十万位 ⋯⋯ ) 上的数字是偶数,我们就称之为 “好数”。给定一个正整数 NN,请计算从 1 到 NN 一共有多少个好数。
2025-03-13 19:06:01
307
原创 蓝桥杯2024年第十五届省赛真题-传送阵
如果两个环相邻,则可以通过魔法将它们连接起来,从而访问更多的传送阵。小蓝可以选择一个传送阵进入,然后连续进入传送阵。目标是计算小蓝最多能到达多少个不同的传送阵。:取最大的环大小,或者两个相邻环的大小之和。小蓝可以使用一次魔法,从某个传送阵。:传送阵之间的关系会形成环(例如。:每个环中包含的传送阵数量。
2025-02-27 14:24:14
650
原创 图的遍历之DFS邻接矩阵法
其中g是图结构体指针,v是起点编号。#define MaxVertexNum 20 // 最大顶点数int v;// 顶点数量//邻接矩阵。
2024-12-06 22:23:56
578
原创 根据后序和中序遍历输出前序遍历
7-2 根据后序和中序遍历输出前序遍历本题要求根据给定的一棵二叉树的后序遍历和中序遍历结果,输出该树的前序遍历结果。
2024-11-24 10:36:34
306
原创 后缀式求值
7-8 后缀式求值我们人类习惯于书写“中缀式”,如3 + 5 * 2,其值为13。(p.s. 为什么人类习惯中缀式呢?是因为中缀式比后缀式好用么?而计算机更加习惯“后缀式”(也叫“逆波兰式”,Reverse Polish Notation)。上述中缀式对应的后缀式是:3 5 2 * +现在,请对输入的后缀式进行求值。
2024-11-24 10:31:13
249
原创 RESTful接口
RESTful是一种基于,建立在客户端和服务器之间的一种软件架构风格。它是一个轻量级的网络通信协议,旨在为分布式系统提供简单,可扩展和高效的通信方式。咱们小程序的main.py代码中构建了一个基于 FastAPI 的后端应用,为天天账本小程序提供服务,其中包含了多个符合 RESTful 风格的接口定义及相关配置。
2024-11-15 11:38:17
429
1
原创 fastapi+vue实现前后端分离
这段代码是在 FastAPI 应用中添加了一个跨域资源共享(CORS)中间件。CORS 是一种机制,它允许网页从不同的源(域名、协议、端口)请求资源,通过配置合适的 CORS 设置,可以确保前端应用(运行在浏览器中的 JavaScript 代码)能够安全、正确地与后端 FastAPI 应用进行交互,即使它们位于不同的源。为了使前端 Vue 应用能够访问 FastAPI 服务,需要设置 CORS。使用 Axios 在 Vue 组件中连接到 FastAPI 提供的 API。(但我们的小程序中并没有用到)
2024-11-15 11:27:29
1824
原创 http应用层
HTTP(HyperText Transfer Protocol,超文本传输协议)是一个至关重要的协议。它定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本(如 HTML 文档)。HTTP 协议是客户端与服务器之间通信的基础。客户端通过 HTTP 协议向服务器发送请求,服务器收到请求后处理并返回响应。HTTP 协议是一个的协议,即每次请求都需要建立新的连接(HTTP/1.1不需要),且服务器不会保存客户端的状态信息。
2024-11-15 11:10:00
797
原创 xml(一)
xml指的是可扩展性标记语言xml被发明的目的是传输和存储数据,而不是展示数据(html展示数据)xml的标签必须自定义,但在写标签名时要有含义xml是w3c推举的数据传输格式ELEMENT 元素名称(NAME) 元素类型(COUTENT)>元素名称:就是自定义的子标签名称EMPTY:该元素不能包含子元素和文本,但是可以有属性,这类元素称为自闭和标签ANY:该元素可以包含任意在DTD中定义的元素内容。
2024-08-30 17:48:24
1298
原创 虚拟DOM更新基础例子
虚拟DOM的概念是通过状态生成一个虚拟节点树,然后使用虚拟节点树进行渲染。在渲染之前,会使用新生成的虚拟节点和上一次生成的虚拟节点进行对比,只渲染不同的部分。
2024-08-28 18:19:14
440
原创 解决冒泡捕获在父子组件修饰符中的问题
冒泡(bubbling)原理很简单。假设我们有 3 层嵌套点击内部的<p>会首先运行onclick<p><div><form>document因此,如果我们点击<p>p→div→form。事件处理的另一个阶段被称为“捕获(capturing)”。它很少被用在实际开发中,但有时是有用的。为了在捕获阶段捕获事件,我们需要将处理程序的capture选项设置为truefalsetrue上面这段代码为文档中的元素都设置了点击处理程序,以查看哪些元素上的点击事件处理程序生效了。如果你点击了<p>HTMLBODY。
2024-08-26 22:52:20
586
原创 $event
是指当前触发的是什么事件(,键盘事件等)当我们点击button按钮时,可以看到控制台打印出的事件对象,如下图:点击事件的原生DOM事件对象属性通过该对象自带的一些属性,我们可以避免过多的冗余代码,细化代码。
2024-08-26 22:20:31
611
原创 父子组件通信
父组件:<子组件 :变量=数据></子组件>子组件:props:['变量’]子组件:this.$emit("自定义事件名称",值')父组件:<Footer @changeStr='changeBtn'></Footer> methods:{fchangeBtn(s){console.log(s)}}
2024-08-25 11:46:35
489
原创 财务小程序账单编辑页面分析
请求发送: 使用this.$api对象发送请求,通常包含一些参数。响应处理: 使用.then()方法来处理成功的响应,检查code字段来确定请求是否成功,并更新组件的状态。错误处理: 如果响应中的code字段表示错误,通常会显示一个提示消息,并可能更新一些状态来反映错误。这种模式确保了组件能够与后端服务进行有效的数据交换,并根据响应更新用户界面。在<template>部分,</view>: 这是通过v-bind传递给组件的 props,types是一个数组,包含了所有可供选择的账单类型。
2024-08-22 18:58:06
1933
原创 账单详情页面分析
5.onLoad(option) { ... }: Vue组件的生命周期钩子,当页面加载时触发。10.onCopyAndToEdit() { ... }: 处理“再来一笔账单”操作的方法。6.onShow() { ... }: Vue组件的生命周期钩子,当页面显示时触发。描述了一个账单详情页面的布局,包含了账单的分类、描述、金额、资产、日期和地址等信息的展示,以及一些操作按钮。8.getBillDetail() { ... }: 获取账单详情的方法。7.methods: { ... }: 定义组件的方法。
2024-08-20 17:41:19
2305
原创 财务管理app pages.json页面解读
组件别名规则(1)每个属性都是一个规则,属性的键是一个正则表达式,用于匹配组件的别名;(2)属性的值是组件的实际路径。例如,"mb-ba-(.*)": "@/components/base/mbill-$1.vue" 表示任何以 mb-ba- 开头的组件名,如 mb-ba-component,都会被映射到 @/components/base/mbill-component.vue 的路径。这里的 $1 是正则表达式中的捕获组,代表匹配到的 mb-ba- 后面的部分。
2024-08-18 21:47:01
1994
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅