- @Import注解作用
y我见青山多妩媚
java开发语言
@Import注解作用理解springboot自动装配时,发现@SpringBootApplication注解下的@EnableAutoConfiguration注解头上有一个@Import注解。关于这个注解的作用,上网查找后发现理解的不是很明白,于是写了下面的Demo去理解。两个pojo类:publicclassPerson{}publicclassStudent{}测试类@Configurat
- 【spring boot结合rabbit mq 到点执行,可精确到秒】
ljh_learn_from_base
javaspringbootspringbootjava后端java-rabbitmq
【springboot结合rabbitmq到点执行,可精确到秒】创建队列枚举创建自定义的队列消息pojo创建队列和延迟队列发送mq消息接收mq消息DateTimeUtil测试注意点创建队列枚举publicenumQueueEnum{/***各种异步消息频道*/TEST(1,"test","队列频道"),DELAY_TEST(2,"delay_test","延迟延迟频道"),;privateInte
- Eclipse中Run As On Server和Run As Java Application
CAE虚拟与现实
JavaIDE开发环境javaeclipseide
一、名词释义runjavaapplication(作为Java应用程序运行)是运行javamain方法。runonserver是启动一个web应用服务器。二、两者的区别Eclipse中可以创建javaproject也可以创建javawebpoject。javaproject是可以直接在命令行运行,或者直接在Eclipse中运行此时运行是jvm直接调用了main方法。Eclipse中创建的javaw
- 不同编程网站应当注意的点
见合8
比赛总结c++c语言
文章目录引入:洛谷:POJ:C语言:C++:CF:个人建议:补充:引入:小伙伴们有没有遇到过这种情况:到一个新的网站去编程,思路、算法完全正确,提交上去却是WrongAnswer,RuntimeError,ComplieError,TimeLimitExceed。这里,我总结了以下几个网站的注意点:洛谷:link提交时右上角有一个选项为O2优化。这并不可以随便选。可能有些暴力程序开了O2就过了,但
- 阿里java开发手册泰山版_总结
林坰
Javajava数据库mysql
编程规约常量定义不允许任何预先未定义的常量出现在代码中。不要使用一个常量类维护所有的常量,要按常量功能进行归类,分开维护。OOP规约所有的POJO类属性必须使用包装数据类型。RPC方法的返回值和参数必须使用包装数据类型。POJO类是最简单最普通的JAVA对象,内在含义是有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。【没有从任何类继承、也没有实现任何接
- 【转载】ACM入门 .
dongfan1861
人工智能phpc/c++
初期:一.基本算法:(1)枚举.(poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历.(2)最短路径算法(dijkstra,bellman-ford,
- 如何下载52pojie、CSDN、简书、Myitmx、博客园的文章?(最新教程)
星梦客
问题记录程序人生
使用的油猴插件,具体怎么安装问一下度娘。我用的火狐,点点点就行了,省事先安装油猴拓展,启用一下Tampermonkey–下载Firefox扩展(zh-CN)在安装插件SaveToPDF脚本安装后,浏览CSDN文章时,博主信息下方会出现“收藏”按钮,52pojie页面,"收藏"按钮在发贴回复旁边,简书页面,左侧悬浮按钮下方,Myitmx页面,顶部最右侧,博客园页面,顶部管理菜单旁边点击收藏会弹出打印
- SpringBoot之基本概念
Daylight629
SpringBootjavaspringspringbootmaventomcat
SpringBoot概念一、什么是SpringSpring是一个开源框架,2003年兴起的一个轻量级的Java开发框架,作者:RodJohnson。Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。可以看我之前的文章关于spring的介绍与使用二、Spring是如何简化Java开发的为了降低Java开发的复杂性,Spring采用了以下4种关键策略:1、基于POJO的轻量级和最小侵入性
- 使用IDEA构建微服务Maven聚合工程保姆级教程
程序喵锅
经验分享intellij-idea微服务maven经验分享学习
本次喵子给大家分享一个通用的聚合工程搭建教程,细致入微、充满人文关怀的保姆级教程,基本上搭建一次后续即可作为通用模版,应用到其它项目里。一、简单了解微服务二、Maven构建聚合工程1.环境说明2.开始构建2.1.创建空的父工程2.2.创建common子工程2.3.创建pojo子工程2.4.创建mapper子工程2.5.创建service子工程2.6.创建apis子工程2.7.工程安装三、总结一、简
- java中实体pojo对于布尔类型属性命名尽量别以is开头,否则 fastjson可能会导致属性读取不到
阿文弟
java开发语言
假如我们有一个场景,就是需要将一个对象以字符串的形式,也就是jsonString存到一个地方,比如mysql,或者redis的String结构。现在有一个实体,我们自己创建的,叫做CusPojo.java有两个属性是布尔类型的,一个属性是有is开头,一个是没有is开头的,我们就可以做个对比。现在我导入fastjson依赖,创建一个CusPojo对象,然后序列化为jsonString,我们打印结果如
- springboot整合RabbitMQ
水宝的滚动歌词
RabbitMQspringbootspringbootrabbitmq
1.Spring-AMQP概念什么是Spring-AMQPSpring框架的AMQP消息解决方案,提供模板化的发送和接收消息的抽象层,提供基于消息驱动的POJO的消息监听等提供不依赖于任何特定的AMQP代理实现或客户端库通用的抽象,最终用户代码将很容易实现更易替换、添加和删除AMQP,因为它可以只针对抽象层来开发总之就是提高我们的框架整合消息队列的效率,springboot为更方便开发Rabbit
- Spring Boot 笔记 016 创建接口_删除文章分类
机器人迈克猫
SpringBootspringboot笔记后端
1.1.1Controllerpackagecom.geji.controller;importcom.geji.pojo.Category;importcom.geji.pojo.Result;importcom.geji.service.CategoryService;importorg.springframework.beans.factory.annotation.Autowired;im
- SpringMVC 的参数绑定之list集合、Map
lvpflv
SpringMVClistmvcspring
标签中name属性的值就是pojo类的属性名参数绑定4list[对象]教师编号:教师姓名:map教师编号:教师姓名:
- VO、DTO、DO、BO、PO
知行合一。。。
项目--架构mybatis
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录VO、DTO、DO、BO1.概念阿里Java开发手册分层领域模型:2.VO和DTO使用场景以下是一个使用VO和DTO的典型案例:3.BO和DTO的区别案例VO、DTO、DO、BOPOJO的定义是无规则简单的对象,在日常的代码分层中pojo会被分为VO、BO、PO、DTO。通过各层POJO的使用,有助于提高代码的可读性和可维护性
- 【千锋逆战】MyBatis的xml+接口方式实现crud功能
落羽离殇
Mybatis的xml+接口方式实现crud功能User.javapackagecom.qfedu.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;@Data@NoArgsConstructor@AllArgsConstructorpublicclassUser{privat
- SSM详细速成
一叉树
mybatisjavamysqlspringmvc
ssm速成此文对狂神说ssm整合进行解读mybatis学习+测试pojo.Books@AllArgsConstructor@NoArgsConstructor@DatapublicclassBooks{privateintbookId;privateStringbookName;privateintbookCounts;privateStringdetail;}mybatis.xml核心文件设置连
- Mybatis(千峰学习笔记)
2301_78533951
mybatis
什么是MyBatis1.MyBatis是一款优秀的持久层框架,它支持定制化SQL,存储过程及高级映射。2.MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的工作。3.Mybatis通过XML或注解的方式配置和映射原生信息。Mybatis特点:1.MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJO映射成数据库中的记录。2.MyBatis提供
- Maven高级
今天你改bug了吗?
JavaWebmavenjava数据库
一、分模块设计与开发File——new——newmoduletlias-pojo——pom.xml增加缺少的依赖二、继承与聚合2.1继承2.1.1继承关系2.1.2版本锁定2.2聚合三、私服3.1介绍3.2资源上传与下载
- Myvatis关联关系映射与表对象之间的关系
MyBatis是一种优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解进行配置,并未原生SQL提供了很好的支持。在MyBatis中,关联关系映射和表对象之间的关系是通过XML映射文件或注解来实现的。表对象,通常是Java的POJO类,对应数据库中的一张表。而关联关系映射,则
- Mybatis的三种映射关系以及联表查询
MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录。在MyBatis中,主要有三种映射关系:一对一映射:这是最简单的关系映射。
- Spring Boot 笔记 013 创建接口_查询文章分类列表
机器人迈克猫
SpringBoot笔记
1.1.1Controllerpackagecom.geji.controller;importcom.geji.pojo.Category;importcom.geji.pojo.Result;importcom.geji.service.CategoryService;importorg.springframework.beans.factory.annotation.Autowired;im
- PO、POJO、BO、AO、VO、DTO、DO、DAO
HachiLin
1.POpersistantobject:持久层对象有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。在hibernate持久化框架中与insert/delet操作密切相关。PO中不应该包含任何对数据库的操作。2.POJOplainordinaryjavaobject:无规则简单java对象传统意义的java对象。可以转化为PO、DTO、VO,比如P
- Spring Boot 笔记 015 创建接口_更新文章分类
机器人迈克猫
SpringBootspringboot笔记java
1.1.1实体类id增加NotNull注释,并做分组校验1.1.1.1定义分组1.1.1.2实体类中指定校验项属于哪个分组如果说某个校验项没有指定分组,默认属于Default分组分组之间可以继承,AextendsB那么A中拥有B中所有的校验项packagecom.geji.pojo;importcom.fasterxml.jackson.annotation.JsonFormat;importja
- java高级编程教程课后题答案,相关资料参考
Java阿里面试题
程序员java后端面试
谈起MyBatis,我先提个问:什么是MyBatis?MyBatis是支持定制化SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以对配置和原生Map使用简单的XML或注解,将接口和Java的POJOs(PlainOldJavaObjects,普通的Java对象)映射成数据库中的记录…而今天咱要聊的就是Aliba
- Spring Boot 笔记 018 创建接口_文章列表(分页)
机器人迈克猫
SpringBootspringboot笔记后端
1.1分页查询1.1.1创建pageBean封装分页的数据packagecom.geji.pojo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;importjava.util.List;//分页返回结果对象@Data@NoArgsConstructor@AllArgsConstru
- 挑战程序设计竞赛最小生成树习题(4道)及详解:C++实现
新西兰做的饭
图论挑战程序设计竞赛图论kruskalprim算法c++
最小生成树POJ1258:Agri-NetPOJ2377:BadCowtractorsPOJ2395:OutofHayAOJ2224:Saveyourcats这四道题比较基本,没有过多复杂的过程,所以整合在一篇博客,适合学过最小生成树算法后来加深理解POJ1258:Agri-Net点击进入题面最小生成树模板题,输入为图的邻接矩阵,所以优先考虑prim算法:#include#includeusing
- Spring Boot 笔记 012 创建接口_添加文章分类
机器人迈克猫
SpringBootspringboot笔记java
1.1.1实体类添加校验packagecom.geji.pojo;importjakarta.validation.constraints.NotEmpty;importlombok.Data;importjava.time.LocalDateTime;@DatapublicclassCategory{privateIntegerid;//主键ID@NotEmptyprivateStringcat
- Spring Boot 笔记 009 创建接口_更新用户基本信息
机器人迈克猫
SpringBootspringboot笔记java
1.1.1给User实体类添加校验packagecom.geji.pojo;importcom.fasterxml.jackson.annotation.JsonIgnore;importjakarta.validation.constraints.Email;importjakarta.validation.constraints.NotEmpty;importjakarta.validatio
- Spring Boot 笔记 008 创建接口_获取用户信息
机器人迈克猫
SpringBootspringboot笔记后端
1.1.1编写userinfo接口1.1.2User实体类中增加转json忽略password注释packagecom.geji.pojo;importcom.fasterxml.jackson.annotation.JsonIgnore;importcom.fasterxml.jackson.annotation.JsonInclude;importlombok.Data;importjava.
- acm常见算法及例题
weixin_34199335
转自:http://blog.csdn.net/hengjie2009/article/details/7540135acm常见算法及例题初期:一.基本算法:(1)枚举.(poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2
- 戴尔笔记本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行上,同理