二模 (2) day2
第一题:
题目描述:
在一个长方形框子里,最多有 N(0≤N≤6)个相异的点。在其中任何~个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界。必须等一个油滴扩展完毕才能放置下一个油滴。那么应该按照怎样的顺序在这 N 个点上放置油滴,才能使放置完毕后所有油滴占据的总
面积最大呢?(不同的油滴不会相互融合)
注:圆的面积公式 V=pi*r*r,其中 r 为圆的半径
解题过程:
1.考虑到最多只有6个点,那么直接dfs实现枚举即可。
2.注意题目要求的是剩余面积。。。还有如果一个点还没放油滴,那么其他油滴是可以碰到它并继续扩大的。(黑书上是气球和钉子,气球当然不能碰到钉子)初始得分100;
第二题:
题目大意:给出N个数,N<=1000,要求擦掉一些数,使得在正确位置上的数尽可能多。 即数x排在第x位的 这种情况尽可能多。
解题过程:
1.一开始感觉是贪心,但是贪心策略感觉有些风险,看数据范围,八成是动归了。然后看到给出的是一列数,那么估计就是LIS的变形了。
2.F[i]表示 只考虑前i个数 且 第i个数在正确位置上时的答案。那么F[i]肯定是F[j] + 1 (j<i)转移过来。 既然要把 A[i] 放在 A[j] 后面,且 它们两个都是在正确位置上,那么
A[j]<A[i],而且 i和j之间需要有一些“无用”的数来让i的位置正确。 所以还要是 i-j>=A[i]-A[j];
3.初始得分80,因为没有把F[i]初始化成-inf,而是默认为0.
ps:2个月前的文章了,现在看看其实这题可以优化到nlogn,i-j>=A[i]-A[j] -> A[j]-j>=A[i]-i -> 把A[x]-=x,就变成求最长不升子序列了。
第三题:
题目大意:插入N个数,M次动态求第k大。 N,M<=200000;(第i次查询,查询的是第i小的值)
解题过程:
1.记得紫书上介绍了一种用两个堆来实现的方法。但是感觉写起来超级麻烦,而且程序会很长,就换成线段树了。
2.在常州学到一种线段树的空间优化方法。有些节点是永远用不到的,所以一开始不必直接建一棵满二叉树,而是用到一个节点再给它分配空间。。但是具体要多少空间不是很好估计,最坏最坏的情况差不多就是每次插入都独立,也就是每次插入都加入了log Max_Range 个点。所以最坏情况 空间复杂度比 O( N*log Max_Range)要好。一开始傻逼了,只开了4*N的空间,结果RE了。只有40分。。
3.复习了一下treap,对着以前的程序自己写了一遍,感觉没有以前那么可怕了。。
4.讲一下紫书上的方法吧,其实用priority_queue 代替自己写堆,代码不超过40行。。。 (还是不大喜欢用STL啊。)
一个最大堆存放的目前已经经过k步ADD的到的序列中前i-1大的值,而最小堆存放的是从第i大道第k大的值。
其实我们只要在最小堆中找到一个最小的值,就一定是第i大的值,因为最大堆中的任何一个数都要比最小堆中的元素都要小
现在知道这两个堆的作用了吧。。。。。。。。。。。
当然我们找到第i大的值后要将其并到最大堆中,而且在想最小堆中加入数据时要比较其值是否比最大堆中所有的值都要大,如果不是大于的话,
则要将其与最大堆中最大的元素交换。否则得到的最大堆不会比最小堆中任何的元素小了。
二模 (2) 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 ...
随机推荐
- 【Todo】Java新技术学习笔记-from某技术分析
看到这篇文章:http://mt.sohu.com/20160806/n462923089.shtml <十余年技术大牛告诉你,这些Java新技术不可错过> 虽然讲的比较泛,但是里面提到的 ...
- [css] 认识margin
原文链接http://www.zhangxinxu.com/wordpress/2009/08/css-margin%E7%9A%84%E7%9B%B8%E5%85%B3%E5%B1%9E%E6%80 ...
- J2EE 第二阶段项目之编写代码(四)
我的任务就是项目统计. 1 效益统计 1 教育效益统计表 (教育效益统计表,增,改,查看,查) 2 农牧林效益统计表 (农牧林效益统计表,增,改,查看,查) 3 乡村效益统计表 (乡村效益统计表 ...
- 测试耗电量的工具(Android)
Emmagee是监控指定被测应用在使用过程中占用机器的CPU.内存.流量资源的性能测试小工具. 支持SDK:Android2.2以及以上版本 Emmagee功能介绍 1.检测当前时间被测应用占用的CP ...
- 屏幕输出VS文件输出
问题1:我们在编写程序时经常需要数一些数据到屏幕,来查看我们的结果是否正确,虽然直接输出到屏幕,查看起来呢很方便,但当数据量很大时,需要耗费大量的时间.于是我们想到能不能通过输出到文件来减少时间 ...
- sealed(C# 参考)
sealed 修饰符可以应用于类.实例方法和属性.密封类不能被继承.密封方法会重写基类中的方法,但其本身不能在任何派生类中进一步重写.当应用于方法或属性时,sealed 修饰符必须始终与 overri ...
- ubuntu下python3安装类库
ubuntu是默认安装了python2的,所以直接使用 pip install XXX 是默认安装到python2的,安装到python3 的指令是 pip3 install XXXX 或者 pyth ...
- C# BackgroundWorker的使用 转
转自http://www.cnblogs.com/tom-tong/archive/2012/02/22/2363965.html 感谢作者详细的介绍 C# BackgroundWorker的使用 ...
- iOS开发之——从零开始完成页面切换形变动画
前言 某天我接到了UI发给我的两张图: 需求图.png 看到图的时候我一脸懵逼,显然我需要做一个页面切换的指示动画.老实说,从大三暑假开始做iOS开发也一年有余了,但是遇到复杂动画总是唯恐避之不及,只 ...
- Java 之 I/O 系列 02 ——序列化(一)
Java 之 I/O 系列 目录 Java 之 I/O 系列 01 ——基础 Java 之 I/O 系列 02 ——序列化(一) Java 之 I/O 系列 02 ——序列化(二) 一 序列化概述 序 ...