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 ...
随机推荐
- 多人开发Xcode工程冲突,打不开解决办法
在公司多人协作开发,相信好多程序员都遇到非常忧伤的问题,就是工程打不开,这样就无从下手,好多程序怨只能再从代码服务器上下载一份新的代码,今天军哥教你几个小技巧,让你的bigger瞬间提升一个档次 在公 ...
- JavaScript的个人学习随手记(一)
JavaScript 简介 要学习的人可以到W3School http://www.w3school.com.cn/b.asp JavaScript 是世界上最流行的编程语言. 这门语言可用于 HT ...
- IOS开发之Bug--使用xib的自动布局和代码中修改遇到的bug
首先,在xib中约束了宽高22,但是需要代码动态重设,所以一开始如下设置,但是实际显示的仍然是22,而不是重设的值: 然后直接拿xib的将布局约束对象拖线重新通过代码重设约束值,虽然打印的结果宽高值是 ...
- Hadoop学习2
搭建伪分布式完成之后: 伪分布式安装详细介绍:http://www.powerxing.com/install-hadoop/ 练习1 编写Java程序实现以下函数: 1.向HDFS中上传文件 2.从 ...
- 教你开发asp.net的单点登录系统
单点登录系统,简称SSO.以下是我花了几个小时写的一个简单实现.特把实现思路和大家分享. 背景:某项目使用ASP.NET MemberShip来做会员系统,需要同时登录多个系统.而项目的开发人员无法在 ...
- Linux命令学习总结:shutdown
命令简介: 该命令可以安全关闭或者重新启动系统.你没有看错,shutdown命令不仅可以关闭系统.也可以重启Linux系统. 命令语法: /sbin/shutdown [-t sec] [-ark ...
- SQL Server Reporting Services:无法检索应用程序文件。部署中的文件已损坏
如果在客户端计算机上启动Microsoft SQL Server 2012的 ClickOnce 版本的 Microsoft SQL Server 报表生成器时出现"无法检索应用程序文件.部 ...
- [MySQL] Buffer Pool Adaptive Flush
Buffer Pool Adaptive Flush 在MySQL的帮助文档中Tuning InnoDB Buffer Pool Flushing提到, innodb_adaptive_flushin ...
- Si2155
http://www.edom.com.tw/cn/index.jsp?m=prodview&id=1702 Description:新型的Si2155 电视调谐器IC扩展了Silicon L ...
- 【转载】Linux中常用操作命令
说明:开始学习linux系统,为了方便查看,特转载一篇Linux中常用操作命令,转载地址:http://www.cnblogs.com/laov/p/3541414.html 正文: Linux简介及 ...