关于刚才的d2t3
查看原帖
关于刚才的d2t3
485688
想吃小熊饼干楼主2021/8/19 18:11

rt,大佬帮忙debug一下,万分感谢(请忽略时间复杂度)。

思路:分别求出RR的分子(aansaans)和分母(ansans),输出aansans \frac{aans}{ans}的值.

code:

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=998244353;//模数
inline int read()//快读
{
    register char ch=getchar();
    int x=0;
    while(!isdigit(ch))ch=getchar();
    while(isdigit(ch))
    {
        x=(x<<3)+(x<<1)+(ch&15);
        ch=getchar();
    }
    return x;
}
inline void put(int x)//快写
{
    if(x>=10)put(x/10);
    putchar(x%10+48);
    return;
}
int r[64010],n,ans,aans;//定值电阻大小,数量,分母,分子
signed main()
{
    n=read();
    for(int i=1;i<=n;i++)r[i]=read();
    for(int j=1;j<=n;j++)
    {
        ans=0;aans=1;
        //并联电阻计算公式
        for(int i=1;i<=n;i++)
            aans=(aans*((j*n)%N+r[i])%N)%N;
        for(int i=1;i<=n;i++)
        {
            ans=(ans+aans/((j*n)%N+r[i]))%N;
        }
        put((aans/ans)%N);putchar(' ');
    }
    return 0;
}
2021/8/19 18:11
加载中...