[GDKOI2021] 普及组 Day3 总结 && 题解
[ G D K O I 2021 ] 普 及 组 D a y 3 总 结
时间安排和昨天的GDKOI2021 Day2一样.
早上四个小时的快乐码题时间,然鹅我打了半小时的表
然后就是下午的题目讲解和凸包讲座.
题目讲解
T1



相似三角形的判定应该大家都知道,
一开始我还是用勾股来求的,结果打完后发现好像用欧氏距离简单的多…
关于我怎么用勾股来求边长的:

虚点是为了求边长而设定的辅助点,而实线是所求三角形的边.虚线是同辅助点建立的辅助边,由于是成
90
°
90°
90°的,所以可以用沟谷进行一个边的求长.因为知道了三角形三个点的位置,所以可以很容易地推导出符合这个要求的点,知道了辅助点和三角形的点的位置,又可以求出两条辅助边发的长度,然后就是勾股了.
T2


这题的思路很简单.由于成绩可能是任何实数,对于最优情况下就赋予99.99的成绩,比他高的(
r
−
1
r-1
r−1个)人就赋予
100分的成绩,比他低的就赋予0分的"好成绩".
对于最差的情况下,直接赋予最低的成绩,
0.如果没有人比他高,那么大家都是
0分,有比他高的都是100分,其他人都是 0分.
T3

出现了,Day 1讲过的数论
化简过程:
\begin{equation}
\sum_{k=1}^{n} \sum_{i \mid k} \sum_{j \mid i} \lambda(i) \lambda(j)=\sum_{k=1}^{n} \sum_{i \mid k} \lambda(i) \sum_{j \mid i} \lambda(j)
\end{equation}
我们设
\begin{equation}
\operatorname{sum}(x)=\sum_{i \mid x} \lambda(i)
\end{equation}
如果我们通过枚举
i
,相当于贡献就是
\begin{equation}
\lambda(i) * \operatorname{sum}(i)
\end{equation}
,显然在 1~n
内的每一个i的倍数都有一次贡献。这样可以拿到
60分的部分分。
如果仔细分析
\begin{equation}
\operatorname{sum}(x)
\end{equation}
的值可以发现,
如果
x
为完全平方数,
\begin{equation}
\operatorname{sum}(x)=1
\end{equation}
,否则
\begin{equation}
\operatorname{sum}(x)=0
\end{equation}
证明:分解
x的质因数,使
\begin{equation}
x=p_{1}^{a 1} * p_{1}^{a 1}
\end{equation}
。
显然每个指数
i从0到 a;取值的积就是
x
的每一个因数。
假设存在一个 α_k是奇数,那么这个质数的指数可以选择
0
到 a_k
,奇数个数刚好等于偶数个数,说明每一种选择都恰好有一种选择与它的指数和奇偶性想法,即\operatorname{sum}(x)=0
如果 a_i全为偶数,即为完全平方数,那么
\operatorname{sum}(x)=1。由前面的对称性可以知道,如果将某个质数的指数减小
2,sum值不变。所有完全平方数的sum值等于
\operatorname{sum}(x)=1。
然后继续化简公式
\sum_{k=1}^{n} \sum_{i \mid k} \lambda(i) * \operatorname{sum}(i)
因为只有i是完全平方数时,
\operatorname{sum}(i)=1,而此时
\lambda(i)=1。那么答案就是每个完全平方数
x在
1
到
n
内的倍数的和。
即
\begin{equation}
\sum_{i^{2}<n} \frac{n}{i^{2}}
\end{equation}
T4

这道题有个很有意思的地方,就是序列前
i
i
i个元素的和要大于后
n
−
i
+
1
n-i+1
n−i+1个.这里由于
i
i
i是最小等于
1
1
1的,所以容易得出该要求的简化证明:该序列的第一个元素大于等于该序列其他元素之和才为题目定义的"好数列"
但如果就是不断地生成一个符合题目基本要求的序列,再去验证该序列是否为"好序列",那么通常会超出时限.于是我们就想到一个简化的思想
分析:
首先我们发现,如果某个长度为
i
i
i的前缀与长度为
i
i
i的后缀有重叠部分,那
么这个限制等价于长度为
n
−
i
n-i
n−i的前缀。也就是说如果
n
n
n是偶数,那么只需要
考虑前
n
/
2
n/2
n/2位满足条件即可;如果
n
n
n是奇数,也只需考虑
n
/
2
n/2
n/2位即可,中间
那一位可以随便填。
考虑一个计数
D
P
DP
DP,以
f
[
i
]
[
j
]
f[i][j]
f[i][j]来表示对于前
i
i
i位的和比后
i
i
i位大
j
j
j的方案数.
那么可以得出:
f
[
i
]
[
j
]
=
∑
k
=
m
a
x
(
j
−
n
,
0
)
j
+
n
f
[
i
]
[
k
]
∗
(
n
+
1
−
∣
j
−
k
∣
)
f[i][j]=\sum_{k=max(j-n,0)}^{j+n}f[i][k]*(n+1- \left | j-k \right |)
f[i][j]=k=max(j−n,0)∑j+nf[i][k]∗(n+1−∣j−k∣)
时间复杂度为
O
(
n
4
)
O(n^4)
O(n4)
讲座
凸包
个人感想
这次
G
D
K
O
I
2021
GDKOI2021
GDKOI2021真的是教给了我很多,不论是讲堂还是讲题部分,都是有很多值得学习了了解的知识点的知识面的.
同今天解压密码一样,
G
D
K
O
I
GDKOI
GDKOI普及组,明年见
[GDKOI2021] 普及组 Day3 总结 && 题解的更多相关文章
- [GDKOI2021] 普及组 Day2 总结
[ G D K O I 2021 ] 普 及 组 D a y 2 总 结 [GDKOI2021] 普及组 Day2 总结 [GDKOI2021]普及组Day2总结 时间安排和昨天的GDKOI2021 ...
- [GDKOI2021] 普及组 Day1 总结
[ G D K O I 2021 ] 普 及 组 D a y 1 总 结 [GDKOI2021] 普及组 Day1 总结 [GDKOI2021]普及组Day1总结 长达3天的快乐GDKOI2021普及 ...
- NOIP2018初赛普及组原题&题解
NOIP2018初赛普及组原题&题解 目录 NOIP2018初赛普及组原题&题解 原题&答案 题解 单项选择题 第$1$题 第$2$题 第$3$题 第$4$题 第$5$题 第$ ...
- noip2008普及组3题题解-rLq
(第一次写题解,随意喷) (只是前一天的作业哈) (先凑个数) 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈 ...
- 【总结】2022GDOI普及组试题与题解(缺两天的T4)
标签 2022 广东省选普及组 GDOI 试题 前往Luogu下载 Luogu下载:This Day1题解 T1 邹忌讽齐王纳谏 打卡题,建议模拟 建议使用map,时间复杂度为\(O(nlogn)\) ...
- noip2008普及组4题题解-rLq
(啊啊啊终于补到了今天的作业了) 本题地址:http://www.luogu.org/problem/show?pid=1058 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣 ...
- [题解]noip2016普及组题解和心得
[前言] 感觉稍微有些滑稽吧,毕竟每次练的题都是提高组难度的,结果最后的主要任务是普及组抱一个一等奖回来.至于我的分数嘛..还是在你看完题解后写在[后记]里面.废话不多说,开始题解. 第一题可以说的内 ...
- NOIP2008普及组题解
NOIP2008普及组题解 从我在其他站的博客直接搬过来的 posted @ 2016-04-16 01:11 然后我又搬回博客园了233333 posted @ 2016-06-05 19:19 T ...
- [题解]NOIP2018(普及组)T1标题统计(title)
NOIP2018(普及组)T1标题统计(title) 题解 [代码(AC)] #include <iostream> #include <cstdio> #include &l ...
随机推荐
- NGK主网上线后内存价格上涨30倍,NGK RAM是否值得买入?
美国加州时间10月14日上午10时,NGK主网正式上线.因为市场预期向好,NGK上线以后迎来了大涨,NGK的代币价格上涨了10倍,内存价格上涨了30倍.目前,NGK上线已经有五天的时间,盘面上已经出现 ...
- [转]ROS订阅激光数据
https://github.com/robopeak/rplidar_ros/blob/master/src/client.cpp /* * Copyright (c) 2014, RoboPe ...
- HTTP状态响应码解析
# HTTP响应状态码 ## 1xx:临时响应 #### 表示临时响应并需要请求者继续执行操作的状态代码. 100 **继续**请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等 ...
- Oracle 开启或关闭归档
开启:sqlplus / as sysdbaarchive log list;shutdown immediate;startup mount;alter database archivelog;ar ...
- Linux解压缩相关命令
Linux解压缩相关命令 运行级别: 0:关机 1:单用户 2:多用户无网络连接 3:多用户有网络连接 4:系统保留 5:图形界面 6:系统重启 通过init[0123456]来切换不同的运行级别 g ...
- WPF -- 自定义按钮
本文介绍WPF一种自定义按钮的方法. 实现效果 使用图片做按钮背景: 自定义鼠标进入时效果: 自定义按压效果: 自定义禁用效果 实现效果如下图所示: 实现步骤 创建CustomButton.cs,继承 ...
- CMD(命令提示符)的基本操作(文件)
打开CMD窗口,接下来将介绍如何使用CMD来创建.删除.修改.查看文件 1.1 使用CMD创建空文件(为了更好的演示,本文皆以D盘为当前路径),命令如下: copy nul xxx.xx(文件名) 命 ...
- nodejs+express+mongodb实现登录注册
nodejs+express+mongodb实现登录注册 1 简介 登录注册功能使用nodejs+express+mongodb完成,其中对mongodb的操作使用mongoose完成,对mongod ...
- SpringBoot(六):SpringBoot中如何使用Servlet?
第一种方法: 1.使用Servlet3的注解方式编写一个Servlet 2.在main方法的主类上添加注解: @ServletComponentScan(basePackages = "co ...
- 后端程序员之路 44、Redis结合protobuf
protobuf序列化速度不错,在往Redis里存对象时,用protobuf序列化可以节省内存,省去写序列化反序列化代码的工作. google protocol buffer 与 redis 结合使用 ...