- 【原生JS】如何优雅地读、改location.search(queryString或GET参数)
warmbook
前端javascript开发语言ecmascript
应用场景location.search完全由JS脚本管理,并且需要不刷新页面地修改其内容。例如在Oauth2授权中,如果是前端取参提交给后端API向平台方请求accessToken,需要及时删除GET参数中的code,以防用户刷新浏览器导致用失效的code处理登录。实现思路将queryString转为对象并用ES6的Proxy代理,在set、delete钩子中调用history.replaceSt
- Vue<router-view></router-view>学习心得
立志成为架构师
vue.jsjavascripthtml
今天看到个Vue项目结构中使用到了,于是了解学习了用法。首先来看router下的index.jsexportdefaultnewRouter({mode:'history',routes:[{//首页跳转到/homepagepath:'/',redirect:'/homepage',name:'zhuye'},{//这是homepage页面的说明,说明使用的页面是homepage。其子页面是lis
- canvas开发动态足迹图
小蒋是个老程序员了
前端javascripthtml
canvas平时用的不多,但是有些开发场景还真得用它才能实现需求,这不,前段时间有一个这样的足迹图的需求,以下是实现的代码:-->{{historyItem.chatTitle}}{{historyItem.time}}import{onBeforeMount,ref,watch}from'vue'importNavHeaderfrom'@/layouts/Header.vue';//import
- 前端路由的hash模式和history模式
bsr1983
前端hashhistory路由模式
hash模式和history模式是前端路由实现的两种常见方式,分别基于不同的浏览器特性实现。下面从浏览器实现、前端框架实现及相关标准定义三个方面详细解释这两种模式。1.浏览器实现1.1Hash模式•核心机制:•基于浏览器的location.hash属性和hashchange事件。•#后的内容(如#home)被称为“fragmentidentifier”,不会被浏览器发送到服务器,因此只在前端有效。
- React 路由
老谭TYH
前端react.js
一、路由模式我们一直在使用的路由方式是BrowserRouter,也就是浏览器的路由方式,其实React还有几种路由方式:1、BrowserRouter:浏览器的路由方式,也就是在开发中最常使用的路由方式2、HashRouter:在路径前加入#号成为一个哈希值,Hash模式的好处是,再也不会因为我们刷新而找不到我们的对应路径3、MemoryRouter:不存储history,所有路由过程保存在内存
- Nginx部署Vue项目添加访问后缀
星巡打杂工
vue.jsnginxjavascript
有时候会根据需要,区分不同的vue项目,这样要加一个后缀,不加后缀,访问是http://localhost/,加一个后缀,app,访问路径就是http://localhost/app一、vue工程配置:1.vue.config.jspublicPath配置为/app/2.route配置base为/app,model为history将打包后vue工程文件放入/usr/share/nginx/html
- linux运维--常用命令
神慕蔡蔡
linux运维基础linux运维
linux基础命令笔记01解藕whatwherewhenwhichwhy运维开发工程师开发运维工具history!n:查看执行!-n:查看执行倒数命令ctrl+r:搜索tab#包:[root@clq~]#rpm-qa|grepbash-combash-completion-2.7-5.el8.noarch#命令补全:[root@clq~]#whwhatiswhereiswhichwhilewhip
- Linux日常运维-history
dessler
Linux进阶#Linux日常运维运维linux服务器
作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。本小章内容就是Linux进阶部分的日常运维部分,掌握这些日常运维技巧或者方法在我们的日常运维过程中会带来很多方便。主要从以下几个部分来讲解:Linux日常运维-主机名&hostsLinux日常运维-history(本章节)Linux日常运维-SSHD(一)Linux日常运维-S
- CV高手是怎么炼成的?
工具
引言你平时都怎么复制粘贴的?是否每次都是复制一段粘贴一段?是否厌倦了每次只能复制粘贴一次的限制?那这篇文章就是为你量身订做的。CopyQ简介CopyQisclipboardmanager–adesktopapplicationwhichstorescontentofthesystemclipboardwheneveritchangesandallowstosearchthehistoryandco
- SpringBoot logback日志配置
erghtt
程序员springbootlogback后端
日志文件在达到10MB时进行切割,产生一个新的日志文件(如:spring.1.log、spring.2.log),新的日志依旧输出到spring.log中去,默认情况下会记录ERROR、WARN、INFO级别消息。logging.file.max-size:限制日志文件大小logging.file.max-history:限制日志保留天数自定义日志配置由于日志在ApplicationContext
- Vue项目打包部署与路由配置深度解析
程序员
在Vue.js项目的开发和部署过程中,配置打包路径和路由模式是两个至关重要的环节。下面,我们将详细探讨如何根据需求将Vue项目打包部署到域名的根路径或二级路径,并深入解析hash路由与history路由的配置方法。一、Vue项目打包部署1.配置vue.config.jsvue.config.js是VueCLI项目的配置文件,用于定制项目构建过程中的各种选项。其中,publicPath属性决定了打包
- Python中用ollama库实现连续对话
longnershot
python开发语言AI编程
找来找去没找到一个简单示例,用4o和问心来回调整简单生成了一个,抛砖引玉了。importollamadefchat_with_ollama():#初始化一个列表来存储对话历史,每个元素是一个包含用户输入和模型回复的元组history=[]whileTrue:#获取用户输入,并转换为小写,方便后续判断退出条件user_input=input("\nUser:")#判断用户是否想要退出对话ifuser
- linux系统安全配置教程和安全基线核查教程
o你的昵称o
linux系统安全运维网络安全
文章目录root用户远程登录限制更改ssh默认端口设置安全的用户口令策略设置安全的用户锁定策略登录超时安全设置应用安装运行策略系统日志审计策略设置history时间戳远程连接安全配置恶意代码防范:日志外发配置日志留存设置正确配置防火墙或安全组root用户远程登录限制配置原因:黑客和不法分子经常会利用默认用户进行密码爆破入侵,比如默认的root用户;在云服务器和内网的使用场景必须开启ssh才能方便进
- Vue 开发者的 React 实战指南:路由和导航篇
作为Vue开发者,在迁移到React开发时,路由系统的差异是需要重点关注的部分。本文将从VueRouter的使用经验出发,详细介绍ReactRouter的使用方式和最佳实践。基础路由配置VueRouter配置在Vue中,我们通常这样配置路由://router/index.jsimport{createRouter,createWebHistory}from'vue-router';importHo
- Quartus sdc UI界面设置(二)
落雨无风
IC设计fpgafpga开发
Quartussdc设置根据一配置quartus综合简单流程(一)上次文章中,说了自己写sdc需要配置的分类点,这次将说明在UI界面配置sdc。1.在Quartus软件中,导入verilog设计之后,打开Tools/TimeQuestTimingAnalyzer界面大致分为上下两部分,上半部分左侧显示Report、Tasks,右侧显示欢迎界面;下半部分显示Console和History,此处缺图,
- 吃烤肉
瑾夕儿
李瑾夕图片发自AppIamusedtoenjoyinglife,andIamusedtofeelingahotlifeinmylife.图片发自AppIhopethatyourloveforlifewillbereplacedbyonepointandwillnotbearyourresults.图片发自AppChina'sfoodculture,ifithasalonghistory,isals
- 学习小组Day4笔记--王英芳
一万万万万
R语言基础准备工作电脑用户名需要是英文R基础,Rstudio人性化界面资源Rfordatasciencechapter1下载RandRstudio给自己一个全新的R语言环境R是什么一种变成语言,统计计算和绘图的环境,汇集了许多函数,强大分析功能。图形界面Rstudio开源集成开发环境IDE4个板块,脚本编辑器,控制台(脚本运行,结果显示),environment(对象/变量列表)history,文
- 【React Native】路由和导航
卿卿qing
reactnativereact.jsjavascript
RN中的路由是通过ReactNavigation组件来完成的Stack路由导航RN中默认没有类似浏览器的history对象在RN中路由跳转之前,需要先将路由声明在Stack中navigation.navigate('Details')Stack.Navigator作用于整个导航(包含多个屏幕)initialRouteName初始化路由,即默认加载的路由headerMode声明屏幕头部信息scree
- Linux命令行中几个使用history相关的技巧
老率的IT私房菜
当你频繁使用Linux命令行时,有效地使用历史记录可以大大提高生产力。1.使用HISTTIMEFORMAT显示时间戳当在命令行输入history时,它将显示序号和命令。出于审计目的,将时间戳与命令一起显示可能会有所帮助。[root@localhost~]#exportHISTTIMEFORMAT='%F%T'[root@localhost~]#history|less2.使用Ctrl+r搜索历史记
- Vue-Router/Vue组件
_nut_
前端Vuevue前端
Vue-Router一、安装npminstallvue-router@3确保安装VueRouter的版本与你的Vue版本兼容。例如,vue-router@4是为Vue3设计的,而vue-router@3是为Vue2设计的。如果你使用Vue3,应安装vue-router@4。二、使用在router文件夹下新建index.js导入路由:createRouter和createWebHistory:确保你
- 初见flyway
simple哇
数据库数据库
flyway(一种数据库版本控制工具document)两种文件V和RV:V开头是不可重复执行的文件,每次修改完都该更改名称R:R开头是可重复执行的文件,需要保证内部sql都是可以重复执行的名称格式:V__table_name.sql,R__table_name.sql操作baseline:以现在数据库状态为基准,创建flyway_schema_history表,以及相关信息填充[类似初始化]mig
- 【漏洞挖掘】——53、 WebSocket安全概览
FLy_鹏程万里
【WEB渗透】websocket安全网络协议渗透测试信息安全网络安全web渗透
文章前言在一次做项目的时候本来是想去点击Burpsuite的Proxy界面的HTTPHistory选项卡来查看HTTP历史请求记录信息并做测试的,但是在查看的时候却下意识的点击到了HTTPProxy右侧的"WebSocketsHistory"选项卡中,从界面的交互历史中发现网站有使用WebSocket进行通信,虽然之前有对Websocket有一些简单的了解(比如:跨越问题),但是未对此进行深入研究
- 05-树9 Huffman Codes(C)
L_glonar
c语言数据结构
日常,这一次,耗费我三天,其实第二天时便已经将对整个框架有清晰的了解了,(看了解析了),但是一步步排除,确实让我学到了很多。In1953,DavidA.Huffmanpublishedhispaper"AMethodfortheConstructionofMinimum-RedundancyCodes",andhenceprintedhisnameinthehistoryofcomputersci
- 手写 Vue Router 中的 Hash 模式和 History 模式
It Works
vue.js前端
VueRouter是Vue.js的官方路由库,负责管理Vue应用中的页面导航。它与Vue.js核心深度集成,让用Vue.js构建单页应用变得轻而易举。VueRouter提供两种常见的模式:Hash模式和History模式。这两种模式的主要区别在于它们如何管理URL,以及如何与浏览器的历史记录API交互。1.URL路由的基本概念VueRouter是Vue官方的客户端路由解决方案。客户端路由的作用是在
- 在 Spring MVC 中部署路由为history模式的vue项目
Faith-J
springmvcvue.js
为了处理Vue.js的History模式,需要在SpringMVC中配置一个控制器来转发所有的非API请求到index.html。这样,前端路由可以接管URL并正确显示Vue.js组件。创建一个控制器(例如ForwardingController)来处理所有的前端路由:importorg.springframework.stereotype.Controller;importorg.springf
- Node.js Google Cloud Natural Language API 教程
江奎钰
Node.jsGoogleCloudNaturalLanguageAPI教程nodejs-languageThisrepositoryisdeprecated.Allofitscontentandhistoryhasbeenmovedtogoogleapis/google-cloud-node.项目地址:https://gitcode.com/gh_mirrors/no/nodejs-langua
- 浏览器前进或者回退 监听 发送接口
kilito_01
前端javascripthtml
mounted生命周期中//清空回退的历史纪录history.pushState(null,null,document.URL);//监听前进或者后退window.addEventListener('popstate',this.onPopstateFn)beforeDestroy生命周期中//清除监听window.removeEventListener('popstate',this.onPop
- react-router-dom v6类式组件class实现编程式路由导航
冷若烟然
由于react-router-dom升级到6版本后,无法按照this.props.history.push()进行编程式导航,此时props会提示是空值,v6文档里把路由组件默认接受的三个属性给移除了,官网文档里给出的解决方案是使用useNavigate()这个hook,但是hook只能存在于无状态组件,无法用在类组件中,官方文档里给出的类组件实现编程式导航的解决方案如下图:通过Navigate这
- 转码日记——Javascript笔记(14)BOM对象
zzcoding_
转码日记javascript前端html5
BOM(browserobjectmodel)浏览器对象模型在BOM中,为我们提供了一组对象,用来帮助我们完成对浏览器的操作。BOM对象:Window(代表整个浏览器的窗口,同时也是网页中的全局对象),Navigator(代表当前浏览器的信息,通过该对象可以识别不同的浏览器),Location(代表当前浏览器的地址栏信息,可以获得地址栏信息并操纵浏览器跳转页面),History(代表浏览器的历史记
- JavaScript初级——History
Fan_web
前端学习分享css前端javascript开发语言html
1、属性:length——可以获取到当前访问的链接数量。2、方法:①back()——可以用来回退到上一个页面,作用和浏览器的回退按钮一样②forward()——可以跳转下一个页面,作用和浏览器的前进按钮一样③go()——可以用来跳转到指定的界面——需要一个整数作为参数:1:表示向前跳转一个页面,相当于forward()2:表示向前跳转两个页面-1:表示向后跳转一个页面-2:表示向后跳转两个页面本文
- 戴尔笔记本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行上,同理