- 博客(51)
- 问答 (10)
- 收藏
- 关注

原创 写在前面
文章目录博客用来干嘛另, 相信过程博客用来干嘛借优快云的服务器用来简单记录一下值得记录的题目(毕竟是免费的服务器)在OneNote上的存货就不往上搬了, 毕竟也不算是百分百原创, 涉及版权问题,也说不清.另, 相信过程路要一步步走....
2020-11-29 21:35:21
75
2
原创 Thymeleaf 简单入门
Thymeleaf 相关参考: Thymeleaf 教程 | 範宗雲 (fanlychie.github.io)(非常高质量的Blog, 感谢此大佬的分享!)供个人学习使用, 侵删介绍 参考: Thymeleaf入门到吃灰 - 鞋破露脚尖儿 - 博客园 (cnblogs.com)Thymeleaf是目前SpringBoot主推的一种视图渲染技术.与JSP一样用于在前端页面中根据后端响应的数据(在Request,Session,Application等域中)来动态显示相关数据.但作为S
2021-11-04 20:21:13
982
原创 Linux学习记录
学习记录目录学习记录1.`vmtools`的安装2.设置共享文件夹3.目录结构4.Linux下查看IP地址5.命令行下`vim`的使用1).vim的三种模式2) vim常用快捷键3).vim的快捷键一览6. 关机 & 重启 命令7. 登录 & 注销命令8.用户管理指令1) `useradd` 添加用户2)`passwd` 更改用户密码3)`userdel` 删除用户4) `id` 查询用户信息5)`su - 用户名`切换用户6)`who am i`查看当前用户9. 用户组指令1) `gr
2021-09-08 21:31:14
3545
3
原创 JSP学习记录
JSP相关参考: 菜鸟教程JSP目录JSP相关JSP生命周期JSP基本语法1)脚本程序 <% %>2)声明<%! %>3)表达式<%= %>4)指令<%@ %>5)注释 <%-- --%>JSP指令1) Page指令2) Include指令3) Taglib指令JSP的四种属性范围JSP动作JSP隐式对象1) pageContext2) request3) session4) application5) ExceptionEL表达式1)
2021-09-08 21:21:54
946
原创 Spring学习记录
Spring相关目录前言工厂设计模式静态工厂模式通用工厂模式ApplicationContextClassPathXmlApplicationContextXmlWebApplicationContextApplicationContext创建对象的原理整合多个applicationContext.xml设置Spring默认日志框架Spring注入Set注入1) set注入步骤2) set注入原理3) set注入详解4) p命名空间构造注入1)
2021-09-08 21:15:02
1256
原创 Mybatis 学习记录
Mybatis3详解(参考: Mybatis官方文档, Mybatis尚硅谷教程),包括全局配置文件, 映射文件(resultMap的1:1,1:n映射), 集成日志框架及第三方缓存, 动态sql, 二级缓存,逆向工程. 运行原理, Mybatis分页实现等
2021-09-08 20:58:48
756
原创 Servlet学习记录
前言简要学习整理了一下Servlet, 顺序可能有些许混乱, 复习使用参考资料:Servlet 教程 | 菜鸟教程 (runoob.com)此外,文章中引用一些大佬的文章, 在此不在一一列出. 感谢, 侵删.如有错误请指出.什么是ServletServlet生命周期Servlet工作原理Servlet的类层次结构实现Servlet的三种方式1) 实现Servlet接口/* 实现Servlet接口 */public class Servlet1 implements Ser
2021-04-23 23:26:49
1308
原创 Acwing 1295. X的因子链 (唯一分解定理 线性筛 质因数分解 有重复数集合的排列数)
题目描述原题链接输入正整数 X,求 X 的大于 1 的因子组成的满足任意前一项都能整除后一项的严格递增序列的最大长度,以及满足最大长度的序列的个数。输入格式输入包含多组数据,每组数据占一行,包含一个正整数表示 X。输出格式对于每组数据,输出序列的最大长度以及满足最大长度的序列的个数。每个结果占一行。数据范围1≤X≤220输入样例:23410100输出样例:1 11 12 12 24 6分析由唯一分解定理可知, 任意一个数XXX都可以分解成 X=p1k1
2021-03-29 15:42:38
208
原创 AcWing 1207. 大臣的旅费(DFS求树的直径)
题目描述原题链接很久以前,T王国空前繁荣。为了更好地管理国家,王国修建了大量的快速路,用于连接首都和王国内的各大城市。为节省经费,T国的大臣们经过思考,制定了一套优秀的修建方案,使得任何一个大城市都能从首都直接或者通过其他大城市间接到达。同时,如果不重复经过大城市,从首都到达每个大城市的方案都是唯一的。J是T国重要大臣,他巡查于各大城市之间,体察民情。所以,从一个城市马不停蹄地到另一个城市成了J最常做的事情。他有一个钱袋,用于存放往来城市间的路费。聪明的J发现,如果不在某个城市停下来修整,
2021-03-28 13:32:43
171
原创 AcWing 1241. 外卖店优先级(暴力的优化:压缩区间)
题目描述原题链接分析先考虑暴力做法: 对每一个时间点进行模拟, 如果有订单就增加相应店铺的优先级, 否则减少响应店铺的优先级, 时间复杂度大概为O(m2)O(m^2)O(m2),而数据范围为1e51e51e5, 肯定过不了全部数据下面考虑如何优化暴力?注意到虽然时间范围是[1,1e5][1,1e5][1,1e5],但总订单数为1e51e51e5, 说明在某一个时间段内都没有订单,我们便可以对这种没有订单的时间段压缩成一个点, 统一处理, 从而将时间复杂度度降至O(m)O(m)O(m)具体
2021-03-27 15:13:50
153
原创 AcWing 1233. 全球变暖(DFS Floodfill 连通块)
题目描述原题链接分析每一个岛屿对应一个连通块(四方向连通).则可以利用深搜, 搜索每一个连通块, 判断每一个连通块是否会被完全淹没实现#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1009;int n;int dx[] = {1,0,-1,0}, dy[] =
2021-03-26 22:09:02
162
原创 AcWing 788. 逆序对的数量(归并排序求逆序对)
题目描述原题链接给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数 n,表示数列的长度。第二行包含 n 个整数,表示整个数列。输出格式输出一个整数,表示逆序对的个数。数据范围1≤n≤100000输入样例:62 3 4 5 6 1输出样例:5分析求逆序对的一般方法是利用归并排序, 下面我们考虑如何使用
2021-03-26 21:59:07
183
原创 AcWing 1231. 航班时间 (字符串模拟, sscanf)
题目描述原题链接分析首先需要得到正确的飞行时间, 我们不妨把真实飞行时间看做船速, 时差看做水速则去时时间 === 船速 +++ 水速, 来时时间 === 船速 −-−水速则 真实飞行时间(((船速))) === (((来时时间 +++ 去时时间 )/)/)/ 2然后相应的字符串处理, 得到答案(具体过程参考实现)sscanf学习一下sscanf的用法: int sscanf(const char *str, const char *format, [arguments])用于
2021-03-24 09:04:20
153
原创 AcWing 787. 归并排序(递归, 模板)
题目描述原题链接分析归并排序的基本思想是, 将两个有序表合并成一个有序表实现#include <cstdio>#include <iostream>using namespace std;const int N = 1e5 + 9;int n;int a[N];int temp[N]; // 辅助空间void mergeSort(int l, int r) // [l,r]将要合并的区间{ if(l >= r) return; i
2021-03-24 08:44:21
135
原创 AcWing 1211. 蚂蚁感冒
题目描述原题链接分析思路参考大佬博客将蚂蚁碰撞后掉头,看做穿过先考虑一般情况:以第一只感冒的蚂蚁aaa作为分界线, 不管aaa向左或是向右走aaa左边向右走的蚂蚁一定会被感染,数量记为leftleftleftaaa右边向左走的蚂蚁一定会被感染,数量记为rightrightright则感染的数量为 left+right+1left + right + 1left+right+1但是存在一种特殊情况:aaa左边没有向右走的蚂蚁或者aaa右边没有向左走的蚂蚁即leftleftlef
2021-03-21 16:12:38
98
原创 AcWing 1212. 地宫取宝(dp)
题目描述原题链接分析Y总经典集合角度分析DP:字丑勿怪,直接上手写了Y总视频讲解(需要权限)实现#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int MOD = 1e9 + 7;const int N = 59;int n, m, K;int f[N][N][19][19];int val[N][N];int
2021-03-21 14:55:53
168
原创 AcWing 1221. 四平方和 (枚举 + 二分/哈希)
题目描述原题链接分析Y总视频讲解(需要权限)实现#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 2e4 + 9, M = 1e5 + 9;int n, m, p[2*N]; struct node{ int a, b, c;};node e[M];bool cmp(node x, node y
2021-03-21 13:08:51
141
原创 AcWing 257. 关押罪犯 (贪心 + 拓展域并查集)
题目描述原题链接分析首先根据怨气值ccc从大到小排序, 我们要求最小的怨气值, 所以对每一对有仇恨关系的罪犯,要尽可能的分到两座监狱中.但是存在一种情况, 这一对罪犯A,BA,BA,B必须位于同一座监狱:即两座监狱中存在罪犯CCC与这两名罪犯A,BA,BA,B中的一位有仇恨关系.而根据之前排序可知, CCC与AAA或BBB的怨气值一定大于A,BA,BA,B的怨气值,则A,BA,BA,B的怨气值 ccc 就是答案(贪心)而两座监狱, 我们可以维护拓展域并查集: 对于罪犯i,p[i]表示i
2021-03-14 15:56:48
151
原创 AcWing 1250. 格子游戏(并查集判环 哈希)
题目描述分析首先考虑如何形成一个环(封闭的圈), 即当两点已经连通时,再从两点间连一条线,便可以形成环如何判断两点是否连通? 使用并查集.此题是二维坐标,不过我们可以使用x*(n-1)+y将二维坐标系上的每个点唯一映射到一维坐标系上来.从而使用并查集判断连通性, 进而判环得到答案实现#include <cstdio>#include <iostream>#include <cstring>using namespace std;const
2021-03-14 14:23:44
136
原创 AcWing 257. 关押罪犯 (二分 + 染色法判断二分图)
题目描述原题链接分析货仓选址模型也可参考Y总视频讲解实现#include <cstdio>#include <iostream>#include <cmath>#include <algorithm>using namespace std;typedef long long ll;const int N = 1e6 + 9;int n;ll sum[N], ans, avg;int main(){ sca
2021-03-14 11:30:14
173
原创 IDEA将工具类打包成JAR包
IDEA将工具类打包成JAR包前言:参考大佬博客通过打包JDBC的工具类, 来演示如何通过IDEA 将工具类打包成JAR包演示:新建JAVA项目编写相关代码 打开Project Structure, 新建一个Artifacts双击右侧内容,添加至JAR包, 后点OK最后,Build Artifacts生成JAR包成功打包JAR包如果通过IDEA自带的反编译插件查看JAR包中的.class文件时, 可能会与源码有些不同. 不用担心, 这是反编译
2021-03-12 22:28:05
1060
原创 解决Tomcat不显示css的问题
解决Tomcat不显示css的问题参考: https://blog.youkuaiyun.com/qq_40346122/article/details/89057219?utm_source=app&app_version=4.5.2问题在IDEA 2020.2上将Java Web项目部署到Tomcat9后本地css文件未生效路径看上去没有问题, 但运行项目后css文件并未生效如何解决:引入css文件的路径, 要与Tomcat服务器的Application context路径相对
2021-03-10 14:01:49
6802
2
原创 通过IDEA创建运行第一个Servlet项目
通过IDEA创建运行第一个Servlet项目IDEA版本为2020.21. 创建第一个Servlet项目创建java项目给项目起名java项目创建完成, 下图为目录结构添加框架支持, 是项目成为Servlet项目在web/WEB-INF下创建classes和lib目录将上述两个目录配置到项目中, 并添加Servlet所需的JAR包配置完成后, 项目的目录结构如下从你的Tomcat安装目录下找到servlet-api-jar并添加
2021-03-08 17:03:09
2082
2
原创 AcWing 122. 糖果传递 (贪心 绝对值不等式)
题目描述原题链接分析也可参考Y总视频讲解实现#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 359;const int M = 49;int n, m;int a[N], f[M][M][M][M], cnt[5];int main(){ cin >> n >> m;
2021-02-18 16:07:04
121
原创 AcWing 1230. K倍区间
题目描述原题链接分析及实现60%做法O(n2)60\%做法 O(n^2)60%做法O(n2)预处理一下前缀和, 然后枚举[i,j][i,j][i,j]的区间和, 检查是否为KKK倍区间#include <cstdio>#include <iostream>using namespace std;const int N = 1e5 + 9;int n, k;int sum[N];int main(){ cin >> n >&g
2021-02-17 22:47:21
227
原创 AcWing 312. 乌龟棋 (线性DP)
题目描述原题链接分析也可参考Y总视频讲解实现#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 359;const int M = 49;int n, m;int a[N], f[M][M][M][M], cnt[5];int main(){ cin >> n >> m;
2021-02-17 22:32:18
114
原创 AcWing 143. 最大异或对 (01Trie树 贪心)
题目描述原题链接分析推荐参考Y总视频讲解实现#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N = 1e5 + 9;int a[N];int trie[30*N][2]; // trie[最多有多少节点数][边权是0或1] = 当前节点的下标int n, ans, index;void insert(int val
2021-02-17 11:14:00
119
原创 AcWing 148. 合并果子 (贪心 哈夫曼树)
题目描述原题链接分析此题不是区间DP(区间DPDPDP的限制是每次只能合并相邻的两堆)题目要求一个最小的体力耗费值, 可以采取贪心的策略: 在每次合并时都耗费最少的体力, 即选当前数目最少的两堆(((用优先队列维护一个小根堆即可),),), 从而求出最优解此题是一个哈夫曼树的模型. 要求的最小的体力耗费值, 其实是哈夫曼树的带权路径长度W=W=W= 所有分支点权值之和也可参考Y总视频讲解实现#include <cstdio>#include <iostre
2021-02-17 11:13:14
130
原创 AcWing 125. 耍杂技的牛 (贪心 交换验证)
题目描述原题链接分析看不懂就参考Y总视频讲解实现#include <cstdio>#include <iostream>#include <algorithm>#include <map>using namespace std;const int N = 5e4 + 9 ;int n;int sum[N];pair<int, int> p[N]; // w, sbool cmp(pair<int,int&
2021-02-17 11:12:16
101
原创 AcWing 1402. 星空之夜 (FloodFill 哈希 搜索)
题目描述原题链接分析一个星群就对应一个连通块, 题目所求即将二维矩阵中相似的连通块用同一符号标记出来.首先要找出矩阵中所有的连通块, 可以借助FloodFill算法搜索出所有的连通块接下来如何找到相似的连通块呢? 我们采用哈希的方式我们发现上图相似星群两点间的欧几里得距离((x1−x2)2+(y1−y2)2)(\sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2})((x1−x2)2+(y1−y2)2)之和是相同的我们便可以该距离之和作为哈希表的keyk
2021-02-04 13:43:10
141
原创 AcWing 479. 加分二叉树 (区间DP)
题目描述原题链接分析题目所求是一棵符合中序遍历且加分最高的二叉树, 而二叉树的加分 === 左子树的加分 ××× 右子树的加分 +++ 根的分数 假设求一棵根节点是kkk的加分最高的二叉树,由于根的分数已经确定,则要使其左子树加分最高且右子树加分最高如何使其左子树加分最高呢?(右子树同理)首先要在[1,k−1][1,k-1][1,k−1](为什么是[1,k−1]?[1,k-1]?[1,k−1]? 因为在中序序列中, 根节点左边是其左子树, 右边是其右子树)枚举左子树的根jjj, 且使以j
2021-02-03 16:43:08
144
原创 AcWing 288. 休息时间(环形dp 滚动数组优化)
题目描述原题链接分析题目特殊在:每一天的第NNN小时和下一天的第111小时是相连的, 即一个环形我们假设每一天的第NNN小时和下一天的第111小时不相连,则题目就变成了一个线性DP问题很容易 设计出状态:f[i,j,0]f[i,j,0]f[i,j,0]表示只考虑只考虑前iii个小时,一共休息了jjj个小时, 并且第iii个小时没休息的所有方案的最大收益f[i,j,1]f[i,j,1]f[i,j,1]表示只考虑前iii个小时,一共休息了jjj个小时, 并且第iii个小时在休息的所有方案的
2021-02-01 14:42:12
160
原创 AcWing 171. 送礼物(双向搜索)
题目描述原题链接分析题目特殊在:每一天的第NNN小时和下一天的第111小时是相连的, 即一个环形我们假设每一天的第NNN小时和下一天的第111小时不相连,则题目就变成了一个线性DP问题很容易 设计出状态:f[i,j,0]f[i,j,0]f[i,j,0]表示只考虑只考虑前iii个小时,一共休息了jjj个小时, 并且第iii个小时没休息的所有方案的最大收益f[i,j,1]f[i,j,1]f[i,j,1]表示只考虑前iii个小时,一共休息了jjj个小时, 并且第iii个小时在休息的所有方案的
2021-01-31 16:10:53
115
原创 计蒜客 A1596.蒜头君王国 概率计算(dp)
题目描述原题链接有一天,蒜头君当上了国王。蒜头君的王国有 nnn 坐城市,现在他需要在城市之间修建道路使得城市之间相互联通。蒜头君是一个不会规划的人,他不知道哪些城市之间必须要有道路,所以对于任意两座城市之间,蒜头军会修建道路的概率为 ppp。请你计算一下最后修建出来的道路使得 nnn 座城市都联通的概率。输入格式输入包含一个整数 n(1≤n≤20)n(1≤n≤20)n(1≤n≤20) 和一个实数 p(0≤p≤1)p(0≤p≤1)p(0≤p≤1).输出格式输出一行一个实数表示答案,输出结果
2021-01-26 16:58:52
354
原创 计蒜客 A1594 封印之门 有向图的全源最短路问题
题目描述原题链接蒜头君被暗黑军团包围在一座岛上,所有通往近卫军团的路都有暗黑军团把手。幸运的是,小岛上有一扇上古之神打造的封印之门,可以通往近卫军团,传闻至今没有人能解除封印。封印之门上有一串文字,只包含小写字母,有 kkk 种操作规则,每个规则可以把一个字符变换成另外一个字符。经过任意多次操作以后,最后如果能把封印之门上的文字变换成解开封印之门的文字,封印之门将会开启。蒜头君战斗力超强,但是不擅计算,请你帮忙蒜头君计算至少需要操作多少次才能解开封印之门。输入格式输入第一行一个字符串,长度不大
2021-01-24 15:16:21
208
原创 计蒜客 A1139 引爆炸弹 DFS+剪枝
题目描述原题链接在一个 n×mn×mn×m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。现在为了引爆地图上的所有炸弹,需要手动引爆其中一些炸弹为了把危险程度降到最低,请算出最少手动引爆多少个炸弹可以把地图上的所有炸弹引爆。输入格式第一行输两个整数 n,mn,mn,m用空格隔开。接下来 nnn 行,每行输入一个长度为 mmm 的字符串,表示地图信息。0表示没有炸弹,1表示炸弹。数据约定:
2021-01-24 14:42:37
148
原创 计蒜客 A1627 连连看 暴力搜索
题目描述原题链接连连看是一款非常有意思的游戏。我们可以把任意两个在图的在边界上的相同的方格一起消掉,比如把两个444消掉以后每次消掉两个方格的时候,都有会获得一个分数,第 iii 次消的分数为i×i×i×方格的值。比如上面的消法,是第一次消,获得的分数为 1×4=41×4=41×4=4请你帮忙最优操作情况下,获得的分数最多为多少。分析结果填空题, 不用考虑时间复杂度,直接暴力搜索注意, 每次只能消掉边界上值相同的两个格子答案分数最大为898989实现// 跑了十多分
2021-01-24 13:55:08
99
原创 计蒜客 A2236 马的管辖 暴力枚举 状态压缩
题目描述原题链接分析结果填空题, 不用考虑时间复杂度,直接暴力枚举每一种方案5×55×55×5的棋盘, 每一个格子有放或不放马两种状态, 所以一共需要枚举2252^{25}225种方案每一种方案的具体放法, 压缩在一个数中(通过遍历数的二进制的前252525位得到具体的放法)检查每种方案是否合法(遍历所有的马, 判断马是否管辖了所有的格子,注意别马腿的情况),从而得到方案数此题状态压缩的做法, 和AcWing 95. 费解的开关类似答案最少用999匹马, 共909090种
2021-01-23 23:17:36
274
3
原创 AcWing 95. 费解的开关 枚举 状态压缩 递推
题目描述原题链接分析我们假设第111行的状态已经确定, 以此递推出下面444行的状态由于题目需要满足第111行全为111, 所以只能通过操作第222行来改变第111行的状态, 使之全为111. 同时, 得到第222行的某种状态同理, 由于题目需要满足第222行全为111, 所以只能通过操作第333行来改变第222行的状态, 使之全为111. 同时, 得到第333行的某种状态同理, 由于题目需要满足第333行全为111, 所以只能通过操作第444行来改变第333行的状态, 使之全为111
2021-01-19 22:54:01
172
原创 AcWing 104. 货仓选址 贪心 绝对值不等式
题目描述原题链接分析贪心考虑只有两家商店a,ba,ba,b. 货仓的位置xxx到两家商店的距离lll就满足绝对值不等式`l=∣x−a∣+∣x−b∣≥∣a−b∣l = |x-a|+|x-b|≥|a-b|l=∣x−a∣+∣x−b∣≥∣a−b∣则当a≤x≤ba≤x≤ba≤x≤b时, 不等式取等,此时距离最小. 即货仓要建在两店之间(包括端点)考虑nnn家商店, nnn为奇数时, 建在最中间的商店处最优. nnn为偶数时, 建在最中间的两点之间以上两种情况, 即中位数位置是最优解实现//
2021-01-18 22:13:45
184
空空如也
求解决方案: 使用Thymeleaf,根据条件在页面上显示"以下为历史消息"的分割线
2021-12-10
关于Java IDEA与eclipse控制台输出格式不一样的问题
2020-09-09
前端小白,求问有关bootstrap的模态框的问题
2020-05-08
前端小白,求问有关bootstrap的模态框的问题
2020-05-08
hdu1312 深搜水题,大佬帮忙看看为什么A不了?
2020-01-31
小白求问?c++ STL stack top()是不是不能访问空栈?
2020-01-20
请问大佬,我这个头插法写的对吗?
2019-12-30
关于pta上一个浮点数的问题
2019-12-22
关于函数中的局部变量和静态变量的一个小问题求教
2019-12-18
C语言小白求教,为什么平均值的运行结果为100而不是101
2019-10-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人