首页 > 其他分享 >cf 870div2 abcd题解

cf 870div2 abcd题解

时间:2023-05-12 23:00:11浏览次数:149  
标签:abcd typedef const int 题解 ll cf long res

A题,先假设一个res从0开始,判断说谎人的个数用ans表示,如果res==ans则假设成立

#include<iostream>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef pair<int,int> PII;
const ll INF=0x3f3f3f3f;
const int N=1e4+10;
int h[N];
ll res;
void solve()
{
    int n;
    cin>>n;
    int res=0;
    int f=0;
    for(int i=0;i<n;i++) cin>>h[i];
    
    while(res<n)
    {
        int ans=0;
        for(int i=0;i<n;i++)
        {
            if(res<h[i])
                ans++;
        }
    if(res==ans)
    {
        cout<<res<<endl;
        return;
    }
    res++;
        //cout<<res<<' ';
    }
    //if(res==n)
        cout<<-1<<endl;
}

B题,ai%x=a(n+1-i)%x等价于(ai-a(n+1-i))%X=0(同余定理)即差是x的倍数,0%任何数等于任何数,因为求最大的x即遍历所有的满足gcd

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef pair<int,int> PII;
const ll INF=0x3f3f3f3f;
const int N=1e5+10;
ll h[N];
void solve()
{
    int n;
    cin>>n;
    ll res=0;
    for(int i=1;i<=n;i++) cin>>h[i];
    for(int i=1;i<=n;i++)
    {
        res=__gcd(res,abs(h[i]-h[n+1-i]));
    }
    cout<<res<<endl;
}

 C题分情况讨论,最后在n>m时发现,只要n的最小质因子大于m时无论如何分都可以,其他都不行(注意找最小值因子的写法)

void solve()
{
    int n,m;
    cin>>n>>m;
    if(m==1||n==1)
    {
        cout<<"yes"<<endl;
    }
    else if(n<=m)
    {
        cout<<"no"<<endl;
    }
    else
    {
        for(int i=2;i<=m&&i<=n/i;i++)
        {
            if(n%i==0)
            {
                cout<<"no"<<endl;
                return;
            }
        }
 
        cout<<"yes"<<endl;
    }
}

D题,转化为b1+l,b2,b3-r即分别求各项的最大值,三元方程一般从中间下手,前后两项都和i有关,可以先求出前后缀最大值,最后从中间b2入手
(注意后缀从后面入手,因为是递推的)

 1 void solve()
 2 {
 3     int n;
 4     cin>>n;
 5     ll res=-1e6;
 6     for(int i=1;i<=n;i++) cin>>a[i];
 7     for(int i=1;i<=n;i++) y[i]=a[i]+i;
 8     for(int i=n;i>=1;i--) s[i]=a[i]-i;
 9     for(int i=1;i<=n;i++) y[i]=max(y[i-1],y[i]);
10     for(int i=n-1;i>=1;i--) s[i]=max(s[i+1],s[i]);
11     for(int i=2;i<=n-1;i++)
12         res=max(res,a[i]+y[i-1]+s[i+1]);
13     cout<<res<<endl;
14 }

 

标签:abcd,typedef,const,int,题解,ll,cf,long,res
From: https://www.cnblogs.com/ZouYua/p/17396502.html

相关文章

  • 【五期邹昱夫】CCF-A(NeurIPS'21)Gradient inversion with generative image prior
    "JeonJ,LeeK,OhS,etal.Gradientinversionwithgenerativeimageprior[J].Advancesinneuralinformationprocessingsystems,2021,34:29898-29908."  本文提出了一种基于预训练模型的梯度反演方法。该方法通过使用潜在空间搜索优化维度较低的特征向量,减少......
  • 题解 ABC239F【Construct Highway】
    翻译:给定\(n,m\)和度数数组\(\{d_i\}\),再给你\(m\)条边,请构造一棵\(n\)点的树包含这\(m\)条边,且第\(i\)个点的度数为\(d_i\),或者判断无解。显然,若\(\sumd_i\ne2(n-1)\),则无解。然后对于输入的每条边,使用并查集维护,再求出在这\(m\)条边的基础上每个点还需要多......
  • vi基本入门操作,Ubuntu中vi方向键乱码问题解决方案?
    一、vi基本操作语法:vi+文本名例如创建一个名为text的文本文件进入后先敲击键盘"I"(看个人习惯,敲“a”也是一样的结果,大小写都行),进入插入模式,即可正常输入如果要敲错了内容,和Windows一样,用backspace来删除,也可以用delete键,问题在于用delete键只能删除选中部分的内容,且仅能选......
  • 2023市北区程序设计竞赛题解
    1.分糖果原题: 解题思路:这道题类似于辗转相除法,这道题是辗转相减,每次取余数,如果整除,直接计算答案,并退出,否则继续取余 AC代码:#include<bits/stdc++.h>#definelllonglongusingnamespacestd;intmain(){ lla,b,ans=0;cin>>a>>b; while(a!=b){ if(a<b)swap(a,b......
  • CF1824D LuoTianyi and the Function & 区间历史和模板
    LuoTianyiandtheFunction:LuoTianyigivesyouanarray\(a\)of\(n\)integersandtheindexbeginsfrom\(1\).Define\(g(i,j)\)asfollows:When\(i\lej\),\(g(i,j)\)isthelargestinteger\(x\)thatsatisfies\(\{a_p:i\lep\le......
  • 洛谷 P4544 [USACO10NOV]Buying Feed G - 题解
    https://www.luogu.com.cn/problem/P4544感觉是很没意思的DP+DS优化,以前做过几道更难的题:https://codeforces.com/contest/1788/problem/Ehttps://atcoder.jp/contests/abc288/tasks/abc288_f这种题只要是让我写总是能把代码整的伤痕累累(逃第一眼:我艹不就是一个sbDP吗......
  • 模拟测试题解
    题目链接:https://vjudge.csgrandeur.cn/contest/557480AOJ维护中计算a+b(0<=a,b<=10)。点击查看代码#include<iostream>usingnamespacestd;intmain(){inta,b;cin>>a>>b;cout<<a+b;return0;}B不支持python队列报数,直接模拟即可。点击查看......
  • CF1542E2 题解
    首先,考虑枚举其中一个的逆序对数,这里绕不开的问题就是求\(I_{i,j}\)表示\(1-i\)的排列中逆序对个数为\(j\)的排列数,不妨把这里逆序对变成顺序对(为了方便描述,显然是等价的)。有个很显然的trick:把所有数按\(1-n\)顺序插入。然后当插入第\(i\)个数时,枚举它前面有\(k\)个......
  • 「题解」ABC241Ex Card Deck Score
    小时候最喜欢看的一集没有\(b_i\)怎么做?答案是\([x^m]\prod\frac{1}{1-a_ix}\),我们知道它可以分解为\(\sum\frac{R_i}{1-a_ix}\),其中\(R_i\)是一个常数。具体构造就是上面EI的blog,和中国剩余定理及其类似。那么\(R_i=\frac{1-a_ix}{\prod_j(1-a_jx)}\bmod(1-a_ix)\)......
  • Stable Diffusion 的 CFG Scale 参数
    在图像生成过程中,CFGScale参数是一个关键因素,它控制着文本提示对生成图像的影响程度。简而言之CFGScale:参数越大,生成的图像与文本提示的相关性越高,但可能会失真。数值越小,相关性则越低,越有可能偏离提示或输入图像,但质量越好。在实际应用中,将其设置在7到11之间往往能......