- 基于Docker搭建Harbor私有镜像仓库
Harbor是VMware开源的企业级Docker容器镜像仓库,支持镜像存储、访问控制、镜像复制、安全扫描、审计日志等功能,适合企业级私有化部署。1.前置环境说明Harbor的部署依赖于Docker和DockerCompose环境。鉴于Docker已在系统中完成安装,以下将重点介绍DockerCompose的配置及Harbor的安装步骤。下面示例是在线安装,离线安装可以去github下载安装包[r
- 如何构建FunASR的本地语音识别服务
FunASR简介FunASR是阿里巴巴达摩院开源的高性能语音识别工具包,支持离线识别和实时流式识别两种模式。其核心特点包括:支持多种语音任务:ASR(自动语音识别)、VAD(语音活动检测)、标点恢复、关键词检测等。提供预训练模型:覆盖中文、英文等多语言,支持不同场景(通用、会议、直播等)。支持多种部署方式:本地Python、Docker容器、ONNX推理优化等。开源地址:GitHub-FunASR
- 在Docker容器中修改PostgresSQL最大连接数
itzixiao
SQLdockerpostgresql数据库
在Docker容器中修改PostgresSQL最大连接数目录在Docker容器中修改PostgresSQL最大连接数1.首先查询当前最大连接数2.然后找到你的postgresql.conf文件3.修改配置文件4.然后重启postgres服务附Postgres中常用sql命令解决bash:vim:commandnotfound1.首先查询当前最大连接数--查看最大连接数showmax_connect
- 边缘计算监控突围:Prometheus在5G MEC环境中的瘦身方案
作者:开源大模型智能运维FreeAiOps引言:5GMEC场景下的监控挑战与机遇随着5G多接入边缘计算(MEC)的普及,监控系统面临前所未有的挑战:资源碎片化:边缘节点通常部署在资源受限的硬件上(如ARM服务器、工业网关),CPU和内存容量仅为传统云服务器的1/5网络波动性:MEC设备常位于基站侧或工厂车间,面临高丢包率(5%-15%)和间歇性断网问题数据爆炸:单台MEC设备可能承载数百个物联网终
- docker镜像加速器配置daemon.json不生效
蓝色天空的银码星
docker容器linux
现象安装docker26.1.4,启动服务拉取镜像发现超时,走的是官方镜像仓库地址,配置本地加速后/etc/docker/daemon.json,重启仍然走的官方地址加速器地址:https://docker.imgdb.de/dockerinfo|grep'RegistryMirrors'展示的是:io.docker,非我们配置的地址再继续测试:1、不通过系统服务systemctl启动docker
- MacOS 安装k8s
MartinDai1993
macoskubernetes容器
安装前准备确保本地已经安装并启动好了DockerDesktop拉取k8s镜像(如果本地网络好可以正常拉取到k8s官方镜像,可以跳过这一步)克隆git仓库到本地gitclonehttps://github.com/gotok8s/k8s-docker-desktop-for-mac.git进入项目目录,执行./load_images.sh等待所有镜像拉取完成部署k8s进入DockerDecktop的
- docker /var/lib/docker/overlay2目录把磁盘空间占满问题
laizhenghua
Dockerdocker容器运维
1、查看服务器磁盘空间df-h果然100%了,docker系统文件把磁盘空间占满了。2、进入overlay2目录,查找那个容器工作目录占用最高cd/var/lib/docker/overlay2du-h--max-depth=1详见下图好家伙占用110G!复制目录名称2c3c48ccac533c5d4a366d45a19bb91ec2270fd13c5c51cc14d0cbae309fba6d,确
- macOS 上安装 Kubernetes(k8s)
老兵发新帖
macoskubernetes容器
在macOS上安装Kubernetes(k8s)主要有三种主流方案,以下根据安装复杂度、资源占用和适用场景分类说明,并附详细步骤:⚙️一、推荐方案:Minikube(单节点本地集群)适用场景:学习、开发测试、资源有限(需2-4GB内存)。安装步骤:安装依赖工具安装DockerDesktop(推荐)或VirtualBox:brewinstall--caskdocker或brewinstallvirt
- 玩转Docker | 使用Docker部署TeamMapper思维导图应用程序
心随_风动
玩转Dockerdockereureka容器
玩转Docker|使用Docker部署TeamMapper思维导图应用程序前言一、TeamMapper介绍TeamMapper简介TeamMapper功能二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署TeamMapper服务下载TeamMapper镜像编辑部署文件创建容器检查容器状态检查服务端口安全设置四、访问TeamMapper服务五、TeamMapper基本体验打开新
- 【docker】docker本地镜像怎么导入离线服务器docker环境
九师兄
工具-dockerdocker服务器eureka
1.概述本地环境的docker镜像,怎么导入到离线环境的服务器的docker环境里面?将本地环境的Docker镜像导入到离线环境的服务器Docker环境中,通常需要进行以下步骤:步骤概述:在本地保存Docker镜像:使用dockersave命令将本地Docker镜像保存为一个tar归档文件。将归档文件传输到离线环境:将保存的Docker镜像归档文件传输到离线服务器。可以使用SCP、FTP、USB驱
- Docker实战系列:使用Docker部署AI SSH客户端工具IntelliSSH
江湖有缘
Docker部署项目实战合集docker人工智能ssh
Docker实战系列:使用Docker部署AISSH客户端工具IntelliSSH前言一、IntelliSSH介绍1.1IntelliSSH简介1.2IntelliSSH主要特点1.3主要使用场景二、本次实践规划2.1本地环境规划2.2本次实践介绍三、本地环境检查3.1检查Docker服务状态3.2检查Docker版本3.3检查dockercompose版本四、拉取IntelliSSH镜像五、部署
- docker构建springboot镜像
frt6668
SpringDockerSpringbootdockerspringbootjava
先在Linux服务器安装docker由于镜像现在访问不了,所以采用其它国内镜像的方法拉去镜像直接运行该命令:dockerpulldocker.1ms.run/library/openjdk:21前面是镜像地址,可以替换的地址有:https://docker.1ms.run毫秒镜像可用https://docker.xuanyuan.me轩辕镜像可用https://dislabaiot.xyz-可用h
- YAML基础使用教程(单引号和双引号的区别)
奔跑吧邓邓子
工具使用YAML单引号双引号
提示:“奔跑吧邓邓子”的高效运维专栏聚焦于各类运维场景中的实际操作与问题解决。内容涵盖服务器硬件(如IBMSystem3650M5)、云服务平台(如腾讯云、华为云)、服务器软件(如Nginx、Apache、GitLab、Redis、Elasticsearch、Kubernetes、Docker等)、开发工具(如Git、HBuilder)以及网络安全(如挖矿病毒排查、SSL证书配置)等多个方面。无论
- 达梦数据库监控观测最佳实践
概述达梦企业管理器简称DEM,架构如下:概略来说,每个数据库主机安装代理程序DMAgent,在监控方面,它将指标发送至DEM服务端,用户可访问DEM控制台查看数据主机和实例的监控指标,在DEM进行配置后可通过http://:8080/dem/metrics端点暴露主机和数据库的Prometheus指标,观测云DataKit可从此端点采集指标完成达梦数据库集成。前提条件监控目标可通过DMAgent上
- kafka--基础知识点--14--kafka部署
Chasing__Dreams
kafkakafkadockercompose单机集群
单机部署win10此处使用docker-compose部署,因此前提是安装好docker和docker-compose1单机部署1.1kafka-single----kafka-single ----docker-compose.yml1.2docker-compose.ymlversion:"3"services:zookeeper:image:wurstmeister/zookeeperpo
- Docker原理 Namespace
Docker是一个开源的容器化平台,使用了多种Linux内核特性来实现隔离和资源管理。其中,Namespace(命名空间)是Docker实现进程隔离的核心技术之一。Namespace提供了对操作系统资源的视图隔离,使得容器内的进程以为它们独占了系统资源。本文将详细介绍Docker的Namespace机制。一、Namespace概述Namespace是Linux内核的一项关键技术,用于隔离不同进程的
- docker 中安装 ONLYOFFICE 服务
两点王爷
docker容器运维
由于需要在线编译word文件,所以安装ONLYOFFICE服务(已知Linux机器中有docker环境)具体如下:1️⃣Linux中创建目录若是没有docker,可先在线安装docker,具体如下:Ubuntu在线安装docker命令如下:通过apt安装apt-getinstalldocker.io运行和使用docker命令systemctlstartdockersystemctlenabledo
- registry-ui docker搭建私有仓库的一些问题笔记
深圳卢先生
uidocker笔记
搭建私有仓库,用docker-registry作为仓库,docker-registry-ui作为界面。原来的docker-compose.yml如下services:registry:image:registry:2container_name:registryports:-"5000:5000"#外网访问的端口volumes:-./data:/var/lib/registry#用于持久化数据存储
- Zabbix企业级分布式监控
付出不多
zabbix分布式
目录一、zabbix监控系统1.1监控的五大核心类型1.2监控的五层逻辑架构(1)基础设施监控(2)系统层监控(3)应用层监控(4)业务监控(5)端用户体验监控二、监控系统的技术原理2.1监控系统的核心模块2.2数据采集协议分类2.3数据采集模式(1)被动模式(2)主动模式2.4分布式代理架构三、主流开源监控系统对比3.1Zabbix3.2Prometheus+Grafana3.3Nagios3.
- HBase监控
也想洒脱
JanusGraphhbase
Prometheus+Grafana搭建HBase监控参考https://blog.csdn.net/devcloud/article/details/115069449
- Kafka服务器的简单部署以及消息的生产、消费、监控
目录1.在服务器上安装Kafka1.1直接安装1.2使用镜像方式配置到服务器1.准备Kafka镜像(1)远程拉取Kafka镜像(2)在本地下载镜像并上传至服务器启动2.创建配置目录1.3编写DockerCompose文件1.4启动Kafka服务(2)测试Kafka服务2.在项目中进行调用2.1消息的生产:(1)首先安装Confluent.Kafka库(NuGet包)(2)向Kafka所在服务器生产
- docker 常见错误
零一间
服务启动失败#systemctlstartdocker.serviceJobfordocker.servicefailedbecausethecontrolprocessexitedwitherrorcode.See"systemctlstatusdocker.service"and"journalctl-xe"fordetails解决方法修改/etc/docker/daemon.json文件(j
- CentOS7脚本一键安装Docker
岚天start
dockereureka容器
安装脚本内容#!/bin/bash#卸载旧版本Docker(若有)echo"正在卸载旧版本Docker..."sudoyumremove-ydocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\docker-logrotate\docker-engine\docke
- 【K8s】专题四(4):Kubernetes 控制器之 StatefulSet
本文内容均来自个人笔记并重新梳理,如有错误欢迎指正!如果对您有帮助,烦请点赞、关注、转发、订阅专栏!专栏订阅入口Linux专栏|Docker专栏|Kubernetes专栏往期精彩文章【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决方法【Docker】(全网首发)KylinV10下MySQL容器内存占用异常的解决方法(续)【Docker】MySQL源码构建Docker镜
- docker部署dm数据库
yy1209357299
运维Linuxdocker容器运维dm
官方文档参考官网地址:https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html下载镜像地址docker部署1、加载镜像dockerload-idm8_20240613_x86_rh6_64_rq_ent_8.1.3.140_pack5.tar使用dockerimages,查看镜像和镜像标签2、创建路径,挂载备用mkd
- 达梦数据库-dm8的docker部署及其导入导出
睡不醒的双眼皮
数据库linux运维
#部署单节点dockerrun-d-p5236:5236--restart=always--name=dm8--privileged=true-eLD_LIBRARY_PATH=/opt/dmdbms/bin-ePAGE_SIZE=16-eEXTENT_SIZE=32-eLOG_SIZE=1024-eUNICODE_FLAG=1-eINSTANCE_NAME=dm8-v/dm8/data:/opt
- windows docker-01-desktop install windows10 + wls2 启用
老马啸西风
Docker容器学习实战笔记windowsdocker容器ubuntulinuxk8s运维
windows10安装docker版本信息确认需要区分windows是amd64还是arm64powershell中执行:>echo$env:PROCESSOR_ARCHITECTUREAMD64下载官方https://www.docker.com/products/docker-desktop/下载windowsamd64下载好了直接安装。如何验证powershell中dockerversion
- windows wsl2-06-docker hello world
hello-world例子就像其他任何一门语言一样,我们来体验docker的helloworld$dockerrunhello-world但是报错:~$dockerrunhello-worldUnabletofindimage'hello-world:latest'locallydocker:Errorresponsefromdaemon:Get"https://registry-1.docker
- Dockerfile 使用指南
赵大仁
运维技术nodejsdocker容器服务器运维
Dockerfile使用指南一、什么是Dockerfile?Dockerfile是一个文本文件,包含了一系列指令(Instruction),用于定义一个Docker镜像的构建过程。通过dockerbuild命令,Docker会按照Dockerfile中的指令自动构建镜像。二、Dockerfile基本结构一个典型的Dockerfile包含以下几类指令:1.基础镜像FROMnode:18-alpine
- windows docker-02-docker 最常用的命令汇总
老马啸西风
Docker容器学习实战笔记dockereureka容器ubuntumavenlinux运维
一、镜像管理命令说明常用参数示例dockerpull:拉取镜像dockerpullnginx:latestdockerimages查看本地镜像dockerimages-a(含中间层镜像)dockerrmi删除镜像dockerrmi-f$(dockerimages-q)(强制删除所有镜像)dockerbuild-t.构建镜像dockerbuild-tmyapp:v1-fDockerfile.prod
- 戴尔笔记本win8系统改装win7系统
sophia天雪
win7戴尔改装系统win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
- BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
- MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
- 发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
- 动画合集
换个号韩国红果果
htmlcss
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
- 网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
- java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
- [Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
- 自己写的一个繁体到简体的转换程序
asialee
java转换繁体filter简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
- android意图和意图监听器技术
百合不是茶
android显示意图隐式意图意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
- spring3中新增的@value注解
bijian1013
javaspring@Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
- Jboss启用CXF日志
sunjing
logjbossCXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
- 【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
- struts2验证框架的使用和扩展
白糖_
框架xmlbeanstruts正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
- 记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
- 编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
- 读书笔记5
chengxuyuancsdn
重复提交struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
- [时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
- easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracleORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected]:1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
- 简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
- C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
- 解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
- 高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
- 三点定位的算法
haoningabc
c算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
- epoll使用详解
jimmee
clinux服务端编程epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
- Hibernate对Enum的映射的基本使用方法
linzx0212
enumHibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
- 第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 孙子兵法
roadrunners
孙子兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
- MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
- zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理