赞
踩
上午比完了蓝桥杯,题目比去年省赛难好多,不亚于国赛难度(好歹去年国赛排名三十多)……
昨天在宿舍还跟hzy讨论了计算空间的问题,没想到第一题就考了。。
早晨跟zz路上讨论gcd问题,也算是考了吧。。
讨论什么考什么
A.空间:
32位是int。
4
∗
x
/
1024
/
1024
=
256
M
B
4*x/1024/1024=256MB
4∗x/1024/1024=256MB ,求
x
x
x 。
找到计算器,列方程解出来了。
答案:67108864.
B.卡片:
模拟题,秒了。
答案:3181
C.直线:
很恶心求直线做的题,感觉今年题风突变,这不是很好的兆头。
第一反应枚举任意两点,求直线的斜率和截距。然后去重。
想用map,但是怕出现卡精度问题,
于是用结构体存一下,先用sort,先按斜率排序,再按截距排序。
第一遍答案是 48000+的答案,感觉有点大,代入题目所给样例,没问题。
临比赛前一小时想起来设个eps试一下吧,结果答案突然减少至40257……
然后反复修改eps从
1
0
−
2
10^{-2}
10−2改到
1
0
−
7
10^{-7}
10−7,答案一直是 40257……
这时候突然想到这题用几何方法做是不是本来就是假做法,因为我想到了SDOI2008仪仗队。
答案:40257
D.货物摆放:
数太大,不敢
n
\sqrt{n}
n
枚举其因子。
这题第一反应是分解质因数,构成一个大集合,然后大集合分解成三个集合的并集,关键是如何分割,并没有很好的思路(枚举集合A的时候,集合B、C可能会出现重复,需要容斥去除,没想到怎么去。这题当时先pass了,做了大题之后重新思考的这道题。
先打了一个
n
n
n 从
1
1
1 到
32
32
32 的表,然后挑出
n
=
2
,
4
,
8
,
16
,
32
n=2,4,8,16,32
n=2,4,8,16,32 的点看了一下,发现其答案分别是
3
,
6
,
10
,
15
,
21
3, 6, 10, 15, 21
3,6,10,15,21,这是
1
1
1 到
i
i
i 的前缀和。这些数都是
2
2
2 的若干次幂。
懂了,质因子贡献的答案是独立的,我可以先算出
2021041820210418
2021041820210418
2021041820210418 每个质因子的次幂,然后这些次幂对应的
上
述
的
前
缀
和
上述的前缀和
上述的前缀和 的乘积就是答案!
2021041820210418
=
2
1
∗
3
3
∗
1
7
1
∗
13
1
1
∗
285
7
1
∗
588235
3
1
2021041820210418 = 2^1 * 3^3 * 17^1 * 131^1 * 2857^1 * 5882353^1
2021041820210418=21∗33∗171∗1311∗28571∗58823531
由
n
=
2
,
4
,
8
,
16
,
32
n=2,4,8,16,32
n=2,4,8,16,32 的表可以得 贡献的答案分别是
3
,
10
,
3
,
3
,
3
,
3
3,10,3,3,3,3
3,10,3,3,3,3。
相乘得
3
5
∗
10
=
2430
3^5 * 10 = 2430
35∗10=2430
答案:2430
E.路径:
最短路模板,边权是
i
∗
j
/
g
c
d
(
i
,
j
)
i*j/gcd(i,j)
i∗j/gcd(i,j),除了弗洛伊德都能眨眼跑出来。
答案:10266837
F.时间显示:
模拟题,
1
s
=
1000
m
s
1s=1000ms
1s=1000ms, 用
l
o
n
g
l
o
n
g
long long
longlong模拟下就行。
G.砝码称重:
好像从哪见过这道题,是dp来着,忘了怎么做了(dp是我弱项)…
3
n
3^n
3n枚举放左放右,标记每一个可能的数值,用桶记录一下。
赛后想到正解,集合有不重复性,取值最多就2e5种(包括负数),然后每加进来一个数,集合中的数都对这个数相加或者相减,再丢到集合里就行了。考场上大意了。
H.杨辉三角形:
部分分有手就行。
看到 N取值1e9,没想到怎么做,最差情况枚举到 1e9,会超时,甚至数组存不下。
数组问题,可以发现当求到第
i
i
i 行第
j
j
j 列后, 如果其值大于
n
n
n,那么往后的项就不必求了,且递减序列的项也不必求了。杨辉三角某行可以由上一项地推过来,不必保存其上一行的数。
于是写了一个略大于
O
(
n
)
O(n)
O(n) 做法,希望能多拿点分,我还是太菜了。
PS:
其他思路:
从上往下从左到右都有二分性质,但不知道如何利用。
或者用阶乘算值,但感觉应该不是正解……
四月底吧,脑子突然灵光一闪(闪的太慢了)。
N
=
C
n
m
N = C_{n}^{m}
N=Cnm 考虑
N
N
N 的取值范围只有
1
e
9
1e9
1e9。 根据组合数的数学构造可以发现
m
m
m 的取值范围特别小,大概
<
=
20
<=20
<=20, 于是考虑枚举m,然后根据杨辉三角从上往下的递增性对
n
n
n 进行二分。时间复杂度大概是
O
(
m
2
∗
l
o
g
2
N
)
O(m^2*log_2N)
O(m2∗log2N) 第一次
m
m
m 是枚举,第二次
m
m
m 是算组合数。
I.双向排序
模拟暴力sort,大概能拿一半分,能拿多少分拿多少吧,进了国赛再冲刺,现在求稳。
不过赛后听说是个签到题,不过也无所谓了,像去年一样稳住省一就行了,国赛另谈。
J.括号序列
想到一个线段树维护前缀和 并求区间极值判断合法性 的做法,但是还是会T掉,pass了。
我个人觉得难度不亚于去年年底的国赛……
感觉这次省赛应该会比去年省赛三十多名的成绩要差,
下周天梯赛再接再厉吧,
最重要的比赛还是5月中旬的icpc,加油吧…
跟教练吵了一架,挽回也挽不回了,银川站不让我去打了。
今晚(2021.04.28) 蓝桥省赛结果出来了。
山东省rk16,比预想的又高了挺多。
国赛加油呗
第十二届蓝桥杯国赛是我不愿意面对的一个回忆,
国赛的疏忽把我从国一的位置拉到了国二,
没想到第一次蓝桥杯拿下的国一在第二次却变成了国二……
A.带宽
大二时候的自己还不清楚计算机的进制转换,
以为都是以2^10=1024进行单位换算,
于是这题我算了个小数点后好几位的答案,
正确答案是25(200/8就好了)
B.纯质数
枚举数字1到20210605,
先判断包含的数字是否全是由质数组成,
是的话再进行
s
q
r
t
(
n
)
sqrt(n)
sqrt(n) 的质数判断,
注意两者判断顺序,如果先判断后者再判断前者必定超时。
C.完全日期
注意闰年,然后构造日期,再把各位上的数加起来。
题目不难。
D.最小权值
不会
E.大写
本来是第五个填空的,但今年只有四个填空,六个大题。
送分题 不多说。
F.123
难度从这道题开始加大,样例规模也成倍上升。
传统枚举方法拿不到一半的分
注意考虑优化:答案可以表示为区间
[
1
,
r
]
[1, r]
[1,r] -
[
1
,
l
−
1
]
[1, l-1]
[1,l−1] 的差。
那么如何统计
[
1
,
r
]
[1, r]
[1,r] 的答案呢?
设函数
P
(
x
)
=
0
+
1
+
2
+
.
.
.
+
x
P(x) = 0 + 1 + 2 + ... + x
P(x)=0+1+2+...+x,
再设函数
S
(
x
)
=
P
(
0
)
+
P
(
1
)
+
P
(
2
)
+
.
.
.
+
P
(
x
)
S(x) = P(0) + P(1) + P(2) + ... + P(x)
S(x)=P(0)+P(1)+P(2)+...+P(x)
那么
[
1
,
r
]
[1, r]
[1,r]的和就可以用
S
(
t
1
)
+
P
(
t
2
)
S(t_1) + P(t_2)
S(t1)+P(t2)表示出来,
[
1
,
l
−
1
]
[1, l-1]
[1,l−1]也同理。
问题的求解就变成了如何求解出上式的
t
1
和
t
2
t_1和t_2
t1和t2.
不难发现,
t
1
t_1
t1对应的项数是确定的,当
t
1
t_1
t1增大时,对应的项数是增加的。
那么可以用二分算法进行
t
1
t_1
t1的确定。
因此我们只需要知道最大的
t
1
t_1
t1,使得
P
(
1
)
,
P
(
2
)
.
.
.
P
(
t
1
)
P(1),P(2)...P(t_1)
P(1),P(2)...P(t1)转化成的 $(1)+(1+2)+(1+2+3)+…+(1+2+…+t1)中的项的个数
<
=
r
<=r
<=r,项的个数其实就是
t
∗
(
t
+
1
)
/
2
t*(t+1)/2
t∗(t+1)/2,那么剩余项的个数就是
t
2
=
r
−
t
∗
(
t
+
1
)
/
2
t_2=r-t*(t+1)/2
t2=r−t∗(t+1)/2。
此时
S
(
t
1
)
+
P
(
t
2
)
S(t_1) + P(t_2)
S(t1)+P(t2)便确定下来了。
G.异或转换
虚张声势的一道题,只要你构造的样例足够多,
你会发现这题的循环节在
2
n
2^n
2n上,
根据结论去写答案就可以了。
H.二进制问题
N的取值范围是
1
0
18
10^{18}
1018,但转化成二进制不过只有64位。
对N的高位开始进行搜索,
如N的某位是1,那么(1)该位构造可以为0,然后剩余位数都可以用剩余数量的1进行填充(预处理好组合数就可以快速进行运算),计算完之后可以进行(2)。(2)该位可以构造为1,然后进行下一位判断。
具体实现存在一点细节上的问题,比如剩余位的数量必须大于等于你当前可以填1的数量。具体不再赘述,懂思路即可。
I.翻转括号序列
不会,部分分也不会写。
J.异或三角
只会暴力枚举的部分分做法。
对了对填空题答案,只对了一个第二题……
前三次省赛国赛里填空题从来没有因为写错而扣过分,
而本次填空题挂惨了,都是因为写挂……
也因为前几次比赛经历太自信了,导致也没检查填空题答案。
大题做的应该还好,最终只得了排名全国近200名的国二……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。