二模 (15)day2
第一题:
Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分。一开始每人都是0分,从Alice开始轮流做任务,她可以选择任意一个任务来做;而Bob只会做难度为1的任务。只要其中有一个人达到n分,即算作那个人胜利。求Alice采取最优策略的情况下获胜的概率。
n<=500
解题过程:
1.感觉这题是今天最难的一题。主要是概率的题目基本没有做到过。先做了后面两题,然后花了一个多小时才把这题给想出来。
2.首先可以转化一下,两个人一开始都是n分,Alice每次有1/2p 的概率减去1/2p−1分.Bob每次有1/2的概率减去一分,看谁先减到<=0. 那么令F[x][y]表示当前Alice是x分,Bob是y分,当前是Alice取,Alice获胜的最大概率是多少。
3.假设本次Alice要减去k分,其成功的概率是p.那么分下面2种情况来讨论。
A:如果本次操作成功,那么胜利的概率是 p*(F[x-k][y]/2+F[x-k][y-1]/2). 对Bob也要讨论是否成功,如果成功,
F[x-k][y-1],否则就是F[x-k][y-1].
B:如果本次操作失败了,那么胜利的概率是 (1-p)*(F[x][y-1]/2+F[x][y]/2).
所以如果本次取k,成功的概率是p,那么获胜的概率
F[x][y]=p/2*(F[x-k][y]+F[x-k][y-1])+(1-p)/2*(F[x][y-1]+F[x][y]).
注意到递推式里面又出现了F[x][y],所以需要移项解方程:
( 1-(1-p)/2 )F[x][y]=p/2*(F[x-k][y]+F[x-k][y-1])+(1-p)/2*F[x][y-1]. 两边同时乘2得到
p*F[x][y]=p*(F[x-k][y]+F[x-k][y-1])+(1-p)*F[x][y-1]. 两边同时除以p得到
F[x][y]=F[x-k][y]+F[x-k][y-1]+(1-p)/p*F[x][y-1]. 按照方程枚举k写个记忆化搜索就可以了。
枚举k的时候傻逼了,限制了k<=x.实际上应该是k*2<=x的。 初始得分20.
第二题:
题目大意:
n头牛叠在一起,每头牛有两个指数A,B.每头牛承受的压力为它头上所有牛的指数A的和减去它本身的B。安排顺序使得压力最大的牛压力最小.
解题过程:
1.典型的相邻交换法证明贪心. 因为交换相邻的两头牛对其它牛是没有影响的.
2.假设有相邻的两头牛,指数分别为(Ai,Bi) (Ai+1,Bi+1).设它们头顶的牛的指数A之和为S.那么它们两个压力较大的那个的压力为 max{S+Ai+1-Bi , S-Bi+1}. 如果交换它们的位置,max{S+Ai-Bi+1 , S-Bi}.
如果原顺序更优,那么有max{S+Ai+1-Bi , S-Bi+1}<=max{S+Ai-Bi+1 , S-Bi}
两边同时减去S并加上Bi+Bi+1得到
max{Ai+1+Bi+1,Bi}<=max{Ai+Bi,Bi+1}
按照这个规则定义<,然后快排就可以了。
初始得分100.
第三题:
题目大意:
N点M边无向图,Q个询问(A,B),求A到B的一条路径使得权值最大边的权值最小。
解题过程:
1.这题完全就是NOIP2013 day1 T3 货车运输。用倍增求个lca就可以了,因为权值最大边的权值最小的路径必定是在最小生成树上,所以先求一个最小生成树。初始得分100.
2.网络上还有一种十分巧妙的方法,感兴趣的可以搜一下。
二模 (15)day2的更多相关文章
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- 二模 (9) day2
第一题: 题目大意:求满足条件P的N位二进制数的个数.P:该二进制数有至少3个0或者3个1挨在一起.. N<=20000 解题过程: 1.一开始直接写了个dfs把表打了出来,不过没发现什么规律, ...
- 二模 (16) day1&day2
第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007. n<=1000000 解题过程: 1.递推式还 ...
- 二模 (15)day1
第一题: 题目大意: 有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个. 解题过程: 1.这题是刘汝佳<<训练指南>>上的一道经 ...
- 二模 (13)day2
第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...
- 又是一个二模02,不过day2
话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...
- 二模Day2题解
小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...
随机推荐
- 解决redmine写操作很慢的问题
以前刚开始时用redmine是直接使用它的webrick服务器来运行的,后来为了提高性能,采用nginx+passenger的方式来驱动redmine,访问速度快了不少,但是在新建问题或更新问题时变得 ...
- 如何使用Android Studio开发/调试Android源码
本文是以源码中development/tools/idegen/README作为指导文档. 环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,andr ...
- 看门外汉如何实现:C#操作 MongoDB基本CURD的事务控制之 第二部分
第二部分 尝试解决BulkWrite(List<WriteModel<T>>)问题 在上次发表的文章中,得到了一些很好的反馈,真切体会到写博文的好处,有高人指出两大问题,具体可 ...
- 深入理解Java PriorityQueue
PriorityQueue 本文github地址 Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示.本文从Queue接口函数出发,结合生动的图解,深入浅出地分析Prio ...
- hash命令
什么是hash ? 在网上找了好久都没找到简截有力的说明.hash 我把它当成是集合,一个hash 就是一个集合,里面字段对应一个元素,元素不重复,字段都不一样. 简单hash 命令 1.hset 哈 ...
- Good Firewall(字典树 HDU4760)
Good Firewall Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 数据库设计 Assignment 02
需求 1.0 请你试分析一下老师(教职工号,老师姓名,年龄),学生(学号,姓名,年龄),课程(课程号,课程名称,开课时间,上课地点)之间的关系, 注:多个老师可以同时教一门课 尝试画出该模型的E-R图 ...
- Visual Studio的Web Performance Test提取规则详解(3)
总结 Visual Studio的Web Performance Test是基于HTTP协议层的,它不依赖于浏览器,通过直接接收,发送HTTP包来和Web服务器交互.Web Performance T ...
- GZAPI框架初识
新建一个MVC项目(GZAPIFramework.Demo): mvc:用于API接口文档查看,Log日志查看 webapi:api调用 新建一个Biz类库并添加nuget引用: 搜索GZAPI.Co ...
- jquery总结05-常用事件04-委托事件
委托事件on 多个事件绑定同一个函数 $("#elem").on("mouseover mouseout",function(){ });通过空格分离,传递不同 ...