第一题:

题目大意:

有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个。

解题过程:

1.这题是刘汝佳<<训练指南>>上的一道经典例题,考察了堆的运用.

如果把A,B序列都从小到大排序,那么有:

A1<=A2<=A3...<=An

B1<=B2<=B3...<=Bn

可以把这N2个和用N个递增队列表示出来:

A1+B1<=A1+B2<=A1+B3...<=A1+Bn

A2+B1<=A2+B2<=A2+B3...<=A2+Bn

...

An+B1<=An+B2<=An+B3...<=An+Bn

那么就可以用一个小根堆来维护了,一开始堆里的元素是A1+B1,A1+B2...A1+Bn

如果当前弹出的是Ax+By,那么把Ax+By+1 加入堆中。

初始得分100.

2.拓展:如果有N个队列,每个队列取一个数加起来(可以得到NN个和),求最小的N个和该如何做呢?

因为只要最小的N个,所以可以把队列两两合并。比如有3个队列A,B,C.可以在A,B中各拿一个数,得到最小的N个和,

形成一个新的队列,这样就变成上面2个队列的问题了。因此只要经过N-1次合并,最后的队列里的元素就是答案。

时间复杂度O(N2log2N)


第二题:

题目大意:

N个点,M条边,一开始人在S,每分钟后他都可能会到与当前城市直接相邻的城市.询问是否有某一个时刻这个人在所有城市都有可能出现。

解题过程:

1.首先自然想到如果图不是联通的,那么答案肯定是NO了,所以下面讨论的都是联通的情况。

2.正好jc的神模拟题里提到了二分图,就往二分图方面去想想,结果就发现如果这个图是二分图,那么答案也肯定是NO。因为任意时刻,人都是从二分图的一边走到另外一边。

3.二分图答案是NO,那么如果不是二分图,答案一定就是YES吗?画了下图,发现如果不是二分图,肯定是有奇环的,首先无论起点在哪里,肯定有一个时刻会走到环上,然后一定会有某个时刻环上的所有点都有可能。如果某个时刻环上的所有点都可能,那么之后的所有时刻环上的所有点都有可能。所以就有点类似flood-fill了,把环看成罪犯的老巢,然后罪犯的势力只会慢慢往外扩大,最终占据所有城市。

4.存无向边的数组又忘记开2倍大了,就悲剧了。。初始得分40分。另外数据有点猛,用递归的并查集判断联通会爆栈说。


第三题:

题目大意:

求从S到T的一条路,要求花费最小且线路总长度不超过C。 一条路线的花费为它经过的点中最大的权值。

(边权和不超过C的情况下最大点权最小)

解题过程:
1.典型的最大值最小问题,可以二分答案mid,删去权值大于mid的点,然后做最短路,看能否到达。就拿来练习堆优化的dijkstra了。 初始得分100.

二模 (15)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. Maven学习系列二(1-5)

    Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...

  5. 二模 (15)day2

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

  6. 二模 (12) day1

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

  7. 二模 (7) day1

    第一题: 题目大意: 给出数轴上N棵树的坐标和高度,如果两棵树之间的距离小于其中一颗树的高度,那么就有树会被挡住.因此要把一些树砍矮一点.求砍树的总高度最小值. N<=100000; 解题过程: ...

  8. 二模 (3) day1

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

  9. 二模 (13)day1

    第一题: 题目大意: N个发射站排成一排,求每个发射站左右第一个比它高的发射站. N<=1000000 解题过程: 1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正 ...

随机推荐

  1. sql server 中一次insert 多条的写法

    1.SELECT INTO FROM语句 注意此处 要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中.示例如下 2.INSERT ...

  2. 夺命雷公狗-----React---11--添加css样式的方法

    <!DOCTYPE> <html> <head> <meta charset="utf-8"> <title></ ...

  3. C++学习笔记(1)——数据类型占空间大小

    boolean bool 1 byte   character char 1 byte May be signed or unsigned   wchar_t 1 byte     char16_t ...

  4. Java运行环境的配置

    Make sure you do not use the trailing semicolon: This will not work: set JAVA_HOME=C:\Program Files ...

  5. [Effective JavaScript 笔记]第66条:使用计数器来执行并行操作

    第63条建议使用工具函数downloadAllAsync接收一个URL数组并下载所有文件,结果返回一个存储了文件内容的数组,每个URL对应一个字符串.downloadAllAsync并不只有清理嵌套回 ...

  6. shell 显示字体颜色

    (2).颜色语法:     \033[前景色;背景色m     \033[0m                   #0m代表恢复到系统默认的颜色   (3).字符界面前景颜色与背景颜色:     前 ...

  7. C# 使用 Abot 实现 爬虫 抓取网页信息 源码下载

    下载地址 ** dome **

  8. LeetCode----326. Power of Three(Java)

    package isPowerOfThree326; /* Given an integer, write a function to determine if it is a power of th ...

  9. quick Cocos2dx lua 接anysdk

    quick3.3 的quick\samples\anysdk中有例子,具体用法可以参考官方文档,将的非常详细. 1.框架接口设计 系统介绍 必接入流程简要描述 消息通知 可扩展性 测试模式 添加测试账 ...

  10. Worker Thread

    http://www.codeproject.com/Articles/552/Using-Worker-Threads Introduction Worker threads are an eleg ...