鱼C论坛

 找回密码
 立即注册
查看: 1549|回复: 2

[吹水] FCOI #11 官方题解

[复制链接]
发表于 2023-12-1 19:31:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 sfqxx 于 2024-1-5 19:28 编辑

https://fishc.com.cn/thread-237169-1-1.html 验题人题解,把我吊打了%%%

这里是 官方题解!


A-互关

一道简单模拟题,很快就能 AC ,就不讲了。

B-高斯记号


这里提供一个不一样的思路,出题人是用字符串做的调了好几次

显然,第一种情况为将输入的数转换为整数(向下取整),第2种情况直接模拟

代码:
a,b=map(str,input().split())
if a=="1":
    print(int(float(b)))
else:
    c = list(b.split("."))
    print("0."+c[1])

C 只因出现一次的数字

思路与验题人题解差不多,且本人代码可读性较差,不放了

D - 枪战

签到题放完了,我们从现在开始没有这么简单了。

考虑直接模拟,时间复杂度为 O(n2),显然无法通过此题

考虑单调栈,与其不如求解一个人能干掉几个人,不如计算一个人能被几个人干掉,于是我们用栈模拟即可。
n=int(input())
b=0
st=[]
for i in range(n):
    a=int(input())
    while st and st[-1]<=a:
        st.pop()
    b+=len(st)
    st.append(a)
print(b)
    
注意单调栈不要写错,我看 tommyu 好像就是拿了90pts就是因为这个原因(?

E 可恶的 zhangjinxuan

求证过程可以看验题人题解,出题人咕咕了

这道题可以用 Python 做,因为无需用高精度。

F -  高斯记号

这道题可以套用 Python 中的eval

我们可以先将输入数据的高斯记号整理为正常表达式,然后注意精度。

(压轴题)G - 公因数

给定一个整数 $n$,你需要求出 $\sum\limits_{i=1}^n \gcd(i, n)$,其中 $\gcd(i, n)$ 表示 $i$ 和 $n$ 的最大公因数。  

本题难点在于思路。

暴力可得 65 or 70 pts

正解:

我们先来看一张图:

                               
登录/注册后可看大图



思路开始:注意到 gcd(i,n) 一定是 n 的约数,n 的约数却很少(最多为 d(n) 个)。考虑枚举 n 的约数(设为 d), 再求出满足 gcd (i,n) = d 的 i 有多少个即可。考虑 i = i'd,那么必然有 i ⊥(n/d) 且 1 ≤ i ≤ (n/d)
(论坛打不出分数)。这样的i'(i)有 φ (n/d) 个。 对于 n 的每一个约数,也直接求出他的欧拉函数即可。

注意到 n 的约数 d 的约数 也一定是 n 的约数,所以在枚举 d 的约数 求解 φ(d) 时只要枚举之前求出的比 d 小的 n 的约数即可。时间复杂度为 O(√ ̄n + d2(n))。
#include<cstdio>
long long n;
long long f(){
    long long ans=n; long long i;
    for(i=2;i*i<=n;++i) if(n%i==0){
        int b=0;
        while(n%i==0) ++b,n/=i;
        ans/=i;
        ans*=b*i-b+i;
    } if(n>1) ans/=n, ans*=n+n-1; 
    return ans;
}
int main(){
    scanf("%lld",&n);
    printf("%lld",f());
    return 0;
}

评分

参与人数 1荣誉 +8 鱼币 +5 贡献 +5 收起 理由
zhangjinxuan + 8 + 5 + 5 鱼C有你更精彩^_^

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-12-2 16:25:46 | 显示全部楼层
官方题解没人啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-12-2 18:21:50 | 显示全部楼层

是啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 21:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表