- python抓包与解包_Python—网络抓包与解包(pcap、dpkt)
weixin_39691055
python抓包与解包
pcap安装[root@localhost~]#pipinstallpypcap抓包与解包#-*-coding:utf-8-*-importpcap,dpktimportre,threading,requests__black_ip=['103.224.249.123','203.66.1.212']#抓包:param1eth_name网卡名,如:eth0,eth3。param2p_type日志捕
- Windows Edge 兼容性问题修复
马卫斌 前端工程师
edge
当遇到MicrosoftEdge浏览器的兼容性问题时,您可以尝试以下几种解决方案:解决方案1:通过注册表编辑器禁用渲染器完整性检查针对一些特定情况,您可能需要关闭Edge浏览器的渲染器完整性检查以解决兼容性问题。按照以下步骤操作:1.按Win+R键打开“运行”对话框,输入regedit并回车打开注册表编辑器。2.导航至以下路径:计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Pol
- Linux系统定时备份mysql数据库
er_得一
数据库mysqloracle
1、创建shell脚本mysql_db_backup并赋予执行权限#!/bin/bash#备份目录BACKUP=/data/backup/db#当前时间DATETIME=$(date+%Y-%m-%d_%H%M%S)echo$DATETIME#数据库地址HOST=localhost#数据库用户名DB_USER=root#数据库密码DB_PW=pwd@123#备份的数据库名DATABASE=Apol
- git切换分支时,如何保存当前分支的修改(暂时不想提交)
旅行者xy
有时候我们在一个分支中修改了部分文件,这时候,有个新的紧急任务,需要马上修改。一个好的想法是切换到一个新的分支,在新的分支上进行修改提交。可是这时候你使用gitcheckoutnew_branch时会提示错误信息:*error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbycheckout:config/database.phpPle
- Ambari——编译——解决解决windows和linux下phantomjs链接超时问题
空了虾摸索
Ambariambari-排错ambariwindowslinux
您的支持是我继续创作与分享的动力源泉!!!您的支持是我继续创作与分享的动力源泉!!!您的支持是我继续创作与分享的动力源泉!!!错误日志:[INFO]CopyingextractedfolderC:\Users\LENOVO\AppData\Local\Temp\phantomjs\phantomjs-2.1.1-windows.zip-extract-1786692611821\phantomjs
- 关于uniapp上使用websocket在H5能用,在真机不能用的问题
木公176
uni-appwebsocket网络协议
不要用本地电脑开的websocket来连接,真机(手机端)连不到本地websocket。uni.connectSocket({url:'ws://localhost:3000/chat'});解决办法:部署到服务器上面,用一个公网的websocket地址,真机上面可以正常使用。部署到服务器的时候记得开放3000端口,不然也不行。uni.connectSocket({url:'ws://8.13X.
- 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查 ...
Allen_f58e
无法向会话状态服务器发出会话状态请求。请确保ASP.NETStateService(ASP.NET状态服务)已启动,并且客户端端口与服务器端口相同。如果服务器位于远程计算机上,请检查HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection的值,确保服务器接受远
- ThreadLocal本质及脏数据、内存泄漏问题
王侦
1.WeakReference的referent指向ThreadLocal的原因ThreadLocal作为WeakReference的referent,只要ThreadLocal对象引用被置为null,Entry的key(referent)就会在下一次YGC时被回收。在使用ThreadLocal的get()和set()时,会将失效的Entry(key==null)的value置为null,使val
- docker jdk1.8+字体镜像
wcy10086
dockerjdk字体
FROMcentos:7MAINTAINERwcy# 修改成东八区RUNln-sf/usr/share/zoneinfo/Asia/Shanghai/etc/localtime&&echo'Asia/Shanghai'>/etc/timezoneRUNyum-yinstallkde-l10n-Chinesetelnet&&\yum-yreinstallglibc-common&&\yumclean
- centos7 编译安装nginx-1.14.2
YHJ
nginx
1.下载nginxhttp://nginx.org/en/download.html选择稳定版本即可Stableversion这里我们选择nginx-1.14.22.上传nginx到linux上上传路径为/usr/local/3.解压tar-xvfnginx-1.14.2.tar.gzcdnginx-1.14.24.安装依赖yuminstallgccgcc-c++pcrepcre-develzli
- java.time.LocalDateTime比较大小方法
Rcain_R
java常用方法java开发语言后端
1.now():获取当前时间//源码publicstaticLocalDateTimenow(){returnnow(Clock.systemDefaultZone());}//获取当前时间年月日时分秒LocalDateTimelocalDateTime=LocalDateTime.now();System.out.println("localDateTime="+localDateTime);输
- 【备忘】git常用命令
FTLIKON
git开源后端
gitinit在本地新建一个repo,进入一个项目目录,执行gitinit,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.gitclone获取一个url对应的远程Gitrepo,创建一个localcopy.一般的格式是gitclone[url].clone下来的repo会以url最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以gitclone[url]new
- 有未补充的信息,强制补充 vue
暴富暴富暴富啦啦啦
前端javascript数据库
当有未补充的信息时,登录进来要提醒补充信息,跳转到相应页面之后,无论点击什么都提示补充弹框(包括刷新时)方法:1.登录成功,将需要填写的字段存在本地或vuex中localStorage.setItem('xxx',值)2.登录进来之后,根据存在本地的字段判断是否需要弹框提示(引用全局弹框)3.找到侧边栏和页签所在,做个点击事件,如果有未补充的字段,则弹框提示localStorage.getItem
- (60)矩阵中的局部最大值
月临水
C语言你必须要会的C语言练习题c语言矩阵
文章目录1.每日一言2.题目3.解题思路4.代码5.结语1.每日一言烛分歌扇泪,雨送酒船香。出自唐⋅李商隐的《夜饮》2.题目题目链接:矩阵中的局部最大值给你一个大小为nxn的整数矩阵grid。生成一个大小为(n-2)x(n-2)的整数矩阵maxLocal,并满足:maxLocal[i][j]等于grid中以i+1行和j+1列为中心的3x3矩阵中的最大值。换句话说,我们希望找出grid中每个3x3矩
- jenkins指定jdk版本打包和运行项目
Grey_fantasy
jenkinsjava
背景:因为jdk8安装jenkins有很多插件有问题,导致很多自动化编译都有问题,所以我jenkins使用jdk11进行安装。全局变量配置了jdk11,直接一键式命令安装jdk8会导致jenkins异常。1、第一步,去下载jdk8版本解压。下载地址:https://repo.huaweicloud.com:8443/artifactory/java-local/jdk/8u181-b13/百度云链
- linux安装单机版spark3.5.0
爱上雪茄
大数据JAVA知识spark大数据分布式
一、spark介绍是一种通用的大数据计算框架,正如传统大数据技术Hadoop的MapReduce、Hive引擎,以及Storm流式实时计算引擎等.Spark主要用于大数据的计算二、spark下载spark3.5.0三、spark环境变量配置exportJAVA_HOME=/usr/local/jdk1.8.0_391exportJRE_HOME=/usr/local/jdk1.8.0_391/jr
- springboot echarts
赖胖子的csdn
springbootecharts后端
/*NavicatPremiumDataTransferSourceServer:localhostSourceServerType:MySQLSourceServerVersion:80019(8.0.19)SourceHost:localhost:3306SourceSchema:echartstestTargetServerType:MySQLTargetServerVersion:8001
- Java常用工具方法及工具类
tansci
Javautil
在平时开发中遇到的各种格式化工具类,整理还在继续中......目录二、数值类型保留小数点三、List去重方式四、使用AES加解密五、数字的加、减、乘、除操作六、Map转实体类七、获取周或月的开始&结束日期八、Java8日期时间类(LocalDate)九、判断是否是数字字符串一、时间工具类字符串时间格式后返回字符串返回某个时间段内的时分整点时间段packagecom.example.demo.dat
- 解决Docker容器时区不正确的问题
tboqi1
docker
二、在dockerrun命令中修改时区运行容器时,加上挂载参数dockerrun-d-v/etc/timezone:/etc/timezone-v/etc/localtime:/etc/localtime或者通过-eTZ="Asia/Shanghai"设置时区:dockerrun-d-eTZ="Asia/Shanghai"作者:lancely链接:https://www.jianshu.com/p
- Verilog语法-参数(parameter,localparam)
刘小适
Verilog设计硬件架构fpga开发
一、参数的用途Veilog中参数的关键词为parameter、localparam,它们在verilog模块的主要用途有两个:第一是便于阅读;第二是便于进行模块的修改。便于阅读很好理解,将代码中常用的数值参数化,用对应的逻辑含义来进行参数命名,这样变提高了代码的逻辑可读性。便于修改主要是两个方面,一方面是在要对代码中多处重复出现的同一值进行修改时,容易出现漏改错改的现象,使用参数后,便只用修改参数
- 解决Connection to Xxx@localhost failed.
zXuan
解决:Connectiontojianshu@localhostfailed.[08001]Couldnotcreateconnectiontodatabaseserver.Attemptedreconnect3times.Givingup.原因2019最新版本IDEA,Pycharm连接JDBC方式为Mysql6中的com.mysql.cj.jdbc.Driver,这个方法需要指定时区【serv
- ThreadLocal出现内存泄露原因分析
RobinCode
知识分享java开发语言
ThreadLocal导致内存泄漏的主要原因是它的工作方式。在Java中,ThreadLocal通过维护一个以Thread为键,以用户设置的值为值的映射来工作。每个线程都拥有其自身的线程局部变量副本,不同线程间的这些变量互不干扰。这个映射是存储在每个Thread对象的一个ThreadLocal.ThreadLocalMap字段里。当使用ThreadLocal时,以下两个因素相互作用可能导致内存泄漏
- HIVE表中导入导出数据的几种方式
qq_37805784
hive大数据数据仓库
一:往HIVE表中导入导出数据语法结构:[]带括号的表示可选择字段LOADDATA[LOCAL]INPATH‘filepath’[OVERWRITE]INTOTABLEtablename[PARTITION(partcol1=val1,partcol2=val2…)]各种参数说明:1-hive只对导入该表中的数据按照自己的方式处理,对于错误的数据不管,超出直接丢弃。2-Load操作只是单纯的复制/
- 错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
xh的世界
mysqladb
错误ERROR1045(28000):Accessdeniedforuser'root'@'localhost'(usingpassword:YES)意味着您尝试使用MySQL的root用户登录,但是提供的密码不正确,或者root用户没有从localhost登录的权限。要解决这个问题,您可以尝试以下几个步骤:步骤1:确保您使用的是正确的密码确认您记得的root密码是正确的。如果您不确定密码是否正确
- 【EZ9999】RuntimeError: call aclnnRsubs failed
内卷焦虑人士
服务器运维昇腾nnae华为
报错如下:RuntimeError:callaclnnRsubsfailed,detail:EZ9999:InnerError!EZ9999Cannotparsejsonforconfigfile[/usr/local/Ascend/nnae/latest/opp/built-in/op_impl/ai_core/tbe//kernel/config/ascend910/sub.json].Tra
- 22.2 线程安全及性能:ThreadLocal(❤❤)
与海boy
Java工程师(后端开发)java
22.2线程安全及性能ThreadLocal1.简介1.1使用场景2.ThreadLocal实现线程独享对象2.1基于SimpleDateFormat讲解ThreadLocal优势1.2个线程分别使用SimpleDateFormat对象2.10个线程甚至更多使用SimpleDateFormat对象3.基于线程池使用SimpleDateFormat对象4.优化SimpleDateFormat对象反复
- Linux的输出、输入重定向和管道
程丶的摆烂日常
linuxlinux服务器运维
目录输出重定向输入重定向和>>见这个命令的正确结果输出到一个文件中[root@bogon~]#cat/etc/hosts127.0.0.1localhostlocalhost.localdomainlocalhost4localhost4.localdomain4::1localhostlocalhost.localdomainlocalhost6localhost6.localdomain6[r
- linux下golang环境配置问题记录
runscript.sh
linuxgolang运维
vscode工具,golang-dlv调试,爆出:GOPATHsettoGOROOT(/usr/local/go)hasnoeffect解决方案:环境配置PATH,需要包含GOPATH和GOROOT/bin工具箱默认放在GOPATH目录下。exportGOROOT=/usr/local/goexportGOPATH=/root/testexportPATH=$PATH:$GOROOT/bin:$G
- 【Express】创建防盗链中间件(HotLinking)
小秀_heo
Expressexpress
比如我们可以在http://localhost:3000/assets/index.html网站中获取某个图片,但是在http://127.0.0.1:3000/assets/index.html不可以获取,就是因为该网站设置了防盗链,而localhost在白名单内。constwhiteList=['localhost']constHotLinking=(req,res,next)=>{const
- SAP Spartacus Product 明细页面 meta description 标签页的数据源
JerryWang_汪子熙
例子:http://localhost:4200/Open-Catalogue/Cameras/DigitalCameras/Digital-SLR/DSLR-A330-%252BDT-18---55-mm/p/2934302该产品的metadescription的值,在Chrome开发者工具里显示如下:这个description的值,通过OCCAPI从CommerceCloud后台读取:在pro
- 戴尔笔记本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行上,同理