noip2016十连测round2
A: Divisors
题意:给定 m 个不同的正整数 a 1 ,a 2 ,...,a m ,请对 0 到 m 每一个 k 计算,在区间 [1,n] 里有多少正整数
是 a 中恰好 k 个数的约数。 n,ai<=10^9,m<=200
做法:每个数的约数个数为sqrt(n)级别的,所以一共有msqrt(ai)个,对于计算答案,用哈希表判重计算即可。
B:Market
题意:在比特镇一共有 n 家商店,编号依次为 1 到 n。每家商店只会卖一种物品,其中第 i 家商店的物品
单价为 c i ,价值为 v i ,且该商店开张的时间为 t i 。
Byteasar 计划进行 m 次购物,其中第 i 次购物的时间为 T i ,预算为 M i 。每次购物的时候,Byteasar
会在每家商店购买最多一件物品,当然他也可以选择什么都不买。如果购物的时间早于商店开张的时间,
那么显然他无法在这家商店进行购物。
现在 Byteasar 想知道,对于每个计划,他最多能购入总价值多少的物品。请写一个程序,帮助
Byteasar 合理安排购物计划。 n<=300,vi<=300,ci<=10^9;
注意:每次所花金额不得超过预算,预算也不一定要花完,同时预算不能留给其它计划使用。
做法:将物品按时间从小到大排序,询问也按时间排序,然后我们发现单价很大,而价值很小,所以我们设f[i]表示装下价值为i的物品时最小的价钱,那么对于每个询问,就是找到一个最大的i,使得f[i]<=mi,这样不具有二分性,所以我们维护f的后缀和g,这样g数组具有了可二分性,二分即可。
C:Dash Speed
题意:比特山是比特镇的飙车圣地。在比特山上一共有 n 个广场,编号依次为 1 到 n,这些广场之间通过
n − 1 条双向车道直接或间接地连接在一起,形成了一棵树的结构。
因为每条车道的修建时间以及建筑材料都不尽相同,所以可以用两个数字 l i ,r i 量化地表示一条车道
的承受区间,只有当汽车以不小于 l i 且不大于 r i 的速度经过这条车道时,才不会对路面造成伤害。
Byteasar 最近新买了一辆跑车,他想在比特山飙一次车。Byteasar 计划选择两个不同的点 S,T,然
后在它们树上的最短路径上行驶,且不对上面任意一条车道造成伤害。
Byteasar 不喜欢改变速度,所以他会告诉你他的车速。为了挑选出最合适的车速x,Byteasar 一共会
向你询问 m 次。请帮助他找到一条合法的道路,使得路径上经过的车道数尽可能多。
n<=70000,m<=70000;
测试点编号 n m 约定
1 = 5 = 5 无
2 = 20 = 20 无
3 = 50000 = 50000 l i = 1,且 u i = i,v i = i + 1
4 = 70000 = 70000 l i = 1,且 u i = i,v i = i + 1
5 = 50000 = 50000 u i = i,v i = i + 1
6 = 70000 = 70000 u i = i,v i = i + 1
7 = 50000 = 50000 l i = 1
8 = 70000 = 70000 l i = 1
9 = 50000 = 50000 无
10 = 70000 = 70000 无
做法:对于题目中的一条链,我们把每个每条边拆成两个事件,一个是在时间li处把ui染黑,在时间ri+1处把ui染白,然后每个询问就是在时间x处询问最大全黑子段,我们把所有事件按时间排序,然后线段树维护即可,只需记录最大全黑子段,左端最大,右端最大,就可以进行线段树合并了。
对于题目中li=1的情况且是一棵树的情况,我们把边按ri从大到小排序,询问也从大到小排序,这样就只有加边,询问森林的最长链,每个连通块维护最长链,合并的时候的最长链一定来自于那4个点,分6种情况讨论即可,用并查集维护。
对于满分做法;如果学习前面那种做法,把每条边拆成两个事件,这样就相当于求支持加边和删边的动态树的最长链或者是并查集的删边,但是由于顺序不固定所以不支持,没事,我们沿分治的思想,在以速度为区间的线段树上,我们用每条边去覆盖线段树上logn个区间,那么每个询问就是把它到线段树的根节点的路径上所有的边存在时的最长链,所以我们dfs这棵线段树,到一个节点就加边,并查集维护,到了叶子节点就询问,然后回溯的时候撤销操作,由于每次撤销都是最近的一次操作,这样并查集是资瓷的,然后就通过分治把问题转化成了只有加边,成功地解决了这个问题。
noip2016十连测round2的更多相关文章
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- noip2016十连测round3
A:平均数 题意:有一天,小 A 得到了一个长度为 n 的序列. 他把这个序列的所有连续子序列都列了出来,并对每一个子序列都求了其平均值,然后他把这些平均值写在纸上,并对它们进行排序,最后他报出了第 ...
- noip2016十连测round1
A:String Master 题目:所谓最长公共子串,比如串 A:"abcde",串 B:"jcdkl",则它们的最长公共子串为串 "cd" ...
- NOIp2016 十连测 round1
Claris大爷出的一套模拟题.问别人要到了一份题,加深了自己NOIp要滚粗的感觉. Matser zzDP题,我只能说我第一遍写的时候还写崩了QAQ. //master //by Cydiater ...
- Problem C: [noip2016十连测第五场]travel (构造+贪心)
题面 https://www.lydsy.com/JudgeOnline/upload/201610/statements(1).pdf 题解 好神仙的贪心-- 首先无解的情况很容易判断,就是\(l= ...
- bzoj 5216 [Lydsy2017省队十连测]公路建设 线段树维护 最小生成树
[Lydsy2017省队十连测]公路建设 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 93 Solved: 53[Submit][Status][ ...
- bzoj 5216: [Lydsy2017省队十连测]公路建设
5216: [Lydsy2017省队十连测]公路建设 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 66 Solved: 37[Submit][St ...
- 提高十连测day3
提高十连测day3 A 我们可以枚举两个 $ 1 $ 之间的相隔距离,然后计算形如 $ 00100100 \cdots $ 的串在原串中最⻓⼦序列匹配即可,复杂度 $ O(n^2) $ .寻找 $ S ...
- ZROI2019 提高十连测
额 掰手指头一数 特么又是第三年十连测了= = 2017一场没打 那时候好像一场比赛也就100人左右 2018前几场还都好好补了 后来开始放飞自我了 这时候一场有150人还多了 2019想让今年的No ...
随机推荐
- 【Lucene】三个高亮显示模块的简单示例-Highlighter
Lucene针对高亮显示功能提供了两种实现方式,分别是Highlighter和FastVectorHighlighter 这里的三个示例都是使用Highlighter: 示例代码: package c ...
- C#委托的介绍(delegate、Action、Func、predicate) --转载
来源:http://www.cnblogs.com/akwwl/p/3232679.html 委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递.事件是一种特殊的委托. 1 ...
- The process could not execute 'sp_repldone/sp_replcounters' on 'ServerName'
昨天发现发布服务器S(SQL Server 2008 R2),出现大量如下错误 错误细节如下所示: Date :: PM :: PM) Source spid52 Message Replicatio ...
- eAccelerator、memcached、xcache、APC 等四个加速扩展的区别
折腾VPS的朋友,在安装好LNMP等Web运行环境后都会选择一些缓存扩展安装以提高PHP运行速度,常被人介绍的有eAccelerator.memcached.xcache.Alternative PH ...
- Tornado框架简析
Tornado是一款轻量级的Web服务器,同时又是一个开发框架.采用单线程非阻塞I/O模型(epoll),主要是为了应对高并发 访问量而被开发出来,尤其适用于comet应用. Tornado服务器3大 ...
- python 多线程实例
#!/usr/bin/env python # -*- coding:utf-8 -*- import Queue import threading class ThreadPool(object): ...
- Windows server用好windows server backup,发挥个人电脑该有的系统还原功能
笔记本上安装windows server的各位是不是有个感触,默认软件升级.软件更新,系统是没有系统还原的(磁盘清理发现也没有还原点可清理),也就是系统出了问题,还原不了干着急. 其实,windows ...
- 【问题&解决】fonts/fontawesome-webfont.woff2 404 (Not Found)
问题: 虽然网页正常显示和运行,但是有2个字体文件出现404错误.像笔者这种强迫症是接受不了的. 解决: 因为笔者的服务器是虚拟主机,只需要在主机控制器平台添加对应的MIME类型即可. 这样服务器就支 ...
- LoadRunner录制Web协议的脚本 (by网络)
LoadRunner录制Web协议的脚本 http://itindex.net/detail/50530-loadrunner-web-脚本
- SpringMVC单元测试之MockMVC,模拟登入用户
今天介绍一下springMVC的单元测试,可以参考spring官方文档进行 前提准备,springmvc的demo工程,这里就不做叙述了 pom.xml [html] view plain copy ...