二模 (3) day2
第一题:
题目大意:(难以概括,就不贴了把。)
解题过程:
1.担心被精度问题恶心,就把平均数的地方乘了N,这样只有最后计算的时候才会是小数。。
2.数组保存的时候蛋疼的 没改成double。结果全部WA了。 初始得分0分。
第二题:
题目大意:
给出N件衣服的湿度,然后单位时间里衣服的湿度自然会减少A,单位时间里还可以用烘干机使一件衣服的湿度减少B(烘干的同时会自然减少A)。求最少的时间衣服全部干。
解题过程:
1.很明显是考堆的,一个贪心思想就是每次都取出湿度最大的衣服 用一次 烘干机。
2.while 循环的条件写错了,一开始写的是 当湿度最大的衣服 湿度比B小的话就 退出,然后剩下的衣服自然就会干了。 然后就脑残地把剩下的衣服 自然干的时间当成了1,ans++后输出。 初始得分40分。
3.另外一个比较不错的思路:二分答案,然后扫一遍,如果 限定时间内不能自然干的,自然就要用烘干机。然后累计烘干机的使用次数,如果比限定时间大 说明答案太小。时间稍微慢了点,但也能AC。
第三题:
题目大意:给出N个数,求最大的区间,使得区间的最左边的元素严格最小,最右边的元素严格最大(严格最大最小即中间不能有相同的)。
解题过程:
1.由于和区间最大最小值有关,就先用ST算法做一次RMQ,求出区间的最大值最小值的位置(注意是位置而不是值)。然后用递归解决。对于一个区间[L,R],设最小值所在的位置是min_pos,最大值所在的位置是max_pos,那么分下面2种情况讨论。
A:min_pos<max_pos,那么递归处理[L,min_pos-1],[max_pos+1,R],对于区间[min_pos,max_pos],还要看他们之间有没有出现和两端的值相等的元素,如果没有,那么该区间就是合法的,如果中间有最小值,且位置是t,那么递归处理[min_pos,t-1] [t,max_pos], 如果中间有最大值,且位置是t,那么同理递归处理区间[min_pos,t]和区间[t+1,max_pos].
B:min_pos>max_pos,那么递归处理[L,max_pos],[min_pos,R],[max_pos+1,min_pos-1];
初始得分80分,递归层数过多爆系统栈了。。。自己手写栈后AC。
2.其实 对于情况A中 区间里有多个极值的情况,只要修改一下RMQ部分(当区间有多个最小值的时候,取最右边的,最大值取最左边的)。这样就保证了 区间[min_pos,max_pos]内不会出现多个极值的情况。 这样减少了部分递归次数后,不用手写栈也能过。
3.来自YYL的另类方法:枚举区间的左端点,利用min[L,R]随着R的增大是非增的,二分右端点直到找到最大的R,使得min[L+1,R] 大于num[L];那么区间[L,max_pos[L+1,R]]就是符合要求的。(RMQ时如果有多个最大值,需要取最右边的)
4.写题解时突然想到的算法:枚举区间的左端点,用RMQ找右端点。 对于一个确定的左端点L,需要找到一个最大的R,使得min[L+1,R] 大于num[L],且max[L+1,R]==num[R]。
R初始为max_pos[L+1,N],然后不断R=max_pos[L+1,R-1]直到找到第一个符合要求的。
二模 (3) day2的更多相关文章
- 二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- 二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
- 二模 (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)day2
第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...
- 二模 (13)day2
第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...
- 又是一个二模02,不过day2
话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...
- 二模Day2题解
小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...
- 二模 (12)day2
第一题: 题目大意: 有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输.求先取者若必胜,最少需要多少步胜利.(N<=10000) 解题过程: 1.看到N的范围比较小,先打个素数表,然后dp即 ...
- 二模 (11) day2
第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n ...
随机推荐
- 用Jquery获取select的value和text值
$("#select_id").change(function(){//code...}); //为Select添加事件,当选择其中一项时触发 var checkText=$(&q ...
- (转)Web自动化测试中的接口测试
1.背景 1.1 Web程序中的接口 1.1.1 典型的Web设计架构 web是实现了基于网络通信的浏览器客户端与远程服务器进行交互的应用,通常包括两部分:web服务器和web客户端.web客户端的应 ...
- Android ViewPager刷新解析
ViewPager刷新解析 原本以为PagerAdapter类似于BaseAdapter 但是使用起来发现刷新还是有区别的 解析如下 先上Demo PagerAdapter的四大函数 getCount ...
- 【摘抄】meta系列用法总结【持续更新中】
meta标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME). ★页面描述信息NAME变量 name是描述网页的,对应于Content(网页内容),以便于搜索引擎机器人 ...
- 转:C++语言的15个晦涩特性
转自 http://blog.jobbole.com/54140/ 操作符重载和检查顺序 重载,(逗号),||或者&&操作符会引起混乱,因为它打破了正常的检查规则.通常情况下,逗号操作 ...
- Spring 定时任务的配置
1.applicationContext.xml 中 加入task 的声明与xsd ? 1 xmlns:task="http://www.springframework.org/schema ...
- hiho_1139_二分+bfs搜索
题目 给定N个点和M条边,从点1出发,到达点T.寻找路径上边的个数小于等于K的路径,求出所有满足条件的路径中最长边长度的最小值. 题目链接:二分 最小化最大值,考虑采用二分搜索.对所有的边长进 ...
- 快速了解AngularJs HTTP响应拦截器
任何时候,如果我们想要为请求添加全局功能,例如身份认证.错误处理等,在请求发送给服务器之前或服务器返回时对其进行拦截,是比较好的实现手段. angularJs通过拦截器提供了一个从全局层面进行处理的途 ...
- 什么是cname a记录
https://support.dnsimple.com/articles/cname-record/ CNAME就是别名记录,就是负责跳转,比如你给某个地址设置了一个cname,那当访问那个cnam ...
- 安卓手机与电脑无线传输文件(利用ftp服务)
安卓手机与电脑无线传输文件(利用ftp服务) 手机与电脑无线传输文件,手机开启ftp服务,电脑能够对手机内全部文件进行全方位管理,包括上传.下载.新建.删除等,而且手机和电脑能够双向传输,很方便.手机 ...