- 23丨MySQL:数据库级监控及常用计数器解析(下)
ths512
jemter压力测试
上一篇文章中,我们讲了有关数据库的全局分析,那么在今天的文章中,我们继续看看在数据库中,如何做定向分析。还记得我在上篇文章中提到的工具吗?mysqlreport、pt-query-digest和mysql_exportor+Prometheus+Grafana。我们在上一篇中已经讲完了mysqlreport,今天我们来看看剩下的这几个。定向抓取SQL:pt-query-digestpt-query
- MySQL status查看工具mysqlreport
iteye_5617
mysql数据库
[quote]mysqlreportmakesafriendlyreportofimportantMySQLstatusvalues.mysqlreporttransformsthevaluesfromSHOWSTATUSintoaneasy-to-readreportthatprovidesanin-depthunderstandingofhowwellMySQLisrunning.mysqlr
- mysqlreport 中文文档
yishouwangnian
数据库
mysqlreport以很友好的方式显示MySQL状态变。事实上,它几乎报告了所有的状态。不像SHOWSTATUS只是在显示了100多个状态值,mysqlreport则以人性化的方式阐释和格式化了这些状态值,大大增加了其可读性。可以点击这里查看mysqlreport的例子。mysqlreport的好处是可以快速的查看各种状态参数组,从而了解服务器的运行状态情况,而无需从SHOWSTATUS的结果中
- mysql的监控工具mysqlreport安装和说明
幸福丶如此
mysql数据库mysql监控工具mysqlrepor
mysqlreport以很友好的方式显示mysql状态变。事实上,它几乎报告了所有的状态。不像showstatus只是在显示了100多个状态值,mysqlreport则以人性化的方式阐释和格式化了这些状态值,大大增加了其可读性。mysqlreport的好处是可以快速的查看各种状态参数组,从而了解服务器的运行状态情况,而无需从showstatus的结果中人工计算。例如索引读取比率是个重要的参数,但是
- 25、mysqlreport(my.cnf)调优工具
何以.解忧
25.1、mysqlreport介绍:mysqlreport以很友好的方式显示MySQL状态变。事实上,它几乎报告了所有的状态。不像SHOWSTATUS只是在显示了100多个状态值,mysqlreport则以人性化的方式阐释和格式化了这些状态值,大大增加了其可读性。25.2、安装mysqlreport:MySQLReport是用perl语言编写,所以想要运行它首先需要安装perl环境;它还要与My
- 性能分析之MySQL Report分析
软件测试学习提升
MySQLreport分析基本信息mysql当前的版本,运行的时间,以及当前系统时间。MySQL服务器版本信息表明MySQL服务器包含和不包含哪些特点。MySQL服务器运行时间表明报告价值的代表性。服务器运行时间对于评估报告是很重要的,因为如果服务器不运行几个小时的话,输出报告有可能存在曲解和误导性。有时甚至运行几个小时时间都是不够的,比如,MySQL服务器运行了午夜的6个小时几乎没有业务访问过。
- mysqlreport 安装&使用
kaibisky
安装包:mysqlreport-3.5.tgz下载地址:http://hackmysql.com/scripts/mysqlreport-3.5.tgz安装办法:[root@nagios~]#tar-xvfmysqlreport-3.5.tgz使用办法:[root@nagios~]#cdmysqlreport-3.5[
[email protected]]#perlmysqlrep
- mysql innodb的监控(系统层,数据库层)
mysqlinnodb的监控(系统层,数据库层)关于MySQL的监控,mysql提供了数据采集的命令,比如showstatus命令或者读取数据库informat_schema的GLOBAL_STATUS对象;也可以用一些现成的监控工具进行查询,目前用的比较多的innotop、mysqlreport、mtop、mytop,还有淘宝perl语言研发的orzdba。就监控的指标而言,有系统层面的,数据库
- MySQL 线程池
王之子
阅读更多MySQL采用多线程来处理并发的连接,通过mysqlreport中的Threads部分,我们可以看到线程创建的统计结果:每秒创建43.6个线程,虽然创建线程的开销不值一提,但是当系统比较繁忙的时候,我们当然不希望再给它添麻烦。一个比较好的办法是在应用中尽量使用持久连接,这将在一定程度上减少线程的重复创建。另一方面,从上面的Cache=0可以看出,这些线程并没有被复用,我们可以在my.cnf
- MySQL 线程池
王之子
阅读更多MySQL采用多线程来处理并发的连接,通过mysqlreport中的Threads部分,我们可以看到线程创建的统计结果:每秒创建43.6个线程,虽然创建线程的开销不值一提,但是当系统比较繁忙的时候,我们当然不希望再给它添麻烦。一个比较好的办法是在应用中尽量使用持久连接,这将在一定程度上减少线程的重复创建。另一方面,从上面的Cache=0可以看出,这些线程并没有被复用,我们可以在my.cnf
- MySQL 临时表
王之子
阅读更多我们会在一些SQL查询中分析出现Usingtemporary的状态,这意味着查询过程中需要创建临时表来储存中间数据,我们需要通过合理的索引来避免它。另一方面,当临时表在所难免时,我们也要尽量减少临时表本身的开销,通过mysqlreport报告中的CreatedTemp部分,我们可以看到:MySQL可以将临时表创建在磁盘(Disktable),内存(Table)以及临时文件(File)中,显
- MySQL 临时表
王之子
阅读更多我们会在一些SQL查询中分析出现Usingtemporary的状态,这意味着查询过程中需要创建临时表来储存中间数据,我们需要通过合理的索引来避免它。另一方面,当临时表在所难免时,我们也要尽量减少临时表本身的开销,通过mysqlreport报告中的CreatedTemp部分,我们可以看到:MySQL可以将临时表创建在磁盘(Disktable),内存(Table)以及临时文件(File)中,显
- Mysql 之 性能分析(mysqlreport工具)
wx592bc92b285c7
Mysql性能分析关系型数据库
一、mysqlreport作用进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOWSTATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOWSTATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。一、mysqlreport安装[root@localh
- 运维知识体系之web应用
lnredone
软件web服务器知识应用服务
web服务器软件序号名称版本号备注1apachehttpd-2.4.3.tar.gzlamp2aprapr-1.4.6.tar.bz23apr-utilapr-util-1.5.1.tar.bz24mysqlmysql-5.5.29.tar.gz5cmakecmake-2.6.4-7.el5.i386.rpm6mysqlreportmysqlreport-3.5.gz7phpphp-5.4.11.
- windows下配置mysql数据库监视工具Mysqlreport
reblue520
该工具除了可以监控本机Mysql数据库外,也可以监控远程服务器mysql数据库需要的工具:1:perl脚本解析工具安装:http://www.activestate.com/activeperl/ 2:mysqlreport的perl脚本代码:http://hackmysql.com/mysqlreport3:单独安装apache太麻烦,直接用wamp包步骤:1、windows安装activepe
- The Guide To Understanding mysqlreport
mysqlreport
The Guide To Understanding mysqlreport This guide to understanding
mysqlreport explains everything that mysqlreport can report. It also teaches how to interpret and understand all the values in cont
- MySQL的性能调优工具:比mysqlreport更方便的tuning-primer.sh
mysqlreport
年初的时候收藏过一篇关于mysqlreport的报表解读,和内置的show status,和show variables相比mysqlreport输出一个可读性更好的报表;但Sundry MySQL提供的脚本相比mysqlreport更进一步:除了报表还进一步提供了修改建议。安装和使用非常简单:
wget
http://www.day32.com/MySQL/tuning-primer
- mysqlreport
mysqlreport
原文:http://raocl.wordpress.com/2011/01/10/test/ ,官方也有相关文档http://hackmysql.com/mysqlreportguide。不过我还是习惯看中文的。如果对某些中文翻译有疑惑可以对照着看中英文。
mysqlreport是mysql性能监测时最常用的工具,对了解mysql运行状态和配置调整都有很大的帮助。找了一些mysql的资料,发现大
- MySQL效能监控工具mysqlreport安装和中文说明
mysqlreport
管理 mysql 最让人困扰的就是如何有效的掌握 MySQL 的健康状况,因为 MySQL 虽然有提供许多系统变量值供您参考,但这些零散的数据若要手动搜集与过滤将会是一件十分没有效率的事情(除非您写 Scripts 去分析)。而接下来要介绍的这套 “工具” 其实是由 hackmysql.com 的站长所撰写的 perl Scritps,旨在协助 MySQL
- mysql性能优化工具mysqlreport
mysqlreport
进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOW STATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后DBA就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。这篇文章既不分析mysqlreport的报告含义,也不说明优化参考点的计算
- MySQL的性能调优工具
mysql
转载:MySQL的性能调优工具:比mysqlreport更方便的tuning-primer.sh
年初的时候收藏过一篇关于 mysqlreport 的报表解读,和内置的 show status,和 show variables 相比 mysqlreport 输出一个可读性更好的报表;但 Sundry MySQL 提供的脚本相比 mysqlreport 更进一
- mysql report 使用 转帖
mysql
mysqlreport 详解 2010-05-16 23:16
进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOW STATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOW STATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后DBA就可以根据这个优化参考点的值以及该点的衡量标准,进行对
- mysqlreport的使用
guogang83
mysql参数怎么调是个问题,如果是Oracle,数据库报告上有很多建议,非常直观。mysql也有一个小工具mysqlreport,来统计一些信息指导调参数,最好是写一个任务,一个小时执行一次,这样可以看到高峰、低峰时期的统计信息,更有利于参数调优。1.先下载dbi、dbd-mysql、mysqlreport-3.5。2.安装dbi和dbd-mysql,安装之前确认安装过perl。perlM
- 数据库性能优化(MySQL)
liuhao_sh
序: 即使有较长的缓存有效期和较理想的缓存命中率,但是缓存的创建和缓存过期后的重建都是需要访问数据库的。对数据库写操作不是很容易引入缓存策略。11.1查看数据库状态 可以通过showstatus、showinnodbstatus来查看MySQL数据库的状态,使用mysqlreport这个第三方工具可使数据库状态报告更好看(mysqlreport本质是通过MySQL内部命令和工具来统计状
- Mysql查询优化
username2
mysqlreport查看数据库的执行情况 1下载mysqlreport2安装的时候报错,因为没有安装DBD 解决方式:shell>perl-MCPAN-eshell cpan>installDBI cpan>installDBD::mysql安装成功。 3使用http://blog.chinaunix.net/uid-24426415-id-77301.html 4连接数据库 perlmysq
- MySQL优化步骤和my.cnf优化配置
五大三粗
1、查看机器配置,指三大件:cpu、内存、硬盘2、查看mysql配置参数3、查看mysql运行状态,可以用mysqlreport工具来查看4、查看mysql的慢查询依次解决了以上问题之后,再来查找程序方面的问题。my.cnf缓存优化在my.cnf中添加/修改以下选项:#取消文件系统的外部锁skip-locking#不进行域名反解析,注意由此带来的权限/授权问题skip-name-resolve#索
- mysqlreport指南
hongtoushizi
mysqlreport
mysqlreport是mysql性能监测时最常用的工具,对了解mysql运行状态和配置调整都有很大的帮助。找了一些mysql的资料,发现大多数是关于php+mysql开发的,服务配置基本就是固定的几条。干脆找上mysqlreport的官网,啃下来这篇指南。翻译都是随着我个人的语言习惯,对直接能用mysql命令上看到结果的英文则保留下来。方便以后查找:原文地址:http://hackmysql.c
- mysqlreport指南
hongtoushizi
mysqlmysqlreport
mysqlreport是mysql性能监测时最常用的工具,对了解mysql运行状态和配置调整都有很大的帮助。找了一些mysql的资料,发现 大多数是关于php+mysql开发的,服务配置基本就是固定的几条。干脆找上mysqlreport的官网,啃下来这篇指南。翻译都是随着我个人的语言 习惯,对直接能用mysql命令上看到结果的英文则保留下来。方便以后查找:
原文地址:http://hackmys
- mysqlreport使用详解
yan_ruo_gu
mysql调优mysql优化mysqlreport
进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOWSTATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOWSTATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。一、安装:下载mysqlreport工具,直接解压即可,下载地址: http:/
- mysqlreport使用详解
yan_ruo_gu
mysql优化mysql调优mysqlreport数据库
进行MySQL的配置优化,首先必须找出MySQL的性能瓶颈所在;而SHOWSTATUS输出的报告正是用来计算性能瓶颈的参考数据。mysqlreport不像SHOWSTATUS那样简单的罗列数据,而是对这些参考数据加以融合计算,整理成一个个优化参考点,然后就可以根据这个优化参考点的值以及该点的衡量标准,进行对应调整。一、安装:下载mysqlreport工具,直接解压即可,下载地址:http://ha
- 戴尔笔记本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行上,同理