- Java项目中参数校验方法
DebugDiver代码深处潜水员
项目相关javapython开发语言
Java项目中参数校验方法1.参数校验的重要性2.常见的参数校验方法2.1使用`assert`关键字2.2使用`Objects.requireNonNull`2.3使用自定义异常2.4使用`Preconditions`类2.5使用HibernateValidator注解2.6使用Spring框架内的验证2.7使用JSR303/349(BeanValidation)2.8使用ApacheCommon
- Java校验注解-jsr303
瞿大官人
jsr简介jsr是JavaSpecificationRequests的缩写,意思是Java规范提案jsr303JSR-303是JAVAEE6中的一项子规范,叫做BeanValidation,HibernateValidator是BeanValidation的参考实现.HibernateValidator提供了JSR303规范中所有内置constraint(约束)的实现,除此之外还有一些附加的con
- JSR303数据校验
稚友22
后端校验技术JSR303技术,JSR-303是JAVAEE6中的一项子规范,叫做BeanValidation,HibernateValidator是BeanValidation的参考实现.HibernateValidator提供了JSR303规范中所有内置constraint的实现,除此之外还有一些附加的constraint,在springboot中使用也比较简便。1.给需要校验的字段添加校验注解
- SpringMVC_18_JSR303数据校验 和 提示消息的国际化
etron_jay
SpringMVCSpringMVCspringmvcspringJSR303数据校验提示消息的国际化
作用,在注册界面判断你的注册数据是否合法,比如是否符合一个基本的邮箱格式。JSR303是Java为Bean数据合法性校验提供的标准框架,它已经包含在JavaEE6.0中.JSR303通过在Bean属性上标注类似于@NotNull、@Max等标准的注解指定校验规则,并通过标准的验证接口对Bean进行验证。HibernateValidator是JSR303的一个参考实现,除支持所有标准的校验注解外,它
- SpringMVC_JSR303数据校验
cai_ing
SpringMVC
数据校验;只做前端校验是不安全的;在重要数据一定要加上后端验证;1、JSR303数据校验如何校验①使用JSR303验证标准②加入hibernatevalidator验证框架③在SpringMVC配置文件中增加mvc:annotation-driven/④需要在bean的属性上增加对应验证的注解⑤在目标方法bean类型的前面增加@Valid注解2、验证出错后,跳转到哪个页面3、错误消息,如何显示,如
- JSR303参数校验-SpringMVC
IDOOY
SpringFrameworkspringmvcJSR303springmvc统一异常处理参数校验
文章目录JSR303技术标准简介JSR303标准几个具体实现框架validation-apijakarta.validation-apihibernate-validatorspring-boot-starter-validationSpringValidationjavax.validation.constraints包下提供的注解org.hibernate.validator.constrai
- 【Java】Java JSR303应用解决数据校验问题,解放双手
皮卡冲撞
java开发语言JSR303
文章目录JSR303Hibernate对其实现应用进阶-注解分组使用首先声明两个空接口为实体类上的注解添加接口标记controller具体的接口方法添加分组标记异常类搭配使用说明:JSR303JSR是JavaSpecificationRequests的缩写,意思是Java规范提案。是指向JCP(JavaCommunityProcess)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,
- 表单验证 JSR303注解验证
Xr丶_c967
HibernateValidator附加的constraintConstraint详细信息@Email被注释的元素必须是电子邮箱地址@Length被注释的字符串的大小必须在指定的范围内@NotEmpty被注释的字符串的必须非空@Range被注释的元素必须在合适的范围内
- Spring Boot 使用 JSR303(@Validated) 实现参数校验
刹_那
springbootmysql后端
一:简介1.JSR-303是JAVAEE6中的一项子规范,叫做BeanValidation。2.在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。3.BeanValidation为JavaBean验证定义了相应的元数据模型和API。4.constraint可以附加到字段,getter方法,类或者接口上面。5.对于一些特定的需求,用户可以很容易的开发定制化的const
- 谷粒商城-商品服务-品牌管理-阿里云云存储+JSR303数字校验+统一异常处理
没脑袋的喵
谷粒商城java微服务
阿里云云存储OSS分布式系统上传文件分布式系统上传文件单体应用上传:上传文件到服务器,想获取文件时再向服务器发请求获取文件。分布式系统上传:因为有多台服务器,为防止负载均衡导致获取文件时没找到对应的服务器,所以使用专门的存读文件服务器,或者云存储。上传方式:服务端签名后上传阿里云对象密码存在服务器客户端获取服务器依托对象密码生成的Policy信息向阿里云请求信息ossClient.generate
- springmvc数据验证
程序员不想YY啊
javaspringmvcspringmvcjava
springmvc数据验证1.springmvc数据验证是什么2.JSR3033.JSR303中含有的注解4.spring中使用JSR303进行服务端校验4.1导入依赖包4.2添加验证规则4.3执行校验4.4错误信息的展示5.分组验证5.1定义分组验证规则5.2验证时通过参数指定验证规则5.3验证信息的显示6.SpringMVC定义Restfull接口6.1增加spring配置6.2Control
- Spring中自定义数据校验器
叩丁狼
技术文章精译Spring
本文翻译:吴嘉俊,叩丁狼高级讲师通常情况下,Spring提供的内置的校验已经足够应付绝大多数需求,但是,迟早我们可能会遇到JSR303或者HibernateValidator不能处理的情况。在这篇文章中,我将会介绍如果在SpringBoot应用中创建自定义的校验注解。本文中介绍的内容,对于Springboot1.x和Springboot2.x均适用。创建需求我们来构思一个需求,我们假设在一个RES
- 《JSR303参数校验》
为人师表好少年
《基本功之Java基础》java
一、基础概述1.简介JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并增加了校验注解如@Email、@Length等。SpringValidation是对hibernatevalidation的二次封装,用于支持springmvc参数自动校验。2.依赖org.springframewo
- 全局异常处理以及自定义异常
听钱塘信起
springboot一些小案例java
目录一、使用全局异常处理的好处二、异常处理自定义错误页面页面优化:隐藏异常信息自定义发生NotFoundException时,跳转至404页面:一、使用全局异常处理的好处1、将系统产生的全部异常统一捕获处理。2、自定义异常需要由全局异常来捕获。3、JSR303规范的validator参数校验器、参数校验不通过、本身无法使用try.....catch二、异常处理2.1、定义错误页面404代表资源不存
- 【电商项目实战】MD5登录加密及JSR303自定义注解
Java方文山
电商项目实战电商项目全局异常抓捕JSR303MD5加密rediscookie
欢迎来到我的CSDN主页!我是Java方文山,一个在CSDN分享笔记的博主。推荐给大家我的专栏《电商项目实战》。点击这里,就可以查看我的主页啦!Java方文山的个人主页如果感觉还不错的话请给我点赞吧!期待你的加入,一起学习,一起进步!目录一、登录功能实现1.数据接收类2.数据响应类3.功能实现二、全局异常抓捕1.自定义异常2.全局异常抓捕三、JSR303验证1.JSR303验证2.自定义JSR30
- SpringBoot业务开发 05、SpringBoot集成JSR303实现参数校验+全局异常捕捉
长路 ㅤ
#SpringBootspringbootjava后端
文章目录前言一、认识JSR303注解二、优雅入参校验引入校验器依赖2.1、实现基本的入参校验异常处理(思路+代码)2.2、实现自定义参数校验注解2.3、实现分组校验(多场景的复杂校验,分析+代码)三、全局异常捕捉(完美针对优雅入参异常响应)3.1、场景介绍及思路分析3.2、实现全局异常捕捉参考资料前言对于请求参数校验一直都是一个比较麻烦的问题,因为一旦请求中的参数有多个时,我们如果仅仅通过一个个进
- 统一异常处理及其JSR 303
你曾经是少年
java
JSR303JSR303是Java规范请求的一种,它定义了JavaBean验证规范,也被称为BeanValidation。JSR303提供了一种声明性的方式来验证Java对象的属性和约束条件。JavaBeanValidation是一种在应用程序中执行验证的框架,它使开发者能够通过注解或XML配置描述对象的约束条件,并使用验证器来验证对象的属性是否符合这些约束。这样可以确保数据的完整性和一致性。JS
- JSR303数据校验
flash20230513
java
依赖javax.validationvalidation-api2.0.1.Finalorg.hibernate.validatorhibernate-validator6.1.7.Final注解使用空检查@Null验证是否为null@NotNull验证是否不为null,无法查检长度为0的字符串@NotBlank检查约束字符串是不是Null还有被Trim的长度是否大于0@NotEmpty检查约束元
- 前端自定义校验
程序猿小张哇
学习vue.jsjavascripthtml5
目录前端elment-ui校验器正则表达式校验JSR303数据校验统一异常处理JSR303分组校验自定义校验编写自定义注解定义校验器类自定义messasge应用前端elment-ui校验器form表单加上:rules="**"字段加上prop="*"编写valdate正则表达式校验firstLetter:[{validator:(rule,value,callback)=>{if(value===
- spring-validation实现分组校验
游侠小马哥
springjava后端
文章目录前言实际开发可能会使用到分组校验maven添加依赖简单使用高级应用分组自定义分组组合分组源码地址前言JSR303中提出了BeanValidation,表示JavaBean的校验,HibernateValidation是其具体实现,并对其进行了一些扩展,添加了一些实用的自定义校验注解。Spring中集成了这些内容,你可以在Spring中以原生的手段来使用校验功能,当然Spring也对其进行了
- 3. 内容模块管理 - 异常处理与校验
我爱布朗熊
#学成在线数据库javaspringspringbootjava-eemaven
文章目录内容模块管理一、自定义异常1.1全局异常处理器1.2自定义异常1.3异常统一响应类1.4封装通用异常信息二、JSR303校验2.1Maven坐标2.2校验规则2.3代码示例2.4捕捉校验异常2.5分组校验2.6备注三、全局异常处理23.1全局异常处理器3.2结果集3.3常用注解
[email protected]@ExceptionHandle内容模块管理一、自定义异常之
- 项目笔记---秒杀商城
lyy_sss
面试整理java开发语言
秒杀商城项目:(1)首先做了登录系统,用户传入的密码会经过两次MD5加密,目的是加强数据安全,然后将用户信息与数据库进行匹配实现一个登录功能;若登录成功则跳转到商品页面,若登录失败提示登录失败并重新跳转到登录页面。(2)登录成功后,展示商品详情页,前端技术:thymeleaf、Bootstrap、JQuery后端技术:SpringBoot、JSR303(服务端的验证框架)、Mybatis中间件Ra
- SpringBoot实现数据格式校验
放开好人
一、简单使用1.1准备JSR303检验协议,javax.validation.constraints包下注解实现。导包:javax.validationvalidation-api1.1.0.Final1.2实现给bean添加校验注解:javax.validation.constraints,并定义自己的message提示。@NotBlank(message="若不满足返回的错误描述")priva
- Spring Validation最佳实践及其实现原理
weixin_45121123
简单使用JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并增加了校验注解如@Email、@Length等。SpringValidation是对hibernatevalidation的二次封装,用于支持springmvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Sp
- SpringBoot自定义校验注解
LiaoJiaYin
springbootspringbootjava后端
自定义校验注解1.编写自定义注解根据JSR303注解的规范,必须包含Stringmessage()Class[]groups()Class[]payload()@ListValue的作用是只能接收在数组的值importstaticjava.lang.annotation.ElementType.*;importstaticjava.lang.annotation.ElementType.TYPE_
- 09-详解JSR303规范及其对应的校验框架的使用
echo 云清
学成在线java学成在线
JSR303规范校验注解前端请求后端接口时传输的参数在Controller和Service中都要校验但分工不同,因为你无法保证Service接口一定是由Controller层调用Controller中的校验代码是通用的:主要是校验请求参数的合法性,包括必填项校验、数据格式校验(如日期格式)Service中的校验代码需要根据业务规则编写:校验的是业务规则相关的内容,比如课程是否已经审核通过,如果未通
- JSR303校验
喵行星
注解相关java
步骤1:使用校验注解在Java中提供了一系列的校验方式,它这些校验方式在“javax.validation.constraints”包中,提供了如@Email,@NotNull等注解。在非空处理方式上提供了@NotNull,@Blank和@(1)@NotNullTheannotatedelementmustnotbenull.Acceptsanytype.注解元素禁止为null,能够接收任何类型(
- SpringBoot接口参数校验
Java编程之道
SpringBootspringboot参数校验
一、JSR303校验1.使用校验注解org.springframework.bootspring-boot-starter-validation2.3.2.RELEASEjavax.validationvalidation-api2.0.1.Final(1)@NotNullTheannotatedelementmustnotbenull.Acceptsanytype.注解元素禁止为null,能够接
- Spring中自定义数据校验器
叩丁狼教育
翻译:叩丁狼教育吴嘉俊通常情况下,Spring提供的内置的校验已经足够应付绝大多数需求,但是,迟早我们可能会遇到JSR303或者HibernateValidator不能处理的情况。在这篇文章中,我将会介绍如果在SpringBoot应用中创建自定义的校验注解。本文中介绍的内容,对于Springboot1.x和Springboot2.x均适用。创建需求我们来构思一个需求,我们假设在一个REST服务端中
- Spring Validation最佳实践与实现原理
程序员麦冬
技术文pythonspringjava编程语言数据库
简单使用JavaAPI规范(JSR303)定义了Bean校验的标准validation-api,但没有提供实现。hibernatevalidation是对这个规范的实现,并增加了校验注解如@Email、@Length等。SpringValidation是对hibernatevalidation的二次封装,用于支持springmvc参数自动校验。接下来,我们以spring-boot项目为例,介绍Sp
- 戴尔笔记本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行上,同理