QBXT Day2
遭遇
【问题描述】
你是能看到第一题的 friends呢。
—— hja
N座楼房,立于城中 。
第i座楼,高度 hi。
你需要一开始选择座楼,开始跳楼。 在第 i座楼准备跳需要 ci的花费。 每次可以跳到任何一个还没有过的楼上去。但是代价,另外一座楼的代价是两高度差绝对值 ,最后一次从楼上跳到地面不需 要代价(只能跳到地上一次)。为在代价不超过 T的情况下,最多跳几次楼。 (一座楼 只能 跳一次 ,且每次 跳楼 都要 计算 准备 的花费 )
【输入格式】
第一行个整数 N,代表 楼的数量。
接下来一行 N个整数代表 ci。
接下来一行 N个整数代表 hi。
最后一行一个整数 T。
【输出格式】
一行个整数 代表答案 。
【样例输入】
4
3 5 4 11
2 1
3 17
【样例输出】
3
【样例解释】
从1号楼跳到 2号楼再跳到 3号楼是一种 可行 的方案 。
【数据范围与规定】
对于 30%的数据, 1≤n≤5。
对于另外 20%的数据,所有 ℎi相同。
对于另外 20%的数据, ci=0。
对于 100%的数据, 1≤N≤50,1≤ci,ℎi≤106,1≤T≤10^7。
30分:暴力搜索
hi相同的20%:按c为关键字,对数据进行排序。选择花费最小的楼开始跳(贪心)
ci=0的20%:按高度h由大到小进行排序,然后按高度由高到低进行跳跃。
100%:
a.
考虑一个跳楼的集合{1,2,4,5}。
\begin{equation*}cost1=c_1+c_2+c_4+c_5.\end{equation*}
按h对数据排序。
推一下式子:$cost2=h_max - h_min$.
枚举起点和终点(最高的楼和最低的楼),那么只需要确定cost1的代价。
由于假定i是最低的一栋楼,j是最高的一栋楼。所以只需要找到使得len([i,j])最大,且$cost\leq T$的值。
复杂度$O(n^3\log n)$
b.
标程做法:动态规划。
设状态f[i][j]表示现在停留在第i栋楼上,已经跳了j次楼的最小花费是多少。
转移:直接枚举下一次跳的是哪一栋楼。($i<k\leq n$)。转移方程$f[k][j+1]=\min\{f[k][j+1], f[i][j]+f[i][j]+c[k]+h[k]-h[i]\}$
答案:枚举所有的f[i][j],$ans=\max\{f[i][j]\leq T\}$
都市
【问题描述】
你是能看到第二题的 friends呢。
—— laekov
塔立于都市, 攀登上塔,能够到达更远的地方。但是需要破解谜 题。仍然有 N个数,但并不给你 而是了$N\times\frac{N-1}{2}$个数,代表它们两两的和。那么,这 N个数是多少呢?
【输入格式】
一行个整数 N。
接下来一行 $N\times\frac{N-1}{2}$个数,代表两之和。
【输出格式】
第一行个整数 s代表解的个数 。
接下来 s行 ,每行N个数 代表一组解,数从小到大排列。解的顺序按照字典从大到小排列。
【样例输入1】
4
3 5 4 7 6 5
【样例输出1】
1
1 2 3 4
【样例输入2】
4
11 17 21 12 20 15
【样例输出2】
2
4 7 8 13
3 8 9 12
【数据范围与规定】
对于 30%的数据, 1≤N≤5,N个数均不超过 10。
对于 60%的数据, 1≤N≤50,N个数均不超过 100。
对于 100%的数据, 1≤N≤300,N个数均不超过 10^8。
考虑最终的答案为$a_1,a_2,\cdots,a_n$;题目给出的数为$b_1,b_2,\cdots,b_{\frac{n\times(n-1)}{2}}$。
给两个数组排序。易证以上两个数列存在以下性质:
1. $a_1+a_2=b_1$,
2. $a_1+a_3=b_2$.
但是不能保证$a_2+a_3$的值。
设$a_2+a_3=x$,可以算出$a_1,a_2,a_3$,把这三个数从b数组中删掉,可以证明a[1]+a[4]为最小值。计算出a[4]的值,然后可以确定a[1]+a[5]为最小值。然后就可以做了。
现在问题变为求x的值。枚举a[2]+a[3]在是b数组中是哪一个。从头到尾解一遍方程验证是否合法。
或者二分?set/map/手写平衡树?
街灯
【问题描述】
你是能看到第三题的 friends呢。
—— aoao
街上的灯亮起,指引向着远方的路。每个街灯上都有一数, 每次询问,第l个街灯到第 r个街灯上的数模 p等于 v的有几个。
【输入格式】
第一行两个数 N,M,代表街灯的个数 和询问。
接下来一行 N个数,代表 街灯上的数。
接下来M行,每四个数 l,r,p,v代表一组询问。
【输出格式】
对于每次询问,输出一行代表答案 。
【样例输入】
5 2
1 5 2 3 7
1
3 2 2 5 3 0
【样例输出】
2
1
【数据规模与约定】
对于 30%的数据, 1≤N,M≤10^3。
对于另外 30%的 数据,每次询问的p一样。
对于 100%的数据, 1≤N,M≤10^5,街灯上的数不超过 10^4,1≤p≤10^9。
30%:暴力
p相等的30%:
把所有的数先mod p,然后开p个vector ,记录mod p == v的数。然后用线段树。
e.g.
1 5 2 3 4 p==3
1 2 2 0 1
vector<int> v[p];
v=0: 4
v=1: 1,5
v=2: 2,3
二分区间。
100%:
同上60%的做法。可以只考虑$p\leq 10^4$的情况,预处理出p的所有情况(TLE)。
可以只对$p \leq 100$的部分进行预处理。对于所有$p\leq 100$的值,同60%的做法,在对应的数组中二分一下即可。
对于p>100的情况,就不预处理了。容易看出$v+kp\leq 10^4 \rightarrow p\leq 100$.
最多枚举100个数,同60分的做法,在数组中二分即可。$O(n\sqrt n\log n)$
主席树?
洗澡
【问题描述】
你是能看到第一题的 friends 呢。
——hja
洗澡的地方,有一段括号序列,将一个括号修改一次需要1的代价(将左括
号变成右括号或者相反) ,求最小代价使得括号序列合法。
【输入格式】
一行一个括号序列。
【输出格式】
一行一个整数代表答案。
【样例输入】
())(
【样例输出】
2
【数据范围与规定】
50%的数据,括号序列长度不超过100。
对于100%的数据,括号序列长度不超过10 5 且一定为偶数,只包含小括号。
SB原题。栈模拟。然而我zz。
日记
【问题描述】
你是能看到第二题的 friends 呢。
——laekov
日记之中,写满了质数,两个质数之间如果没有其他质数,那么则称为相
邻的质数。给定?,?,询问不超过?的数中能够表示成连续?个质数之和的最大
的数是多少。
【输入格式】
第一行一个整数?代表数据组数。
对于每组数据,一行行两个整数?,?。
【输出格式】
对于每组数据,一行一个整数代表答案。如果不存在,则输出−1。
【样例输入】
3
20 2
20 3
20 4
【样例输出】
18
15
17
【数据范围与规定】
21 ≤ ? ≤ 100。
40%的数据,? = 1。
另外20%的数据,所有的询问的?相等。
对于100%的数据,1 ≤ ? < 2000,1 ≤ ? ≤ 10 6 。
QBXT Day2的更多相关文章
- qbxt Day2 on 19-7-25
qbxt Day2 on 19-7-25 --TGZCBY 上午 1. 矩阵乘法在图论上的应用 有的时候图论的转移方程可以用dp的方式转移 特别是两个数的乘积求和的时候 比如邻接矩阵中f[i][j]表 ...
- QBXT Day2主要是数据结构(没写完先占坑)
简单数据结构 本节课可能用到的一些复杂度: O(log n). 1/1+1/1/.....1/N+O(n log n) 在我们初学OI的时候,总会遇到这么一道题. 给出N次操作,每次加入一个数,或者询 ...
- 【qbxt五一】day2
简单数据结构 入门题: 在初学OI的时候,总会遇到这么一道题. 给出N次操作,每次加入一个数,或者询问当前所有数的最大值. 维护一个最大值Max,每次加入和最大值进行比较. 时间复杂度O(N). 给出 ...
- QBXT T15214 Day2上午遭遇
题目描述 你是能看到第一题的 friends呢. -- hja ?座楼房,立于城中 . 第?座楼,高度 ℎ?. 你需要一开始选择座楼,跳. 在第 ?座楼准备跳需要 ??的花费. 每次可以跳到任何一个还 ...
- Qbxt 模拟题 day2(am) T2 jian
[问题描述] 有N个数,随机选择一段区间,如果这段区间的所有数的平均值在[L,R]中则你比较厉害.求你比较厉害的概率. [输入格式] 第一行有三个数N, l, r,含义如上描述. 接下来一行有N个数代 ...
- qbxt五一数学Day2
目录 1. 判断素数(素性测试) 1. \(O(\sqrt n)\) 试除 2. Miller-Rabin 素性测试 * 欧拉函数 2. 逆元 3. exgcd(扩展欧几里得) 4. 离散对数(BSG ...
- QBXT春季培训酱油记
Day-1: 下午回家收拾东西,明天去JN,先通知一下在JN的lll dalao明天去见他,然而手办到了,心情大好啊有没有,有没有! 晚上单曲循环<初音未来的消失>,睡觉的时候哭得稀里哗啦 ...
- 【从零开始学BPM,Day2】默认表单开发
[课程主题]主题:5天,一起从零开始学习BPM[课程形式]1.为期5天的短任务学习2.每天观看一个视频,视频学习时间自由安排. [第二天课程] Step 1 软件下载:H3 BPM10.0全开放免费下 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
随机推荐
- HDU 4504
直接DP求组合数即可. #include <iostream> #include <cstdio> #include <algorithm> #include &l ...
- Win8.1下COCOS2D-X 3.4环境搭建
Cocos2dx_3.4开发环境搭建,并编译成APK 第一步:须要下载的:(windows64位系统下环境搭建) Ant apache-ant-1.9.4-bin.zip NDK and ...
- 在CentOS 6 中安装 Apache,Mysql, PHP
1.安装Apache 在终端中输入以下的命令就能够安装Apache了: sudo yum install httpd sudo的意思是用root用户做什么操作.要点击y就确认下载安装了,非常方便. 然 ...
- 从零開始学Xamarin.Forms(二) 环境搭建、创建项目
一.环境搭建 Windows下环境搭建: 1.下载并安装jdk.Android SDK和NDK.当然还须要 VS2013 update 2(VS2010.VS2012均可)以上. a. 最新 ...
- 关于ajax技术
传统注册存在的弊端 : 当我们点击注册时,会存在以下几个问题. 首先,浏览器会销毁当前页面,如果注册失败返回的新页面所有之前 填写的数据丢失. 其次,如果网络通信较差,我们表单提交请求数据到服务端,而 ...
- css中的绝对定位和相对定位(详解,总结)
css中的绝对定位和相对定位(详解,总结) 总结: 设置绝对定位或者相对定位后都从文档中浮起来了,区别是相对定位还占着原来的位置,绝对定位不占着原来的位置,可以种z-index来改变元素的浮动的堆叠次 ...
- SQL数据库问题 解释一下下面的代码 sql 存储过程学习
SQL数据库问题 解释一下下面的代码 2008-08-13 11:30wssqyl2000 | 分类:数据库DB | 浏览1154次 use mastergocreate proc killspid( ...
- C#实现对数据库的备份还原(完全)
C#实现对数据库的备份还原 ( 用SQL语句实现对数据库备份还原操作 备份SqlServer数据库: backup database 数据库名 to disk (备份文件存放路径+文件名).bak 还 ...
- hdu 1429(BFS+状态压缩)
胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- 269D
扫描线+dp 先对坐标排序,然后·用set维护端点,每次插入左端点,扫描到右端点时删除.每次考虑新插入时分割了哪两个木板,自己分别连边,再删除原来的边,最后dp(好像得维护used,有环) #incl ...