2020.02.07【NOIP提高组】模拟A 组 比赛总结

题目

4015. 【雅礼联考DAY01】数列

Time Limits: 1000 ms
Memory Limits: 262144 KB

Description

在这里插入图片描述

Input

一行,六个整数,分别表示 x0, a, b, c, n, m。

Output

一行,一个整数,表示 xn mod m 的值。

Sample Input

1 1 1 1 5 1000000000

Sample Output

133904603

Data Constraint

在这里插入图片描述


4016. 【雅礼联考DAY01】圈地为王

Time Limits: 1000 ms
Memory Limits: 262144 KB

Description

在 n 行 m 列的网格中,你要圈一些地。
你从左上角出发,最后返回左上角,路径内部的区域视为被你圈住。 你不可以进入网格内部, 只能在边上行走。 你的路径不能在左上角以外自交, 但是边足够宽, 你可以重复经过而不自交。
网格中有一些格子对你很重要,你要尽量圈住它;而另一些格子对你有坏处,你不能圈住它。
求圈住 i 个重要的格子的最小路径长度。

Input

n 行,每行 m 个字符。
'I’表示重要的格子, 'X’表示有坏处的格子, '.'表示其他格子。

Output

输出重要的格子数行, 第 i 行表示圈住 i 个重要的格子的最小路径长度。

Sample Input

X.I
.I.
I…

Sample Output

8
10
14

Data Constraint

在这里插入图片描述


【雅礼联考DAY01】逃跑

Time Limits: 2000 ms
Memory Limits: 262144 KB

Description

Konrad, Delfador 和 Kalenz 一行人又喜闻乐见地被追杀了。
他们面临的是一条有 N 个地点的路, 他们从 0 号地点出发, 要逃到 N 号地点去。每个地点的战斗都有一定的金币收入 Ai,也有一定的部队损失 Bi。
为了更好地逃生, Delfador 还弄到了一块传送宝石,这样一行人就能向后传送不超过 L 的距离。从一个地点传送到另一个地点时,Konrad 会选择路径上除起点外的地形指数 Ci 最大的地点进行战斗,地形指数相同时选择最靠后的。
作为优秀的领导者, Konrad 希望总金币收入与总部队损失的比值最大。

Input

第一行,两个整数 N, L。
接下来 N 行,每行两个整数,分别表示 Ai, Bi, Ci。

Output

一行,一个实数,表示答案。
答案请使用科学计数法输出,保留 9 位小数,具体参见输出样例。指数为 0 时,最后应当输出’0.000000000e+000’。

Sample Input

5 3
1 1 1
1 2 2
2 3 1
1 9 2
1 1 1

Sample Output

3.750000000e-001

Data Constraint

在这里插入图片描述


过程

先读一遍题目。
T1:前2个部分分看起来不难,最后一个部分限制那么多,看起来很可做!
T2:看起来很神仙~直接打暴力好了。
T3:感觉是二分答案+DP,但是不知道怎么把二分出来的答案转化为每个点的贡献。
于是开始刚T1。
发现第1 ~ 7号数据可以直接暴力推;第8 ~ 14号数据中每个数的取值只有m种,因此可以找循环节;第15~20号数据想不出那些限制是干嘛的。
然后打T1 70分的程序,搞到16:40才弄出来。
眼见时间不够,只好去水分,结果T2打了2k的暴力,挂了。T3输出无解。
之后闲着无聊,就去推T1,结果有了些眉目:
x i = a x i − 1 2 + b x i − 1 + c x i + b 2 a = a x i − 1 2 + b x i − 1 + 4 a c + 2 b 2 a x i + b 2 a = a x i − 1 2 + b x i − 1 + b 2 4 a x i + b 2 a = a ( x i − 1 + b 2 a ) 2 a ( x i + b 2 a ) = [ a ( x i − 1 + b 2 a ) ] 2 x_i=ax_{i-1}^2+bx_{i-1}+c\\[2ex] x_i+\frac{b}{2a}=ax_{i-1}^2+bx_{i-1}+\frac{4ac+2b}{2a}\\[2ex] x_i+\frac{b}{2a}=ax_{i-1}^2+bx_{i-1}+\frac{b^2}{4a}\\[2ex] x_i+\frac{b}{2a}=a(x_{i-1}+\frac{b}{2a})^2\\[2ex] a(x_i+\frac{b}{2a})=\left[a(x_{i-1}+\frac{b}{2a})\right]^2 xi=axi12+bxi1+cxi+2ab=axi12+bxi1+2a4ac+2bxi+2ab=axi12+bxi1+4ab2xi+2ab=a(xi1+2ab)2a(xi+2ab)=[a(xi1+2ab)]2
然后比赛结束了……


题解

T1

继续推下去:
a ( x i + b 2 a ) = [ a ( x 0 + b 2 a ) ] 2 i x i = a 2 i − 1 ( x 0 + b 2 a ) 2 i − b 2 a a(x_i+\frac{b}{2a})=\left[a(x_0+\frac{b}{2a})\right]^{2^i}\\[2ex] x_i=a^{2^{i-1}}(x_0+\frac{b}{2a})^{2^i}-\frac{b}{2a} a(xi+2ab)=[a(x0+2ab)]2ixi=a2i1(x0+2ab)2i2ab
但是这样子指数会很大,不过不用担心,根据费马小定理,对m-1取模就可以了。

T2

其实二分答案,然后令 a i = A − B ⋅ a n s a_i=A-B\cdot ans ai=ABans就可以了。
然后单调队列+DP+线段树即可。


总结

这次比赛暴露了我的弱点:不善于转化问题。
此外,推式子速度太慢,待加强。

猜你喜欢

转载自blog.csdn.net/huangzihaoal/article/details/104225993