二模 (15)day1
第一题:
题目大意:
有两个长度为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的更多相关文章
- 二模 (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 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...
- Maven学习系列二(1-5)
Maven学习系列二(1-5) 本文转自 QuantSeven 博客,讲解精炼易懂,适合入门,链接及截图如下 http://www.cnblogs.com/quanyongan/category/47 ...
- 二模 (15)day2
第一题:Alice和Bob两个人正在玩一个游戏,游戏有很多种任务,难度为p的任务(p是正整数),有1/2p 的概率完成并得到2p−1分,如果完成不了,得0分.一开始每人都是0分,从Alice开始轮流做 ...
- 二模 (12) day1
第一题: 题目大意: 求由N个1,M个0组成的排列的个数,要求在排列的任意一个前缀中,1的个数不少于0的个数.N,M<=5000. 解题过程: 1.看到N,M的范围就明确肯定不会是dp,因为起码 ...
- 二模 (7) day1
第一题: 题目大意: 给出数轴上N棵树的坐标和高度,如果两棵树之间的距离小于其中一颗树的高度,那么就有树会被挡住.因此要把一些树砍矮一点.求砍树的总高度最小值. N<=100000; 解题过程: ...
- 二模 (3) day1
第一题: 题目描述: 一个数列定义如下:f(1) = 1,f(2) = 1,f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给定 A,B 和 n 的值,要求计算 ...
- 二模 (13)day1
第一题: 题目大意: N个发射站排成一排,求每个发射站左右第一个比它高的发射站. N<=1000000 解题过程: 1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正 ...
随机推荐
- c# 中get和post的方法
用GET发送数据则用REQUEST.QUERYSTRING[''ID'']接收 一.request.aspx 二.request.aspx.cs 三运行效果: 以下是数据发送的途径http://loc ...
- paper 112:hellinger distance
在概率论和统计理论中,Hellinger距离被用来度量两个概率分布的相似度.它是f散度的一种(f散度——度量两个概率分布相似度的指标).Hellinger距离被定义成Hellinger积分的形式,这种 ...
- zTree插件之单选下拉菜单代码
<!--ztree树结构--> <link rel="stylesheet" type="text/css" href="asset ...
- 十三、Java基础---------多线程总结
多线程概述 理解多线程首先应明确线程,要了解线程就必须了解什么是进程. 1.进程 是一个正在执行的程序. 每一个进程执行都有一个执行顺序.该顺序是一个执行路径,或者叫一个控制单元. 2.线程 就是进程 ...
- 怎样手动添加 Sublime 3 右键菜单
[Version] Signature="$Windows NT$" [DefaultInstall] AddReg=SublimeText3 [SublimeText3] hkc ...
- 编写高性能Web应用程序的10个技巧
这篇文章讨论了: ·一般ASP.NET性能的秘密 ·能提高ASP.NET表现的有用的技巧和窍门 ·在ASP.NET中使用数据库的建议 ·ASP.NET中的缓存和后台处理 使用ASP.NET编写一个We ...
- sql经典语句大全
SQL Server提供了大量的函数, 但是在一些常见的如, 字符串拆分, 字符提取,过滤等没有对应的处理, 本帖主要收集一些常见的函数, 整理如下: ------------------------ ...
- s3c2440 移值u-boot-2016.03 第5篇 支持dm9000 识别
1, 通过查看 /drivers/net/Makefile 发现想要编译上,需要添加宏 /include/configs/smdk2440.h 中添加 #define CONFIG_DRIVER_DM ...
- Frost R&D
Trees Procedural Math Model in Houdini,render with Mantra. Shader use SurfaceModel With Other Attrib ...
- android手电筒(摇一摇也可开启手电筒)
package com.firefly.myflashlight; import android.app.Activity; import android.hardware.Camera; impor ...