自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 并发编程

黑马程序员深入学习Java并发编程java8,pom.xmllogback.xml进程和线程、并发和并行、同步和异步的概念参考课后文档注意:单核 cpu 下只有并发,多线程不能实际提高程序运行效率,只是为了能够在不同的任务之间切换;多核 cpu 既有并发也有并行,可以真正提高运行效率。方法一:直接使用Thread,用了匿名内部类的写法方法二:Runnable接口,任务和线程分开,更推荐这种写法Thread源码:run()方法里,如果指定了Runnable,就优先使用Runnable对象的run()方

2025-05-18 17:51:30 788

原创 Netty 学习笔记

黑马程序员Netty全套教程Channel 是读写数据的双向通道,Buffer是内存缓冲区,暂存数据。常见的 Channel 和 Buffer 见讲义。ByteBuffer(包括MappedByteBuffer、DirectByteBuffer、HeapByteBuffer)最常用。多线程设计:多个客户端对应多个socket,就会启动多个线程。每个线程对应一个socket连接缺点:内存占用高、线程上下文切换成本高、只适合连接数少的场景线程池版设计,缺点:阻塞模式下,线程仅能处理一个 socket

2025-04-14 09:24:04 642

原创 Docker 学习笔记

编写好了Dockerfile之后,使用 docker build 命令构建镜像注意:Dockerfile 文件必须叫Dockerfile,不能改成其他的名字将资料里的demo文件夹上传到 /root。jdk.tar最好也上传到虚拟机,否则还要下载 openjdk 基础镜像cd /rootdocker load -i jdk.tar # openjdk基础镜像docker build -t docker-demo . # 构建镜像docker ps。

2024-06-29 10:00:12 1179 1

原创 SpringBoot 搭建sftp服务 实现远程上传和下载文件

maven依赖:</</</</注:springboot自带的tomcat会限制上传文件的大小,需要在yml文件里手动设置max-file-size。

2024-06-22 21:02:30 573

原创 使用TUDataset 报错LocalFileSystem.mv() takes 3 positional arguments but 4 were given

是由于 torch_geometric 版本太高导致的如果直接 pip install torch_geometric,会下载到最新版本的torch_geometric(如2.5.3)

2024-06-10 20:25:53 755 3

原创 决策树、随机森林

如果用pk(1-pk)来算,一般要乘以2,比如p1(1-p1) = 3/5 * 2/5,p2(1-p2) = 2/5 * 3/5,他们是对称的关系。随机森林的训练效率高于bagging(从子集选取特征,计算加快),泛化误差低于bagging(随机选取特征,各个决策树间差异变大,更不容易过拟合)。如果特征有多个离散取值,比如0,1,2,则特征按是0和不是0,是1和不是1,是2和不是2来分。C(Tt)是剪枝前的,C(t)是剪枝后的,剪枝后根结点变成了叶子结点,所以|T|=1,只剩下一个α。

2024-04-20 14:22:46 730 3

原创 Layui + PageHelper 分页查询

Layui的分页查询layui向后端发请求,url后面会自动带上 page=1&limit=10传统的分页查询select * from 表名 limit m, n 从第m+1行开始取n条数据使用PageHelper导入maven依赖:<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> &

2022-04-21 17:04:51 1935

原创 Layui 数据表格json格式问题

Layui 数据表格的json格式,后端传到前端的json格式

2022-04-20 20:26:21 2272

原创 Java 子类和父类同名属性

继承的本质/内存图属性访问的顺序:案例1public class Test { public static void main(String[] args) { B b = new B(); //子类对象 b.i = 200; b.B(); }}class A { int i = 10; public void A() { System.out.println(i); }}class B e

2022-01-20 12:21:41 8110 2

原创 PL/SQL语法总结

hello worldsqldeveloper菜单栏–>查看–>DBMS输出sqlplus界面,最后加上/才能执行程序,输入set serveroutput on回车后才能显示输出的结果begin dbms_output.put_line('hello world');end;普通变量赋值两种办法,:=或者select intodeclare v_no char(5) := '002'; v_name varchar2(10);begin sel

2021-03-09 23:05:35 315 1

原创 火狐浏览器关闭百度热榜(屏蔽网站特定元素)

火狐浏览器不能下载 uBlock Origin解决方法:https://github.com/AdguardTeam/AdguardBrowserExtension/releases。

2021-02-05 20:36:42 1669 6

原创 会话技术及Session和Cookie

会话服务器无法识别每一次 HTTP 请求的出处(不知道来自于哪个终端),它只会接受到一个请求信号。通过会话技术,可以让服务器知道请求来自哪个用户。会话就是客户端和服务器之间发生的一系列连续的请求和响应的过程,打开浏览器进行操作到关闭浏览器的过程。为了保存会话过程中产生的数据,Servlet提供了两个用于保存会话数据的对象:Session和Cookie。Session属于同一次会话的请求都有一个相同的标识符, sessionID(注:刷新或者打开新页面都属于同一次会话,sessionID相同)。Ses

2020-12-17 18:18:48 360 2

原创 html+css+JavaScript实现导航栏

无下拉菜单的导航栏<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * {

2020-11-28 22:52:17 2023 2

原创 洛谷P1087 FBI树【二叉树遍历】

题目链接:P1087 FBI树程序说明:后序遍历+判断条件,注意indexOf()可以判断子串是否存在(一开始没想到用indexOf)代码如下:import java.util.*;import java.io.*;public class Main { public static void main(String[] args) { String s = new String(); int n; Scanner in = new Sca

2020-11-12 12:48:49 364 1

原创 蓝桥杯 机器人塔【DFS】

X星球的机器人表演拉拉队有两种服装,A和B。他们这次表演的是搭机器人塔。类似: A B B A B A A A B B B B B A BA B A B B A队内的组塔规则是:A 只能站在 AA 或 BB 的肩上。B 只能站在 AB 或 BA 的肩上。你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔。输入一行两个整数 M 和 N,空格分开(0< M,N<500),分别表示A、B的人数,保证人数合理性。要求输出一个整数,

2020-11-10 23:07:28 849

原创 蓝桥杯 调手表【BFS】

小明买了块高端大气上档次的电子手表,他正准备调时间呢。在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。大家都知道,手表只有一个按钮可以把当前的数加一。在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 。如果当前的数是 n - 1,按一次后会变成 0 。作为强迫症患者,小明一定要把手表的时间调对。如果手表上的时间比当前时间多1,则要按 n - 1 次加一按钮才能调回正确时间。小明想,如果手表可以再添加一个按钮,表示把当前的数加 k 该多

2020-11-10 20:14:27 316

原创 第十届蓝桥杯国赛C/C++ B组第2题【01背包】

2019可以被分解成若干个两两不同的素数,请问不同的分解方案有多少种?注意:分解方案不考虑顺序,如2+2017=2019和2017+2=2019属于同一种方案。程序说明:分解成若干个,不是分解成两个,注意看题。f[i][j] 表示从前 i 个数中选,相加等于 j 的所有方案数。类似于01背包问题,只不过存的是方案数。如果j < prime[i],即加上第 i 个质数就会超出背包的容量,则f[i][j] = f[i - 1][j]如果j >= prime[i],即加上第 i 个质数不会

2020-11-07 17:26:42 437 3

原创 洛谷P1734 最大约数和【01背包】

题目链接:P1734 最大约数和代码如下:#include <iostream>using namespace std;const int N = 1010;int n, v[N], f[N][N], w[N];int main() { cin>>n; //预处理每个数的约数和 for(int i = 1; i <= n; i++) for(int j = 1; j < i; j++) if

2020-11-07 15:29:58 244

原创 洛谷P1516 青蛙的约会【扩展欧几里得算法】

题目链接:程序说明:问题转化为求解线性同余方程:x + k * m ≡ y + k * n (mod L)方程等价于:x + k * m = z * L + y + k * n合并同类项,化简后得:k * (n − m) + z * L = x - y (将负号化为正号方便处理)设 a = n - m,b = L,c = x - y,即求线性方程:a * k + b * z = c 的解,扩展欧几里得求出整数解k,再扩大 c / gcd(a,b)倍即为方程的通解。需要注意的地方有两点:n - m

2020-11-07 12:45:15 346

原创 洛谷P1194 买礼物【最小生成树】

题目链接:P1194 买礼物程序说明:优惠大于0时建边,跑一边kruskal求最小生成树即可。需要注意的地方是,有可能优惠后的价格比原价还高。。因此需要加一个判断条件。代码如下:#include <iostream>#include <algorithm>using namespace std;const int M = 510;struct Edge { int a, b, w; bool operator < (const Edge &a)

2020-11-05 13:12:27 329

原创 洛谷P1403 [AHOI2005]约数研究【数论】

题目链接:P1403 [AHOI2005]约数研究程序说明:[1,n]的所有整数中p的倍数的个数:⌊\lfloor⌊np\frac{n}{p}pn​⌋\rfloor⌋代码如下:#include <iostream>using namespace std;int n, res;int main() { cin>>n; for(int i = 1; i <= n; i++) ans += n / i; cout<<res

2020-11-04 21:18:14 343

原创 洛谷P2071 座位安排【二分图最大匹配】

题目链接:P2071 座位安排程序说明:可以把右边的一列座位放在左边一列的后面,第 i 排左边的编号为 i ,右边的编号为 i + n。二分图的最大匹配可以用匈牙利算法求解。注意每个点连四条边,数组要开四倍大小。代码如下:#include <iostream>#include <cstring>using namespace std;const int N = 10100, M = 2 * N;int h[N], e[M], ne[M], idx, res;in

2020-11-04 15:30:51 321

原创 洛谷P1330 封锁阳光大学【二分图】

题目链接:P1330 封锁阳光大学程序说明:题意为判断无向图是否为二分图,可以用dfs染色。-1表示没访问过,0和1表示将顶点染成两种不同的颜色,如果一条边相邻的两个顶点被染成了相同的颜色,则可以判断出不是二分图。如果是二分图,需要记录1和0的个数,较小者即为答案。代码如下:#include <iostream>#include <cstring>using namespace std;const int N = 10010, M = 100010;int h[N

2020-11-03 21:59:17 209

原创 洛谷P1195 口袋的天空【最小生成树】

题目链接:P1195 口袋的天空程序说明:最小生成树的裸题,代码如下:#include <iostream>#include <algorithm>using namespace std;const int N = 1010, M = 10010;int n, m, k, p[N];struct Edge { int a, b, w; bool operator < (const Edge &W) const { return w <

2020-11-03 16:36:12 265

原创 洛谷P1144 最短路计数【最短路】

题目链接:P1144 最短路计数程序说明:如果搜索到的点到起点的距离等于当前点到起点的距离加上这两点间的那条边的距离,那么我们就将搜索到的点的路径数加上当前点的路径数。如果我们更新了搜索到的点到起点的最短距离,那么我们将到达改点的路径数改为当前点的路径数。(参考P1608 路径统计 题解)因此将spfa的松弛操作修改为://cnt[]记录路径数if(dist[j] > dist[t] + 1) { dist[j] = dist[t] + 1; cnt[j] = cnt[t]; }

2020-11-03 11:30:48 262

原创 DFS判断有向图是否存在环

st数组记录每个点的状态:0表示没访问过,1表示访问过,2表示与该点相邻的点都被访问过。dfs深搜如果遇到被标记成1的点,就说明有环。#include <iostream>using namespace std;const int N = 1010;int g[N][N], n, m, st[N], flag = 1;void dfs(int k) { st[k] = 1; for(int i = 1; i <= n; i++) { if(g[k][i]) { //和

2020-11-02 20:50:19 3573

原创 洛谷P1396 营救【最小生成树】【最短路】

题目链接:P1396 营救程序说明:法一:kruskal求最小生成树,当s和t连通时,此时边的权值w就是题中要求的最小的最大值(因为边是从小到大排序的)。法二:spfa求最短路。分析可知要让每段路的权值都尽可能小,所得到的路径不一定是从s到t的最短路,但是可以利用最短路的模板来解决:取两条边权值的较大者,如果比第三条边小,则更新。只需将spfa中的松弛操作:if(dist[j] > dist[t] + w[i]) dist[j] = dist[t] + w[i];改为:int t

2020-11-02 16:40:49 684

原创 洛谷P1226 【模板】快速幂||取余运算

题目链接:P1226 【模板】快速幂||取余运算程序说明:注意开long long。res最后还要再模一次k,因为指数有可能等于0。代码如下:#include <iostream>#include <cstdio>using namespace std;typedef long long LL;LL fun(LL b, LL p, LL k) { LL res = 1; while(p) { if(p & 1) res =

2020-11-01 23:35:52 173

原创 洛谷P1629 邮递员送信【最短路】

题目链接:P1629 邮递员送信程序说明:注意每次只能拿一件物品,送到目的地后必须返回起点才能送下一件。因此可以将题目转化为:从1号点到其余各点的最短路,再加上其余各点到1号点的最短路即为正确答案。求多个点到1号点的最短路,可以将邻接矩阵坐标互换(即将有向图反转)。代码如下:#include <iostream>#include <cstring>using namespace std;const int N = 1010, M = 100010;int g[N

2020-11-01 21:54:30 529

原创 洛谷P1525 关押罪犯【并查集】【二分图】

题目链接:P1525 关押罪犯程序说明:贪心思想,想要将怨气值最小化,就要优先处理怨气值大的两个顶点,将他们分别放在不同的集合。enemy数组记录敌人,每次把与自己敌对的人放进一个集合。代码如下:#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int N = 20010, M = 100010;//enemy[i]表示i的敌人 int

2020-11-01 15:35:40 288

原创 AcWing 845. 八数码【BFS】

题目链接:845. 八数码 在一个3×3的网格中,1~8这8个数字和一个“x”恰好不重不漏地分布在这3×3的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把“x”与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让“x”先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:1 2 3 1 2 3 1 2 3 1 2 3

2020-11-01 11:09:40 201

原创 洛谷P1536 村村通【并查集】

题目链接:P1536 村村通程序说明:n个集合需要用n - 1条线连接起来,因此合并完集合后,循环遍历所有点,记录集合的总数,减一则为正确答案代码如下:#include <iostream>using namespace std;const int N = 1010;int p[N], n, m;int find(int x) { if(p[x] != x) p[x] = find(p[x]); return p[x];}int main() {

2020-11-01 10:10:22 371

原创 蓝桥杯 激光样式【DFS】

x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?显然,如果只有3台机器,一共可以成5种样式,即:全都关上(sorry, 此时无声胜有声,这也算一种)开一台,共3种开两台,只1种30台就不好算了,国王只好请你帮忙了。要求提交一个整数,表示30台激光器能形成的样式种数。正确答案:2178309代码如下:#include <ios

2020-10-31 13:43:33 273

原创 蓝桥杯 平方十位数【DFS】

由0~9这10个数字不重复、不遗漏,可以组成很多10位数字。这其中也有很多恰好是平方数(是某个数的平方)。比如:1026753849,就是其中最小的一个平方数。请你找出其中最大的一个平方数是多少?程序说明:注意开long long代码如下:#include <iostream>#include <cmath>using namespace std;int book[11], st[11];long long res;long long trans() {

2020-10-30 19:38:42 170

原创 洛谷P1145 约瑟夫

题目链接:P1145 约瑟夫程序说明:模拟,假设数到m杀一个,剩余n个人,从第i号人开始数数,下一个杀掉的是第i+m-1(i+m-1<n)个人。到后面i+m-1可能会超过n,要回到开头数,所以杀掉的是(i+m-1-1)%n+1个人只要杀的人的编号>k就不是好人注意下标从0开始。代码如下:#include <iostream>using namespace std;int k;int main() { cin>>k; int m = k + 1

2020-10-28 12:48:19 1047 1

原创 洛谷P1996 约瑟夫问题【队列】

题目链接:P1996 约瑟夫问题#include <iostream>#include <queue>using namespace std;int n, m, cnt = 1;int main() { queue<int> q; cin>>n>>m; for(int i = 1; i <= n; i++) q.push(i); while(n) { i

2020-10-28 09:09:18 344

原创 蓝桥杯 牌型种数【DFS】

小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。答案:3598180程序说明:dfs有两个参数,cnt记录选了多少张牌,k记录递归了多少层(分析可知最多不能超过13层)。cnt等于13时代表正好凑够了13张牌,res就加一。当拿到的牌数大于13,或者递

2020-10-24 18:42:20 259

原创 蓝桥杯 后缀表达式

【问题描述】给定 N 个加号、M 个减号以及 N + M + 1 个整数 A1, A2, ··· , AN+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N + M +1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?请你输出这个最大的结果。例如使用1 2 3 + -,则 “2 3 + 1 -” 这个后缀表达式结果是 4,是最大的。【输入格式】第一行包含两个整数 N 和 M。第二行包含 N + M + 1 个整数 A1, A2, ··· , AN+M+1。【输出格式】输出

2020-10-18 00:01:11 434

原创 蓝桥杯 组队【DFS】

作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员,组成球队的首发阵容。每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1号位至 5 号位的评分之和最大可能是多少?1 97 90 0 0 02 92 85 96 0 03 0 0 0 0 934 0 0 0 80 865 89 83 97 0 06 82 86 0 0 07 0 0 0 87 908 0 97 96 0 09 0 0 89 0 010 95 99 0 0 011 0 0 96

2020-10-17 23:46:13 582 2

原创 蓝桥杯 航班时间

题目链接:AcWing 1231. 航班时间【问题背景】小h前往美国参加了蓝桥杯国际赛。小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到“现在飞机飞得真快,两小时就能到美国了”。小h对超音速飞行感到十分恐惧。仔细观察后发现飞机的起降时间都是当地时间。由于北京和美国东部有12小时时差,故飞机总共需要14小时的飞行时间。不久后小h的女朋友去中东交换。小h并不知道中东与北京的时差。但是小h得到了女朋友来回航班的起降时间。小h想知道女朋友的航班飞行时间是多少。【问题描述】对于一个可能跨时

2020-10-17 11:44:17 348

空空如也

空空如也

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

TA关注的人

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