快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

CodeforcesRound#829(Div.2)E-创新互联

14天阅读挑战赛

创新互联公司是一家集网站建设,黔西南州企业网站建设,黔西南州品牌网站建设,网站定制,黔西南州网站建设报价,网络营销,网络优化,黔西南州网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。Cobb 暴力

可以看出有这样的一个不等式

n*(n-1)-2nk<=i*j-k*(a[i]|a[j])<=n*(n-1)

左边的式子可以化成n*(n-2*k-1),然后可以发现当i<=(n-2*k-1)时,即使j取到了n,a[i]|a[j]=0,还是要小于等于最小值的,所以可以直接从n-2*k开始遍历,而k最多100,所以这题直接暴力就可以了,,,

Codeforces Round #735 (Div. 2) B. Cobb(巧妙的暴力优化)_合金Bunny酱的博客-博客

#includeusing namespace std;
#define int long long
const int N = 2e5+5;
const int mod=998244353;
const int inf=1e18;
const double eps=1e-8;
const double pi=acos(-1);
int qpow(int a,int b)
{
    int res=1;
    while(b)
    {
        if(b&1) res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
int getinv(int a){return qpow(a,mod-2);}
int t,n,k,a[100005];
signed main()
{
    //ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //freopen("in.txt","r",stdin);
    cin>>t;
    while(t--)
    {
        cin>>n>>k;
        int ans=-1e18;
        for(int i=1;i<=n;i++) cin>>a[i];
        for(int i=max(n-2*k,1LL);i<=n;i++)
            for(int j=i+1;j<=n;j++)
            ans=max(ans,i*j-k*(a[i]|a[j]));
        cout<
Wish I Knew How to Sort 概率

假设0的个数是cnt0个,那么前cnt0的位置一定都要是0才可以,假设cnt1为前cnt0的位置是1的个数,那么一定得把这cnt1个1都换成0才可以,一共有cnt1*cnt1种换法,总的换法是C(n,2),所以总的期望就是p(cnt1)+p(cnt1-1)+...+p(1),也就是还剩cnt1个1的期望加上还剩cnt1-1个的期望一直加到还剩1个的期望

Codeforces Round #829 (Div. 2 + Div. 1) 2C/1A - 2E/1C - 知乎 (zhihu.com)

#includeusing namespace std;
#define int long long
const int N = 2e5+5;
const int mod=998244353;
const int inf=1e18;
const double eps=1e-8;
const double pi=acos(-1);
int qpow(int a,int b)
{
    int res=1;
    while(b)
    {
        if(b&1) res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
int getinv(int a){return qpow(a,mod-2);}
int t,n,a[200005],dp[200005];
signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //freopen("in.txt","r",stdin);
    cin>>t;
    while(t--)
    {
        cin>>n;
        for(int i=1;i<=n;i++) cin>>a[i];
        int cnt0=count(a+1,a+n+1,0);
        int cnt1=count(a+1,a+cnt0+1,1);
        dp[0]=0;
        int c2=(n*(n-1)%mod)*getinv(2)%mod;
        for(int i=1;i<=cnt1;i++)
        {
            int p=(i*i%mod)*getinv(c2)%mod;
            //dp[i]=dp[i-1]+getinv(p);
        }
        cout<
Circular Billiard Table 

要求解a|bx的最小整数解x,则x=a/gcd(a,b);

圆心角的度数c是2*a/b,走n次就是nc,能够回到终点的条件是nc=k*360,那么只要取一个最小的n满足等式就可以,用到上面那个结论,答案就是b*180/gcd(b*180,a);

2021 CCPC 威海 部分题解 - Ghaser - 博客园 (cnblogs.com)

#includeusing namespace std;
#define endl '\n'
#define int long long
const int N = 2e5+5;
const int mod=2520;
const int inf=1e18;
const double eps=1e-8;
const double pi=acos(-1);
int qpow(int a,int b)
{
    int res=1;
    while(b)
    {
        if(b&1) res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
int getinv(int a){return qpow(a,mod-2);}
int Lcm(int a,int b){return a*b/__gcd(a,b);}
int t;
signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //freopen("in.txt","r",stdin);
    cin>>t;
    while(t--)
    {
        int a,b;
        cin>>a>>b;
        int x=b*180;
        int ans=x/__gcd(x,a)-1;
        cout<
G - Shinyruo and KFC

自己写的代码太多了,而且思路也有点复杂,原来只需要统计每个数出现多少次然后就是几次方就可以,a数组最多会出现根号(1e5)个数,所以直接暴力就可以,枚举m,每次都是所有的C(i,a[i])相乘,然后发现有很多a[i]是相同的,然后看看出现了多少次就是多少次方就可以了

【2021CCPC 威海】A、D、G、J_我wa的一声就哭出来了的博客-博客

#includeusing namespace std;
#define endl '\n'
#define int long long
const int N = 2e5+5;
const int mod=998244353;
const int inf=1e18;
const double eps=1e-8;
const double pi=acos(-1);
int qpow(int a,int b)
{
    int res=1;
    while(b)
    {
        if(b&1) res=res*a%mod;
        a=a*a%mod;
        b>>=1;
    }
    return res;
}
int getinv(int a){return qpow(a,mod-2);}
int Lcm(int a,int b){return a*b/__gcd(a,b);}
int n,m,a[50005],fac[100005],ifac[100005],tx[100005];
sets;
void init()
{
    fac[0]=1;
    for(int i=1;i<=100000;i++) fac[i]=fac[i-1]*i%mod;
    ifac[100000]=getinv(fac[100000]);
    for(int i=99999;i>=0;i--) ifac[i]=ifac[i+1]*(i+1)%mod;
}
int C(int a,int b)
{
    if(b>a) return 0;
    return (fac[a]*ifac[a-b]%mod)*ifac[b]%mod;
}
signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    //freopen("in.txt","r",stdin);
    cin>>n>>m;
    init();
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        tx[a[i]]++;
        s.insert(a[i]);
    }
    for(int i=1;i<=m;i++)
    {
        int ans=1;
        for(auto x:s)
        {
            ans=(ans*qpow(C(i,x),tx[x]))%mod;
        }
        cout<

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:CodeforcesRound#829(Div.2)E-创新互联
文章路径:http://6mz.cn/article/dcphdc.html