第一题:
题目大意:
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的更多相关文章
-
二模 (16) day1&;day2
第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007. n<=1000000 解题过程: 1.递推式还 ...
-
二模13day1解题报告
二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...
-
二模 (8) day2
第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
-
二模 (12) day1
第一题: 题目大意: 求由N个1,M个0组成的排列的个数,要求在排列的任意一个前缀中,1的个数不少于0的个数.N,M<=5000. 解题过程: 1.看到N,M的范围就明确肯定不会是dp,因为起码 ...
-
二模 (3) day1
第一题: 题目描述: 一个数列定义如下:f(1) = 1,f(2) = 1,f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给定 A,B 和 n 的值,要求计算 ...
-
二模 (15)day1
第一题: 题目大意: 有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个. 解题过程: 1.这题是刘汝佳<<训练指南>>上的一道经 ...
-
二模 (13)day2
第一题: 题目大意: 给出一个N*M的矩阵,定义一条路径的权值为经过的所有点权值的最大值.求一条从第一行到第N行的路径,使得路径权值最小. N,M<=1000 矩阵内点的权值小于1000. 解题 ...
-
二模 (11) day1
第一题: 题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和. 解题过程: 1.暂时还没想出来,待AC. 第二题: 题目大意:给出一些单词,然后建立Trie ...
-
二模 (9)day1
第一题: 题目大意: 给出一个n位01串,要么不动它,要么把它删掉一个字符,要么插入一个字符(0或1),要么把一个1变成0,.使得有1的位置号的总和是n+1的倍数,或者是0. 解题过程: 1.直接枚举 ...
随机推荐
-
【poj1001】 Exponentiation
http://poj.org/problem?id=1001 (题目链接) 题意 求实数R的n次方,要求高精度. Solution SB题Wa了一下午,直接蒯题解. 高精度,小数点以及去前导后导零很麻 ...
-
C# String.Format大全 去 decimal 后面的 0
转 http://kwon.iteye.com/blog/1068255 http://blog.csdn.net/tvvbbb/article/details/47256943 public st ...
-
Java 8 中 CAS 的增强
几天前,我偶然地将之前写的用来测试AtomicInteger和synchronized的自增性能的代码跑了一下,意外地发现AtomicInteger的性能比synchronized更好了,经过一番原因 ...
-
转载Jquery中的三种$()
1.$()可以是$(expresion),即css选择器.Xpath或html元素,也就是通过上述表达式来匹配目标元素. 比如:$("a")构造的这个对象,是用CSS选择器构建了一 ...
-
IOS学习笔记38--@class #import辨析 #include
tyle="margin:20px 0px 0px; line-height:26px; font-family:Arial"> #include 区分 #i ...
-
HTML <;center>; 标签
浏览器支持 定义和用法所有浏览器都支持 <center> 标签. 对其所包括的文本进行水平居中. HTML 与 XHTML 之间的差异 在 HTML 4.01 中,center 元素不被赞 ...
-
厂商自定义USB设备固件程序及特性
通过前面的学习,大家应该对USB固件程序结构有了比较深的认识,现在再来详细说说固件里决定设备识别成厂商自定义USB设备的地方有哪些,或者说厂商自定义USB设备的固件特性有哪些. 之前不止一次说过学习U ...
-
java基础知识拾遗(三)
1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目 ...
-
php的几个内置的函数
// 取得所有的后缀为PHP的文件 $files = glob(‘*.php’); print_r($files); j
-
Django中manger/QuerySet类与mysql数据库的查询
Django中的单表操作 1.精确查询 #查询的结果返回是容器Query Set的函数(Query Set模型类)# 1. all() 查询的所有的符合条件的结果,支持正向索引,支持索引切片,不 ...