0319task

青蛙数

题意

对于一个有 $n$ 个元素且每个元素初始全是 $1$ 的数组 $x$,有 $m$ 次操作,每次操作选定数组三个位置 $x_a,x_b,x_c$,将其排序后改为 $\varphi (x_i)+10$ ,再给区间 $l,r$,对 $x_l , x_r$区间求和

分析

因为每个元素初始全是 $1$,可以先预处理存在数组里,对于每个元素,用结构体记下操作数,然后暴力求和即可。(虽然正解树状数组)

代码

#include<bits/stdc++.h>
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
using namespace std;
long long n,m,a,b,c,l,r,e[200005]; 
struct node{
    long long sum;
}s[200005];
bool cmp(node x,node y){
    return e[x.sum]<=e[y.sum];
}
int euler(int n) {
    int ans=n;
    for (int i=2;i*i<=n;i++)
        if (n%i==0) {
            ans=ans/i*(i-1);
            while (n%i==0) n/=i;
        }
    if (n>1) ans=ans/n*(n - 1);
    return ans;
}
int main() {
//  freopen("B.in","r",stdin);
//  freopen("B.out","w",stdout);
    e[0]=1;
    for(int i=1;i<=2e5;i++){
        e[i]=euler(e[i-1])+10;
    }
    cin>>n>>m;
    while(m--){
        cin>>a>>b>>c>>l>>r;
        node s1[10];
        long long ans=0;
        s1[1].sum=s[a].sum,s1[2].sum=s[b].sum,s1[3].sum=s[c].sum;
        sort(s1+1,s1+4,cmp);
        s[a].sum=s1[1].sum+1,s[b].sum=s1[2].sum+1,s[c].sum=s1[3].sum+1;
        for(int i=l;i<=r;i++)ans+=e[s[i].sum];
        cout<<ans<<"\n";
    }
}

三角片

题意

已知等腰三角形底 $x$ ,求最大整数腰 $a$ 和高 $b$。

分析

已知勾股定理 $a^2=b^2+(\frac{x}{2})^2$,已知 $x$,为了使 $a$ 最大,则 $b$ 最大,因为 $a > b$ 且 $a,b$ 为整数,所以有 $b=(a-1)$ 时 $a,b$ 最大,所以有$a^2-b^2=x^2$。根据平方差公式,有$(a+b)(a-b)=x^2$,带入 $b=a-1$,得$x^2=1\times(a+a+1)=2a+1$,到推得到 $a=\frac{(\frac{n}{2})^2+1}{2}$,同时又 $b=a-1$ 。则面积 $S=\frac{x\times b}{2}=\frac{x\times (a-1)}{2}$,周长 $C=x+2\times a$。

代码

#include<bits/stdc++.h>
#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
using namespace std;
long long t,x;
int main() {
    cin>>t;
    while(t--) {
        cin>>x;
        long long a=((n/2)*(n/2)+1)/2;
        cout<<x+2*a<<" "<<x*(a-1)/2<<"\n";
    }
}
posted @   changwenxuan  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示