- 将Vue工程打包为Electron:vue-cli-plugin-electron-builder
超频化石鱼
ElectronVueElectronVuebuilderelectron-vue
介绍vue-cli-plugin-electron-builder插件的作用是将一个Vue工程打包为Electron程序。官网:https://nklayman.github.io/vue-cli-plugin-electron-builder/与electron-vue对比作用目标作用方式更新维护electron-vueelectron-vue工程编译工程中的Vue代码不及时vue-cli-pl
- electron-vue 安装环境、构建+打包(mac和windows)这一篇就够了
阿毛sky
electronvue前端
由于公司需要,下一个项目需要做CS开发,技术选型分析后,选择了electron(Electron是一个使用JavaScript,HTML和CSS等Web技术创建原生程序的框架)研究发现,electron与vue-cli3.0脚手架做了很好的融合,对于我们这种用惯了vue,以及elementUI这些UI框架的Web前端开发工程师来说,实在太友好了,不过,这是一门国外框架技术,不仅是环境搭建、安装、文
- electron-vue实现与硬件进行串口通信
闲人孙大壮
electronnpmnode.jsvue.jselectron
背景:项目需求,在electron桌面应用中,实现与硬件进行串口通信,一番调研,选择了契合度高的serialport插件地址:NodeSerialport插件选择好了,接下来就是集成实现功能,它这个集成是有坑的因为版本的问题,导致在集成完后报错在网上查了各种错误,最终总结为以下步骤:前置条件1.确保你的电脑中装有python环境,并且环境为2.7(很重要)2.安装npminstall--globa
- 【Electron-Vue】构建桌面应用(4)-linux-windows-mac交叉打包
逆风飞翔的猿
Electronelectron-vue交叉打包windows打包linuxlinux打包windows
1.前言上两篇博客做了在windows下的electron-vue项目的打包发布,由于electron是跨平台的,所以需要产品支持多平台即Windows,Linux,Macos系统。于是尝试在Windows下打包成Linux/MacOS系统下的安装包,或者在Linux下打包Windows/MacOS系统下的安装包或者在MacOS系统下生成其他两个系统的安装包。2.交叉打包2.1Windows下打包
- 【Electron-Vue】搭建Electron-Vue前端桌面应用
aDiaoYa_
VueElectronvue.js前端electron
目录前言搭建前准备开始搭建第一步:全局安装vue脚手架(如果已安装,就不必进行这一步了)第二步:通过vue脚手架,创建一个vue项目第三步:进入创建好的vue项目文件,安装electron第四步:配置package.json文件和main.js文件第五步:加载vue项目第六步:运行electron命令,弹出应用框。前言最近准备写一个前端桌面应用,了解到了一个新的框架——Electron,它是一个使
- 3、electron-vue菜单栏跳转
诺风丶
electron-vueelectron-vueelectron-vueelectron
方法一:主线程与渲染线程通信(1)在主线程目录main的index.js配置如下,其中mainWindow是BrowserWindow对象...consttemplate=[{label:'主页',click(){mainWindow.webContents.send('href','home');}},{label:'设备',click(){mainWindow.webContents.send
- electron-vue使用elementui,有数据但table表格显示空白
Hi小胡
在.electron-vue目录下找到webpack.renderer.config.js文件,修改:letwhiteListedModules=['vue']-->letwhiteListedModules=['vue','element-ui']
- 使用Electron-vue创建一个桌面应用
广告位招租
Electron是一个使用JavaScript,HTML和css等web技术闯进原生程序的框架Electron+vue的解决方案,使用Electron-vue可以简单快捷的创建一个使用vue框架的electron项目
- 前端10年进化 Node.js、模块化、CommonJS、AMD、CMD、Webpack、Vue-cli、Electron-vue
森叶
Javascriptjavascriptvue.jswebpackelectron
从模块化说起模块化是什么时候提出的?怎么实现js代码的模块化,为什么要做模块化?模块化的概念在软件开发领域已经存在很长时间,但在JavaScript中的模块化发展相对较晚。以下是对您提出的问题的回答:提出时间:JavaScript中的模块化概念相对较早地提出于CommonJS规范。CommonJS是一种JavaScript模块化规范,最早在2009年由RyanDahl和其他社区成员提出,并主要用于
- Electron-vue 关于图标的修改
梅子酱~
electron
electron-vue图标提示:图标包括:启动项目时桌面主题图标,窗口左上角图标,菜单栏图标,系统托盘图标,打包安装图标、开始菜单图标、快捷方式图标等。文章目录electron-vue图标1.启动项目默认图标与窗口左上角图标2.菜单栏图标3.系统托盘图标4.打包安装包图标5.开始菜单图标和快捷方式图标6、dialog弹框图标总结1.启动项目默认图标与窗口左上角图标这两个图标均由mainWindo
- vue.js反编译_基于electron-vue开发的微信小程序反编译客户端
weixin_39996035
vue.js反编译
开源一个小程序反编译客户端咨询小程序反编译的同学比较多,虽然有开源库但是还是有同学不清楚如何去操作,所以索性做了一个客户端方便进行小程序的反编译#技术选型网上已经有大佬实现了C#版的反编译工具,博主已多年没写C#所以选择了对于前端人比较友好易于上手的技术--electron-vue,并且开发完之后可以构建为mac、Windows及Linux平台的安装包,虽然安装包可能大了一点但是还是比较香的#开发
- 解决electron-vue+element报错$attrs is readonly和$listeners is readonly问题
竹立荷塘
electronvue.jselectron前端
这篇是记录我在electron-vue中使用elementUi插件一直报错的问题,1、首先我是使用el-time-picker组件出现了各种警告和样式问题,根据晚上说的降低版本匹配版本之后还是不行,各种版本都尝试了一遍,还是会出现下面这些问题:终于最后在这里得到了解决在webpack.renderer.config.js文件里面这一个变量数组里面加上这个即可:就是要加上’element-ui’le
- Electron-vue出现GET http://localhost:9080/__webpack_hmr net::ERR_ABORTED解决方案
竹立荷塘
前端electronvue.jswebpack
GEThttp://localhost:9080/__webpack_hmrnet::ERR_ABORTED解决方案使用版本以下是我解决此问题时使用的electron和vue等的一些版本信息【附】经过测试electron的版本为13.1.4时也能解决解决方案将项目下的.electron-vue/dev-runner.js文件打开定位到第二个WebpackDevServer将第69行的注释打开重启项
- electron-vue设置的环境变量如何在打包后能正常读取到
竹立荷塘
electronelectronvue.js前端
一、主进程中获取在Electron的主进程中,环境变量在打包后可能会丢失。这是因为环境变量通常只在构建过程中使用,而不是在运行打包的应用时使用。如果你需要在打包的应用中使用某些配置,你可以考虑使用webpack的DefinePlugin插件。这个插件可以让你创建在编译时可以配置的全局常量。首先,你需要在你的webpack配置文件中添加DefinePlugin插件。在你的webpack.main.c
- webpack打包后引用cdn的js_webpack入门
weixin_39662263
内容提纲:electron-vue项目中的webpack工程实例思考webpack与gulp/gruntHMRelectron-vue项目中的webpack工程实例从electron-vue项目中的实际使用例子来入手如下是webpack.renderer.config.js文件'usestrict'process.env.BABEL_ENV='renderer'constpath=requir
- Electron-vue之serialport使用以及打包问题记录
liufeng07
node.jsnpmvue-cli3vue
electron本质上,electron就是一个带了Chrome浏览器的壳子。它结合了Chromium、Node.js和用于调用操作系统本地功能的APIs(如打开文件窗口、通知、图标等)electron-vueelectron-vue是一个结合vue-cli与electron的项目,主要避免了使用vue手动建立起electron应用程序。vueinitsimulatedgreg/electron-
- electron-vue脚手架搭建的项目,运行后报错:Object.fromEntries is not a function
web前端小学生
【web前端】【踩过的坑】vue.jselectronjavascript
electron-vue脚手架搭建的项目,运行后报错:Object.fromEntriesisnotafunction项目目录前端控制台打印错误:解决办法:安装polyfill-object.fromentries,在项目根目录执行命令npmipolyfill-object.fromentries然后再打开.electron-vue\dev-client.js引入import'polyfill-o
- electron-vue自定义窗口
weixin_42256366
electron
electron-vue自定义窗口1.主进程中添加frame:falsemainWindow=newBrowserWindow({height:563,minHeight:400,minWidth:500,useContentSize:true,width:1000,show:false,frame:false,//隐藏标题栏颜色icon:path.join(__static,'./imgs/ic
- electron-vue yarn run build 执行流程问题爬坑
渺渺空空
1.build.js中的tasks重复,这是官方bugyarnrunbuildyarnrunv1.22.17$node.electron-vue/build.js&&electron-builderC:\Users\ruiquan_liu\Desktop\pos-progict\builder\my-project-builder\.electron-vue\build.js:45consttas
- 一文搞懂Electron + Vue的开发
mordom
electron-vue不要再用了,版本太老作者也不更新,而且electron11.0才开始支持AppleSilicon(m1)机型。近期我自己也在开发一些electron+vue的跨平台项目,本文主要记录一下新起一个项目的时候需要安装哪些工具与步骤安装系统全局组件VueCLI用于创建vue项目npminstall-g@vue/cli创建标准化Vue项目vuecreatevueapp然后根据Vue
- 解决electron编译报错 (xxx文件从github下载失败)
云风xe
electrongithubnode.js
报错原因:受限于墙以及网络环境,很多人在尝试打包electron程序时都会碰到各种问题,下面以electron-vue模板为例(打包使用electron-builder),windows环境下,一步步解决打包时所遇到的错误。执行npmrunbuild,下面每一步都可能因网络原因而报错,请参照对应报错按要求手动下载对应工具即可解决报错。注意以下三点:因版本原因,文中下载地址仅作参考,请从报错信息中拷
- [开发心得]Electron应用自动升级 autoUpdater的使用。
虹梦未来
开发心得深入源码前端
前言:博主主攻后端,对于electron自动升级也是费了非常多的事儿,github、gitee也下载了很多源码。发现案例可能好用,但是很难融入公司的项目。要注意的点如下:1.Electron版本问题。2.Electron-Vue版本问题。(我手里的项目使用的electron-vue版本为"vue-electron":"^1.0.6",对应的electron是"electron":"^2.0.4",
- electron-vue报错:(index):1 Uncaught ReferenceError: require is not defined at (index):1
宝藏程序员
electronelectronvue.jsjavascript
报错:(index):1UncaughtReferenceError:requireisnotdefinedat(index):1(index):1UncaughtReferenceError:processisnotdefinedat(index):1renderer.js:1UncaughtReferenceError:moduleisnotdefinedatrenderer.js:1解决方法
- Electron-Vue程序启动控制台报错:Uncaught ReferenceError: require is not defined at (index):1
竹石七
ElectronNode.js前端
一、前言我在使用electron制作exe安装包的项目中用到了nodejs的一个usb模块,遇到了一些问题。二、问题描述npminstall安装(我的这个版本是:“usb”:“^1.6.3”,)之后,启动项目之后发现页面空白,我打开控制台发现了这样的报错:三、问题分析和解决1、分析这里需要知道electron本质是什么,来看一张图片:Chromium:为Electron提供了强大的UI能力,可以不
- Electron-vue开发桌面应用调用TSCLIB.dll(tsc标签打印机连接库)
1999笃行
PC桌面软件打印机二次开发TSC打印机开发vue.js
最新,最终解决方案http://t.csdn.cn/szQRy原因:要做个防伪标签打印软件,打印数据是来自服务器。最开始用的是JavaScript调用TSC来做打印(只能用IE浏览器,使用人员总会无意关闭IE的相关设置,使用麻烦)。干脆就做成桌面软件麻烦事少。最开始看了TSC大陆官网的dll动态连接库,有Python的例子,想用pyqt来做桌面程序;试了试之后,发现自己对Python还是太不熟悉了
- Electron+Vue手动搭建(非electron-vue方式)
咖啡与喵
成长之路vue.jselectronjavascript
以往的electron-vue框架搭建比较便捷,但是在打包时会出现一些报错。不知道是不是我的问题,所以我这次想手动搭建,使用electron比较新的版本+Vue2.x版本(由于3.x还没有着手在项目中实践故没有用)。本次博客不同以往,现在网上对electron的资料偏少,我想用更多的文字+代码把搭建描述清楚。废话不说先上环境(nodejs版本16.13.0目前最新版本16.14.0,npm版本8.
- 【electron-vue】安装+解决错误
双木又一人
electronvue.jsjavascript
前言根据参考文献进行安装electron-vue时出现错误,特来记录问题并追溯当前版本>node-vv16.20.2>npm-v8.19.4>vue-V@vue/cli5.0.8实操和问题记录参考博客electronvue搭建通过vue-cli开始搭建electron-vuevueinitsimulatedgreg/electron-vueprojectNameos:这里拉取的时间较久,选一个网速
- Electron-vue第一章:创建和自动生成嵌套路由
悍司命
vue.jselectron前端1024程序员节
#安装vue-cli和脚手架样板代码npminstall-gvue-clivueinitsimulatedgreg/electron-vuemy-project#安装依赖并运行你的程序cdmy-projectyarn#或者npminstallcnpminstall运行yarnrundev#或者npmrundev第一步:安装第二步:填坑根据提示cdmy-project并安装依赖npminstall,
- 解决electron-vue中element-ui表格无法显示问题
summer鸿
electron
1.之前用vue做过很多次项目,都没有出现类似问题,一开始我怀疑我element-ui的版本不对,陆续重新下了依赖还是不显示。2.后面解决方法是,在如下文件中加入element-ui就可以解决。
- 解决vue-electron element-UI中el-table表格不显示
Phantom1003
vue.jselectronuielementui
问题:element-UI官网上el-table组件,引入自己项目的时候表格不显示。解决方案:修改.electron-vue\webpack.renderer.config.js将letwhiteListedModules=['vue']修改为letwhiteListedModules=['vue','element-ui']即可解决。
- 戴尔笔记本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行上,同理