第一题:

题目大意:

N个发射站排成一排,求每个发射站左右第一个比它高的发射站。 N<=1000000

解题过程:

1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正好派上用场。。。虽然本题2s的时限RMQ+二分应该也不会超时,但是容易写错。而单调栈不仅O(N)的复杂度,写起来也简单。。

2.具体做法是:从左往右边扫一遍,维护一个单调递减的栈.如果当前元素的高度大于等于栈顶,就不断弹出栈中元素直到栈顶元素小于当前元素.那么对于弹出的元素,它右边的第一个比它高的就是当前元素。对于当前元素,最后栈顶的元素就是它左边第一个比它大的数。

初始得分100.


第二题:

题目大意:多重背包+无线背包+可以切割的背包。

解题过程:

1.直接分3种物品 分3次写背包就可以了。为了防止出错,没有用滚动数组,结果发现滚习惯了,不滚反而写不来了...调了好一会儿。。

初始得分100.


第三题:

题目大意:

N个点,M条边,求从1到N的最短路,在同一个强联通分量里的点相互到达不需要花费(1<=n<=200000,1<=m<=1000000)

时限2s.

解题过程:

1.这题就是POJ一道题的加强版,学强联通分量的时候做过了.Tarjan缩点+最短路即可.但是此题数据比较恶心,Tarjan缩点爆系统栈了说。按出题人的本意这题还要卡spfa,必须要dijkstra+heap.但是还是用spfa 1s+搞过去了..

2.非递归没怎么写过,把Tarjan 改成非递归的 整了一个下午. 大致思路说明下:对于自己模拟的栈中元素,需要保存它的节点编号 && 它的下一个需要dfs的儿子 && 它的上一个dfs的儿子(low[u]=min(low[u],low[v])的时候要用到). 还有好多小细节.

本来感冒就头晕,调得更是头昏脑涨...果然还是太弱了。

初始得分70分.

总结:

1.首先对怎样规模的数据dfs容易爆栈有了大致的估计。

2.非递归不好写,还是应该写个递归的版本,毕竟被卡掉的只是少数点,有时间再来改...还有切记不要把原来的递归版本删了,要留起来对拍... (今天就是非递归死都调不出来,递归版本手贱又删掉了,又懒得重新写一遍...)

二模 (13)day1的更多相关文章

  1. 二模 (16) day1&day2

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

  2. 二模13day1解题报告

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

  3. 二模 (8) day2

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

  4. 二模 (12) day1

    第一题: 题目大意: 求由N个1,M个0组成的排列的个数,要求在排列的任意一个前缀中,1的个数不少于0的个数.N,M<=5000. 解题过程: 1.看到N,M的范围就明确肯定不会是dp,因为起码 ...

  5. 二模 (3) day1

    第一题: 题目描述: 一个数列定义如下:f(1) = 1,f(2) = 1,f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给定 A,B 和 n 的值,要求计算 ...

  6. 二模 (15)day1

    第一题: 题目大意: 有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个. 解题过程: 1.这题是刘汝佳<<训练指南>>上的一道经 ...

  7. 二模 (13)day2

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

  8. 二模 (11) day1

    第一题: 题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和. 解题过程: 1.暂时还没想出来,待AC. 第二题: 题目大意:给出一些单词,然后建立Trie ...

  9. 二模 (9)day1

    第一题: 题目大意: 给出一个n位01串,要么不动它,要么把它删掉一个字符,要么插入一个字符(0或1),要么把一个1变成0,.使得有1的位置号的总和是n+1的倍数,或者是0. 解题过程: 1.直接枚举 ...

随机推荐

  1. EF中使用SQL语句或存储过程(小笔记)

    1.无参数查询 var model = db.Database.SqlQuery<UserInfo>("select* from UserInfoes ").ToLis ...

  2. 9月java货车版速记

    运算符的优先级java自带的方法正则表达式数组和二维数组:数组遍历,填充数组,数组排序,复制数组,数组查询数组算法:冒泡,选择,反转,快速类和对象:封装,继承,多态,this关键字,抽象类和接口重写和 ...

  3. golang文件上传和下载

    [代码]golang 实现的文件服务(包括上传,下载的server端和client端) (2013-09-20 02:03:52) 转载▼ 标签: golang go 文件服务器 it 分类: GO相 ...

  4. Http报头Accept与Content-Type的区别

    Http报头Accept与Content-Type的区别 1.Accept属于请求头, Content-Type属于实体头. Http报头分为通用报头,请求报头,响应报头和实体报头. 请求方的http ...

  5. Linux计划任务Crontab实例详解教程

    说明:Crontab是Linux系统中在固定时间执行某一个程序的工具,类似于Windows系统中的任务计划程序 下面通过详细实例来说明在Linux系统中如何使用Crontab 操作系统:CentOS ...

  6. Css3_必备10个东西

    1.边框圆角(Border Radiuas) 这个是我们在平常很常用的吧,以前我在用div圆角的时候,特别特别的痛苦,不管是用CSS来画圆角,还是用图片来画圆角都不那么容易,但是现在好了,在CSS3中 ...

  7. CSS 关于IE6 margin 为负数 负值的时候 正常显示的方法

    一定要加position: relative; 有时候比如margin-left的负数,还需要加上如 float:left 属性.

  8. OA系统部门结构树

    public class DepartmentUtils { /** * @param topList 顶级部门列表 * @param removeId 删除部门的id * @return */ pu ...

  9. MySQL5.7 JSON实现简介

    版权声明:本文由吴双桥原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/205 来源:腾云阁 https://www.qclo ...

  10. java 异常2

    自定义异常类: import java.util.Scanner; /** * Created by lenovo on 2016/8/12. */ class NoMoneyException ex ...