第一题:

题目描述:

在一个长方形框子里,最多有 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的更多相关文章

  1. 二模 (8) day2

    第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...

  2. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  3. 二模 (9) day2

    第一题: 题目大意:求满足条件P的N位二进制数的个数.P:该二进制数有至少3个0或者3个1挨在一起.. N<=20000 解题过程: 1.一开始直接写了个dfs把表打了出来,不过没发现什么规律, ...

  4. 二模 (16) day1&day2

    第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007.  n<=1000000 解题过程: 1.递推式还 ...

  5. 二模 (15)day2

    第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...

  6. 二模 (13)day2

    第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...

  7. 又是一个二模02,不过day2

    话说比较简单.除了第三题不会写平衡树啊你妹!!边做边写吧. 机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链接~机智的链 ...

  8. 二模Day2题解

    小明搬家 题目描述 小明要搬家了,大家都来帮忙. 小明现在住在第N楼,总共K个人要把X个大箱子搬上N楼. 最开始X个箱子都在1楼,但是经过一段混乱的搬运已经乱掉了.最后大家发现这样混乱地搬运过程效率太 ...

  9. 二模 (12)day2

    第一题: 题目大意: 有N颗糖,两个人轮流取,每次只能取质数颗,不能取的输.求先取者若必胜,最少需要多少步胜利.(N<=10000) 解题过程: 1.看到N的范围比较小,先打个素数表,然后dp即 ...

  10. 二模 (11) day2

    第一题: 题目大意: 有一本n个单词的字典,其中每个单词的长度不超过4且大于0.现在给你一篇文章,文章中没有分隔符,只有小写字母.现在需要你修改最少的字母,使文章(长度为m 是由字典中的单词构成. n ...

随机推荐

  1. mysql与mysqld

    mysql是客户机/服务器的结构. mysql是客户端行工具,连接mysqld服务,执行sql命令,可认为客户端sdk mysqld 启动mysql数据库服务. 脚本启动mysql服务的命令是 net ...

  2. Oracle 10g实现存储过程异步调用

    DBMS_JOB是什么?DBMS_JOB是Oracle数据库提供的专家程序包的一个.主要用来在后台运行程序,是数据库中一个极好的工具. 可用于自动调整调度例程任务,例如分析数据表,执行一些归档操作,清 ...

  3. Android热修复

    https://github.com/WeMobileDev/article/blob/master/%E5%BE%AE%E4%BF%A1Android%E7%83%AD%E8%A1%A5%E4%B8 ...

  4. CentOS查看CPU、内存、网络流量和磁盘 I/O【转载,待整理】

    http://blog.csdn.net/zbyufei/article/details/6413273

  5. CSS3_边框属性之圆角的基本图形案例

    一.正方形 div{ background:#F00; width:100px; height:100px;}   二.长方形 div{background:#F00;width:200px;heig ...

  6. phalcon:model 事件与事件管理器

    事件与事件管理器(Events and Events Manager)¶ Models allow you to implement events that will be thrown when p ...

  7. QQ等级图标排名说明_QQ等级表,QQ最高等级(皇冠) qq到一星要5天

    从2007年11月29日中午12:00开始,在不改变原有计算方式的情况下,加速QQ会员等级升级.QQ会员用户在原有通过每天在线2小时累积活跃天数来获取相应QQ等级增长的基础上,还可以根据QQ会员VIP ...

  8. ios开发者证书 签发者无效

    2月14日以后,由于苹果更新安全证书:会导致本机制作的所有开发者证书无效: 钥匙串里的开发者证书无法使用 解决方式: 重新下载苹果公司的安全证书,并安装 1: 先在钥匙串里搜索到老的证书,如果有,请先 ...

  9. LocalStorage在Chrome里的实现

    前段时间我们在实现CanTK-Runtime时,也曾在V8基础上模拟过浏览器的LocaleStorage功能,其实现非常简单:每个domain的数据使用的单独文件存储,因为同一时间只有一个游戏运行,所 ...

  10. Android 应用开发耗电量控制。。

    当程序启动手机越多的模块,那耗电就越快 当你的程序运行时只占用CPU的时候,这时候耗电量是最少的. 当然这时候如果cpu的运行速度很慢那是最好的.. 程序耗电量控制首要从下面3个方面抓起: 1.频繁的 ...