- Ilya新公司获10亿美元融资;支付宝将发布AI独立App支小宝 | AI头条
AI科技大本营
人工智能搜索引擎
整理|王启隆出品|AI科技大本营(ID:rgznai100)一分钟速览新闻点!前OpenAI联合创始人新公司获10亿美元融资支付宝将发布AI独立App支小宝Transformer作者创业公司Sakana.AI获1亿美元A轮融资2024外滩大会开幕,凯文・凯利谈AI时代三大趋势零一万物发布Yi-Coder系列模型微软Win11中发现国产开源大模型RWKVOpenAI定制聊天机器人市场乱象丛生AI初创
- Dot Leap 20 中文版
区块链生存指南
原文作者:BrunoŠkvorc原文链接:DotLeap.com订阅链接:dotleap.substack.comSubstrate区块链工具和界面开发教程,访问DotLeap.com(CANAAN注:中文教程可以访问Boka.network)DotLeap上线SubsocialSubsocial是一个基于substrate开发的社交链,功能上整合了Reddit,Twitter,Facebook,
- ios面试热门问题二
hong161688
ios面试ios面试cocoa
iOS中的KVO(Key-ValueObserving)是什么?它的作用和使用场景是什么?iOS中的KVO(Key-ValueObserving),全称为键值观察/监听,是苹果提供的一套事件通知机制。它允许一个对象(观察者)观察/监听另一个对象(被观察者)指定属性值的改变。当被观察对象的属性值发生变化时,KVO会自动触发监听方法,通知观察者进行相应的处理。以下是关于KVO的详细解释:KVO的作用K
- 推荐超好用的 6 款 Laravel Admin 管理模版
码匠官方账号
低代码前端后端laravel
全文3440字阅读时间约11分钟目录LaravelAdmin管理后台模板的不同类型脚手架CRUD可视化编程主题和组件库付费/开源码匠LaravelAdmin管理后台模板推荐LaravelNovaOrchidBackpackVoyagerInfyOmLaravelGeneratorArgon写在最后如果您正在为您的企业调研开发Admin管理后台的最佳方案,那么基于PHP的Laravel框架会是一个不
- mybatis update操作返回值
yyyyyuanxian
JDBCmybatis
MySQL返回的消息:10:50:14UPDATEPMT_CN.TMPLTSETSHOW_RANK=‘0’WHERE(TMPLT_ID=‘123456’)0row(s)affectedRowsmatched:1Changed:0Warnings:00.000sec代码中拿到的结果:intresult=cardTemplateDAO.updateShowRank(showRankVO);//1这个返
- iOS基础知识点012
i爱吃土豆的猫
图像http://blog.csdn.net/morewindows/article/details/73927491.KVODelegationNSNotification特点:1.1通知:通知比较灵活,不需要编写多少代码,实现比较简单;对于一个发出的通知,多个对象能够做出反应,即1对多的方式1.2代理:代理的语法比较严格,如果delegate中的一个方法没有实现那么就会出现编译警告,需要定义很
- 如何使用KVO对NSMutableArray进行监听
___1o_8o
[NSObjectmutableArrayValueForKey:]通过上面的方法获取到mutableArray并进行操作则可以对数组进行监听@property(nonatomic,strong)NSMutableArray*mtbArray;[[selfmutableArrayValueForKey:@"mtbArray"]removeObjectAtIndex:0];[[selfmutable
- 2018W1 | 5.14-5.20 | 周总结
Levi段玉磊
工作主要完成了大部分UI方面的工作,完成游戏结算页面的功能以及UI。做了一个H5游戏下载器,并与客户端以及服务端同事进行联调。读完《编写高质量代码的52个有效方法》这本书。对KVO/KVC机制有了更加深度的理解电影黑衣人1最打动人的情节,莫过于K探员为自己的工作奔劳了30多年,最终为了家庭,放弃所有,哪怕是30年的记忆,只因为爱,不忘初心。那我们工作的目的是为了什么?阅读精进:如何成为一个很厉害的
- 《深度学习之TensorFlow工程化项目实战》李金洪PDF
ACC_e1c1
《深度学习之TensorFlow工程化项目实战》李金洪PDF网盘链接:https://pan.baidu.com/s/13bDr0RunkvOZB8Uupj3nAQ提取码:8m3t
- iOS KVC & KVO
SnoopPanda
KVCKVC全称Key-ValueCoding,俗称“键值编码”,可以通过Key来访问某个属性,写在NSObject的NSKeyValueCoding分类下面。常用方法-(void)setValue:(nullableid)valueforKey:(NSString*)key;-(void)setValue:(nullableid)valueforKeyPath:(NSString*)keyPat
- BAT大厂最爱问的Java核心面试百题详细解析!帮你突破瓶颈
6年老Java
程序员java经验分享面试
线程线程的启动实现Runnab1e接口继承Thread类实现Callable接口线程的状态线程的方法线程的优先级守护线程未捕获异常处理器并发编程的问题线程引入开销:上下文切换与内存同步线程安全性(原子性+可见性)死锁线程间通信/线程同步工具使用synchronizedLockvolatileAtomicLock使用深入可重入锁ReentrantLockCondition与wait¬ify区别
- Block用法
陌巷先森
概述block:苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性。匿名函数:没有函数名的函数,一对{}包裹的内容是匿名函数的作用域。block语法block变量声明:返回值类型(^block变量名)(参数列表);//声明一个无返回值,有两个int类型参数的,叫做blk的blockvoid(^blk)(inta,intb);block表达式语法:^返回值类型(参数列表){表达式};//
- OC底层原理18 - KVO
卡布奇诺_95d2
简介KVO,全称为Key-Valueobserving,中文名为键值观察,KVO是一种机制,它允许将其他对象的指定属性的更改通知给对象。在Key-ValueObservingProgrammingGuide官方文档中,又这么一句话:理解KVO之前,必须先理解KVC(即KVO是基于KVC基础之上)。KVC是键值编码,在对象创建完成后,可以动态的给对象属性赋值,而KVO是键值观察,提供了一种监听机制,
- 最新版本的网卡版BadUSB 橡皮鸭 (功能强大)
黄鱼脑干细胞
linuxbadusbraspberry
我们需要pizerow和usb扩展板写好sd卡首先登入这个wifi:Ⓟ➃ⓌⓃ❶passwd:MaMe82-P4wnP1http://172.24.0.1:8000打开这个地址设置你的橡皮鸭kalilinuxsd卡镜像地址:(这是我能找到的最新版的kalilinux版本)链接:https://pan.baidu.com/s/16yId4shHICARCRWKvoZzNg?pwd=6666登入ssh:
- 学习数据结构和算法的第3天
blxx
算法数据结构学习
常数循环的复杂度计算Func4的时间复杂度voidFunc4(intN){intcount=0;for(intk=0;kvoidconstchar*strchr(constchar*str,intcharacter);{while(*str){if(*str==character)return0;else++str;}}假设查找的是h1最好情况:任意输入规模的最小运行次数(下界)假设查找的是wN/
- docke 常用的命令
初原挽风
docker
docker常用的命令imagescontainernetworkvolumenormalDockerfileimages查看所有镜像dockerimagels拉取镜像dockerpull:删除镜像dockerimagerm删除所有没有使用的镜像dockerimageprunecontainer创建容器dockercreate可选参数:-name为容器命名-d后台运行-p指定端口映射-e创建环境变
- 蚂蚁金服p4笔试部分,答案如下
极客夜读
蚂蚁金服面试题,答案见最下方1:在KVO中,他是怎么知道监听的对象发生了变化?2:字典的工作原理?怎100w个中是怎么快速去取value?3:一个上线的项目,知道这个方法可能会出问题,在不破坏改方法前提下,怎么搞?4:Block和函数指针的区别?我有一个iOS免费内推交流群,群里有群员内推,有面试交流,有技术讨论,有需要的加群:637919808群内交流情况:内推面试题答案:自己做的,有需要修改的
- iOS -RAC使用
搬砖的crystal
一、简介ReactiveCocoa可以说是结合了函数式编程和响应式编程的框架,也可称其为函数响应式编程(FRP)框架,强调一点,RAC最大的优点是提供了一个单一的、统一的方法去处理异步的行为,包括delegate方法,blocks回调,target-action机制,notifications和KVO。导入在项目的podfile文件中添加#RACpod'ReactiveObjC'在使用时导入#im
- iOS KVO机制
水煮杰尼龟
来自官方文档的使用步骤step调用addObserver:forKeyPath:options:context:方法来注册观察者在观察者内实现observeValueForKeyPath:ofObject:change:context:可以接收到属性发生变化的通知当观察者不再需要接收消息时,需要调用removeObserver:forKeyPath:移除监听,至少应在观察者释放之前调用。我们先
- KVC、KVO、NSNotification、delegate优缺点总结
小呀小苹果呀
KVC、KVO、NSNotification、delegate的基本概念和使用方法这里不再赘述,下文主要总结一下四者的优缺点。一.KVC优点(1)可以直接通过字符串的名字(Key)来访问类属性或成员变量,而不是通过调用Setter方法、Getter方法进行访问;(2)可以通过keyPath嵌套访问缺点(1)如果key只写错,编写的时候不会报错,但是运行的时候会报错二.KVO优点(1)能够提供一种简
- 关于KVC和KVO
游走的Fish
前言KVC/KVO在日常开发中也是经常会使用到,但是还是回到那句话,往往我们在使用一种技术时,却不知道实现原理,以及会忽略一些使用时需要注意的地方。这篇文章会对KVC/KVO做一些原理性的说明,至于使用方式,大家自行度娘,网上还是挺多了,这里就不浪费ctrl+c了。希望文章对大家有帮助,同时欢迎大家指正、交流。这篇主要说说KVO,关于KVC的相关请看这篇文章:iOS开发技巧系列---详解KVC(我
- MFC中ListCtrl,改变具体单元格的文本和背景颜色
沧澜灬
mfcc++程序人生
MFC中ListCtrl,改变具体单元格的文本和背景颜色下面展示一些内联代码片。先要创建NM_CUSTOMDRAW的消息//Acodeblockvarfoo='bar';//AnhighlightedblockvoidCStudentDlg::OnNMCustomdrawList(NMHDR*pNMHDR,LRESULT*pResult){NMLVCUSTOMDRAW*pLVCD=reinterp
- iOS中的KVC与KVO
MichealXXX
KVCKVC(Key-valuecoding)键值编码,就是指iOS的开发中,可以允许开发者通过Key名直接访问对象的属性,或者给对象的属性赋值。而不需要调用明确的存取方法。KVC的定义都是对NSObject的扩展来实现的,Objective-C中有个显式的NSKeyValueCoding类别名,所以对于所有继承了NSObject的类型,都能使用KVC(一些纯Swift类和结构体是不支持KVC的,
- KVO基本原理?
充满活力的早晨
1)KVO是基于runtime机制实现的2)当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter方法。派生类在被重写的setter方法内实现真正的通知机制3)如果原类为Person,那么生成的派生类名为NSKVONotifying_Person4)每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么
- 仿微博顶部分栏效果
一本大书
效果如下Demogit下载地址完整代码链接<<点这里使用方法//添加bottomView[self.segCollectionViewzz_addBottomLineWithScrollView:self.scrollView];实现思路1、使用分类的写法简化调用方法。2、使用KVO去监听内容collectionView的contentOffset,根据其变化让横线“动起来”。3、动画的基础参数设
- iOS Objective-C KVO 常见用法
just东东
iOSObjective-CKVO常见用法前言KVO即Key-ValueObserving是苹果提供给开发者的一套键值观察的API,在我们日常开发中经常用到KVO进行属性的观察,接下来我们将通过该篇文章对KVO的常见用法进行总结。1.观察属性的变化1.1基本的属性观察代码我们最简单的使用KVO就是观察属性的变化,在本例中,我们观察person对象的name的改变。添加观察代码:[self.pers
- swift NotificationCenter 通知的简单用法
MrLSX
通知的作用是一对多,跨界面实现调用函数,依据的是KVO//1.注册通知NotificationCenter.default.addObserver(self,selector:#selector(ceshi),name:NSNotification.Name(rawValue:"aaa"),object:nil)@objcfuncceshi(){collectionView.backgroundC
- 【iOS高级资深工程师面试篇】②、2022年,金九银十我为你准备了《iOS高级资深工程师面试知识总结》 Objective-C语言特性部分1/2 分类-关联对象-扩展-代理
宇夜iOS
#iOS-笔试题&面试题ios高级资深工程师面试总结iOS高级资深工程师分类扩展代理
iOS高级资深工程师面试篇系列-已更新3篇UI部分1/3-UITableView-事件传递&视图响应UI部分2/3-图像显示原理-UI卡顿&掉帧UI部分3/3-UIView绘制原理-离屏渲染技术:iOS底层原理、分类、关联对象、扩展、代理、通知、KVC、KVO、属性关键字《iOS高级资深工程师面试知识总结》Objective-C语言特性部分1/2分类-关联对象-扩展-代理一、[分类](https:
- (IOS)Block
rightmost
1、Block的声明格式:返回值(^Block名称)(参数类型);举例://无参无返回值的Blockvoid(^Block01)();//有参无返回值的Blockvoid(^Block02)(int);//无参有返回值的Blockint(^Blcok03)();//有参有返回值的Blockint(^Blcok04)(NSString*,NSString*);2、Block的定义格式:返回值类型(^
- swift 结构体和类的区别
Sharif_su
1.结构体是值类型,存储于栈区,因此少量内存用结构体2.类是引用类型,存储于堆区,对于大量数据采用类核心选择点1.内存选取2.赋值机制用的KVO,KVC选取类继承与NSObject3.是否考虑继承关系
- 戴尔笔记本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行上,同理