c语言分配飞机10个座位,leetcode1227(飞机座位分配)--C语言实现

对于第一个乘客来说 他有三种选择

坐在正确的(自己的位置), 那么后面的乘客都不会乱,所以第n个乘客可以坐到自己的位置, 1/n * 1.

坐在第n个乘客的位置,那么第n个乘客肯定无法坐到自己的位置, 1/n * 0.

坐在[1,n-1]之间的某个位置K.

对于第K个乘客而言,自己的位置K已经被乘客1给占了,而[2,K-1]的乘客先于K乘客 上飞机,能找到自己的位置并坐下,所以当K乘客上飞机时,留给他的选择是

第1个座位,以及[K+1,n]的座位。

此时K乘客同样有3个选择,

如果他坐在正确的座位,那么后面的乘客都不会乱,第n个乘客可以坐到自己的位置,

只不过此时对于K乘客而言,正确的座位就是座位1。

坐在第n个乘客的位置,那么第n个乘客肯定无法坐到自己的位置

坐在[K+1,n-1]之间的某个位置。

可以发现对于第一个乘客和第K个乘客,他们面临的选择是一样的,只不过问题的规模不一样。第K个乘客时,问题的规模只有n-K+1. (为何, 上面已经解释过了,对于第K个乘客而言,自己的位置K已经被乘客1给占了,而[2,K-1]的乘客先于K乘客 上飞机,能找到自己的位置并坐下)。

所以此题公式为

p[1] = 1.0;

p[2] = 0.5;

p[3] = 1/3 + p[2]/3 = 0.5;

p[4] = 1/4 + p[2]/4 + p[3]/4 = 0.5

p[n] = 1/n + p[2]/n + ..... + p[n-1]/n

np[n] = 1+p[2]+p[3]+......+p[n-1];

(n+1)p[n+1]=1+p[2]+p[3]+......+p[n]

(n+1)p[n+1]-np[n]=p[n];

p[n+1]=p[n];(n>=2)

所以:

p[n]=1(n=1)

p[n]=0.5(n=2,3,4,5,...)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java数据库篇4——表的约束

Java数据库篇4——表的约束 1、非空约束 字段不允许为空 #创建表的时候添加 Create table 表名(列1 数据类型 not null,列2 数据类型,列3 数据类型 ); #创建表以后添加 Alter table 表名 modify 列名 数据类型 not null; #删除 Alter tabl…

c语言数组转置原理,为什么这个数组转置不对?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼原数组是1,2,34,5,67,8,9转置后的数组是1,4,72,5,83,6,9但结果出来的是乱七八糟的数字&#xff0c;而且最后提示出错#includevoid TransposedArray(int Arr[3][3]){shortint i,j;shortint Med;for(i0;i<2;i){for(j0;j<2;j){i…

Java数据库篇5——事务

Java数据库篇5——事务 1、什么是事务 事务是一个整体,由一条或者多条SQL 语句组成,这些SQL语句要么都执行成功,要么都执行失败, 只要有 一条SQL出现异常,整个操作就会回滚,整个业务执行失败 2、事物的特征 原子性&#xff1a;事务是不可再分的最小的操作单位一致性&#x…

c语言里寄存器.1说明意思,C语言复习+寄存器地址名称映射

C语言复习寄存器地址名称映射一.参考资料探索者STM32F4开发板&#xff1a;**《STM32F4开发指南-库函数版本》4.1小节C语言基础知识复习4.6小节 MDK中寄存器地址名称映射**STM32F4xx官方资料&#xff1a;《STM32F4xx中文参考手册》-第7章通用IO二.C语言复习位操作GPIOA->ODR|…

Java数据库篇6——多表查询

Java数据库篇6——多表查询 1、笛卡尔积 交叉连接查询 设集合A{a, b}&#xff0c;集合B{0, 1, 2}&#xff0c;则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)} 2、 内连接查询 2.1、隐式内连接 SELECT 字段名 FROM 左表, 右表 WHERE 连接条件;多…

c语言编程经典实例利润,C语言经典编程实例100题解答

C语言经典编程实例100题 答案答案 C语言经典编程实例100题C语言程序实例100个(一) 【程序1】 题目:有1、2、3、4个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数,都是多少, 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足…

Java数据库篇7——数据库设计

Java数据库篇7——数据库设计 1、第一范式 列不可再分 每一列属性都是不可再分的属性值&#xff0c;确保每一列的原子性两列的属性相近或相似或一样&#xff0c;尽量合并属性一样的列&#xff0c;确保不产生冗余数据 2、第二范式 属性完全依赖于主键或者说一个表只描述一件…

android 播放声音资源,android播放音效例子 (翻页音效、警报音效通用 只需传入声音源)...

音效播放&#xff1a;资源文件&#xff1a; res/raw/filename声音池类&#xff1a;SoundPool sp newSoundPool(同时最大播放个数&#xff0c;AudioManager.STREAM_MUSIC,0);将加载里音频文件的SoundPool添加到一个HashMap中&#xff0c;提供给以后的调用HashMap spMap newHas…

Java数据库篇8——索引、视图、存储过程、触发器

Java数据库篇8——索引、视图、存储过程、触发器 1、索引 1.1、索引是什么 在数据库表中&#xff0c;对字段建立索引可以大大提高查询速度。通过善用这些索引&#xff0c;可以令MySQL的查询和 运行更加高效 如果合理的设计且使用索引的MySQL是一辆兰博基尼的话&#xff0c;…

android--多线程,android多线程

线程的基本用法&#xff1a;android多线程编程其实并不比java多线程特殊&#xff0c;基本都是使用相同的语法&#xff0c;比如说&#xff0c;定义一个线程只需要新建一个类继承自Thread&#xff0c;然后重写父类的run()方法&#xff0c;并在里面编写耗时的逻辑即可&#xff0c;…

Java数据库篇9——备份与还原、忘记密码

Java数据库篇9——备份与还原、忘记密码 1、备份 备份的应用场景 在服务器进行数据传输、数据存储和数据交换&#xff0c;就有可能产生数据故障。比如发生 意外停机或存储介质损坏。 这时&#xff0c;如果没有采取数据备份和数据恢复手段与措施&#xff0c;就会导致数据的丢 …

android的ui怎么做到流畅,android提高UI的流畅度

android提高UI的流畅度Android中所有的界面绘制工作都是在UI线程中进行的&#xff0c;提高UI流畅度的最核心根本在于释放UI线程。即:不在主线程中做耗时的操作。很多人都知道&#xff0c;耗时的操作要放到子线程中去做&#xff0c;比如访问网络&#xff0c;比如读写sd卡。像这类…

android uboot log,RK3288 Android 8.1系统uboot logo过渡到kernel logo会花一下

在调试RK3288 Android 8.1系统遇到一个问题&#xff1a;开机启动uboot logo过渡到kernel log的过程中会花掉直到没有显示&#xff0c;再出现kernel logo。分析&#xff1a;打印串口log时发现&#xff0c;uboot阶段显示一切正常&#xff0c;进入kernel以后就开始花掉了然后变成没…

Java JDBC篇1——初识JDBC

Java JDBC篇1——初识JDBC Java DataBase Connectivity Java 数据库连接&#xff08;Java语言操作数据库&#xff09; 1、什么是JDBC 其实是官方定义的一套操作所有关系型数据库的规则&#xff08;接口&#xff09;&#xff0c;各个数据库厂商去实现这套接口&#xff0c;提供…

android socket 框架c#,C#与Android Socket通信

【实例简介】C#做服务器&#xff0c;Android做客户端&#xff0c;实现Socket通信【实例截图】【核心代码】C与Android-Socket通信-yu└── C#与Android-Socket通信├── MySocketServer│ ├── MySocketServer│ │ ├── bin│ │ │ └── Debug│ │ …

Java JDBC篇2——JDBC增删查改

Java JDBC篇2——JDBC增删查改 urljdbc:mysql://localhost:3306/test userroot passwordblingbling123. drivercom.mysql.jdbc.Driverpublic class JDBCtool {private static String urls;private static String user;private static String password;private static String d…

android商品数量加减,微信小程序实现一个简单的商品数量加减案例

简介这是一个用微信小程序原生代码实现的数量加减demo&#xff0c;主要是用于商品购物车或者商品详情修改数量使用&#xff0c;很简单哦~~~。核心js方法说明addCount(增加数量)delCount (减少数量)getCount(获取数量)实现效果如下图所示&#xff1a;微信小程序实现一个简单的商…

Java JDBC篇3——JDBC事务

Java JDBC篇3——JDBC事务 1、事务方法 方法声明功能介绍void setAutoCommit(boolean autoCommit)参数是 true 或 false 如果设置为 false&#xff0c;表示关闭自动提交&#xff0c;相当于开启事务void commit()提交事务void rollback()回滚事务 2、步骤 获取连接开启事务获…

signature=1610c03482e0c6557f7ec99f0ceeae85,Vpdes Permit No. Va006557

摘要&#xff1a;PARK 500 4100. BERMUDA HUNDRED ROAD, CHESTER, VIRGINIA 23831 TELEPHONE (804) 751-2000 March 3, 1992 Mr. A. C. Ray Virginia Water Control Board Piedmont Regional Office P. 0. Box 11143 Richmond, Virginia 23230 Subject: VPDES Permit No. VA00…

Java JDBC篇4——数据库连接池

Java JDBC篇4——数据库连接池 1、DBCP 1.1、依赖jar包 官网&#xff1a;https://mvnrepository.com/artifact/org.apache.commons/commons-dbcp2 mysql-connector-java-5.1.49.jar 百度云&#xff1a;https://pan.baidu.com/s/17J2VfkGS2h44j69eB8TuFA提取码&#xff1a;n…