第一题:

题目大意:

有两个长度为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. 怎样手动添加 Sublime 3 右键菜单

    [Version] Signature="$Windows NT$" [DefaultInstall] AddReg=SublimeText3 [SublimeText3] hkc ...

  2. android消息处理机制之2handler与looper,MessageQueue:的关系

    // Looper: 在UI主线程里面有默认有一个Looper对象来管理UI线程的各条消息,但是在自定义的实现Thread的消息循环和消息派发,缺省情况下Thread是没有这个消息循环的既没有Loop ...

  3. app安装位置声明

    AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android" ...

  4. php将抓取的图片链接下载到本地

    备注: fclose这一步操作完成之后如果返回值是空表示下载成功,否则会返回1或者其他错误提示 这个步骤测试的时候实在yii2框架的基础上执行的,下载到的图片实在frontend目录下的web目录下( ...

  5. android手电筒(摇一摇也可开启手电筒)

    package com.firefly.myflashlight; import android.app.Activity; import android.hardware.Camera; impor ...

  6. HDU 5686:2016"百度之星" - 资格赛 Problem B

    原文链接:https://www.dreamwings.cn/hdu5686/2645.html Problem B Time Limit: 2000/1000 MS (Java/Others)    ...

  7. 什么是BOM头

    什么是BOM头? BOM头是放在UTF-8编码的文件的头部的,占用三个字节,用来标识该文件属于UTF-8编码.现在已经有很多软件识别BOM头,但是还有些不能识别BOM头,比如PHP就不能识别BOM头, ...

  8. Argument list too long......

    作为一名运维人员来说,这个错误并不陌生,在执行rm.cp.mv等命令时,如果要操作的文件数很多,可能会使用通配符批量处理大量文件,这时就可能会出现“Argument list too long”这个问 ...

  9. Ajax全接触

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML) 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不 ...

  10. JavaScript的一点自我总结

    学习前端不知不觉都两个月了,从零基础到现在,网页布局没多大问题,就是JS学的很差,有一段时间都怀疑自己是不是选错了.但自我调节后,心态发生了一些变化后,学习也没那么痛苦了.虽然做不到看代码像看初恋那样 ...