首页 > 其他分享 >Codeforces Round 993 (Div. 4)

Codeforces Round 993 (Div. 4)

时间:2024-12-16 18:44:36浏览次数:3  
标签:r2 993 int LL Codeforces cin Div include r1

https://codeforces.com/contest/2044

A. Easy Problem

签到题。对于大小为n的矩阵,有n-1个a>0&&b>0的(a,b)pair,满足b=n-a。

#include <iostream>
#include <map>
#include <string>
using namespace std;
 
int main()
{
  int t;
  cin>>t;
  while(t--){
    int n;
    cin>>n;
    cout<<n-1<<endl;
  }
  return 0;
}
View Code

B. Normal Problem

给定字符串,求其中心对称后的字符串。将i和n-i-1换位置,再对所有单个字符镜像即可。

#include <iostream>
#include <map>
#include <string>
using namespace std;
void mirror(string& s,int i){
    if(s[i]=='q') s[i]='p';
    else if(s[i]=='p') s[i]='q';
}
int main()
{
    int t;
    cin>>t;
    while(t--){
        string s;
        cin>>s;
        int n=s.size();
        for(int i=0;i<(s.size()+1)/2;i++){
            swap(s[i],s[n-i-1]);
            mirror(s,i);
            if(i!=n-i-1)
                mirror(s,n-i-1);
        }
        cout<<s<<endl;
    }
    return 0;
}
View Code

C. Hard Problem

两列m个座位,a个同学只坐第一列,b个同学只做第二列,c个同学都能做,问最多坐下多少个人。

优先让a、b坐,然后c补余下的位置。

#include <iostream>
#include <map>
#include <string>
using namespace std;
 
int main()
{
    int t;
    cin>>t;
    while(t--){
        int m,a,b,c;
        cin>>m>>a>>b>>c;
        int res=0;
        int r1=m,r2=m;
        res+=min(a,r1);
        r1-=min(a,r1);
        res+=min(b,r2);
        r2-=min(b,r2);
        res+=min(c,r1+r2);
        cout<<res<<endl;
    }
    return 0;
}
View Code

D. Harder Problem

给定数组a,构造数组b,使得数组b的1~bi的子数组的众数为ai。

因为允许b中数的大小为1~n,而且若两数出现的次数相同,他们都为众数。所以可以直接将1~n填入b中,构造一个无重复数的数组。

当ai未在前面出现的话,bi赋值为ai,否则,选择一个随机的数赋值,这个b前面没用到,a后面也不会出现。

#include <iostream>
#include <map>
#include <string>
#include <algorithm>
#include <vector>
#include <set>
using namespace std;
const int N = 2e5+10;
int a[N];
int main()
{
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        set<int> s;
        for(int i=0;i<n;i++){
            cin>>a[i];
            s.insert(a[i]);
        }
        int t=1;
        set<int> s2;
        for(int i=0;i<n;i++){
            if(s2.count(a[i])){
                while(s.count(t))
                    t++;
                cout<<t<<" ";
                s.insert(t);
            }else{
                cout<<a[i]<<" ";
                s2.insert(a[i]);
            }
        }
        cout<<endl;
    }
    return 0;
}
View Code

E. Insane Problem

给定k和x,y的范围,求(x,y)满足y/x=k^n的个数,n>=0.

y=x*k^n,枚举n,n确定后,二分x,找到使得y落到指定区间内的最大x和最小x。即为pair的数量。

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL y(LL x,LL k,LL n){
    return x*pow(k,n);
}
int main()
{
    LL t;
    cin>>t;
    while(t--){
        LL k,l1,r1,l2,r2;
        cin>>k>>l1>>r1>>l2>>r2;
        LL ans=0;
        for(LL i=0;i<=32;i++){
            LL l=l1,r=r1;
            while(l<r){
                LL mid=l+r+1>>1;
                if(y(mid,k,i)>r2)
                    r=mid-1;
                else
                    l=mid;
            }

            if(y(l,k,i)<l2) continue;

            LL right = l;//最大的x

            l=l1,r=r1;
            while(l<r){
                LL mid=l+r>>1;
                if(y(mid,k,i)<l2)
                    l=mid+1;
                else
                    r=mid;
            }
            if(y(l,k,i)>r2) continue;

            LL left = l;//最小的x

            //cout<<left<<" "<<right<<endl;
            ans+=right-left+1;

        }
        cout<<ans<<endl;
    }
    return 0;
}
View Code

 

标签:r2,993,int,LL,Codeforces,cin,Div,include,r1
From: https://www.cnblogs.com/greenofyu/p/18610890

相关文章

  • 如何让img自动适应div容器大小?
    在前端开发中,要使图像(<img>)自动适应其包含的<div>容器的大小,你可以使用CSS的一些属性。下面是一些常见的方法:1.使用max-width和height:auto你可以将图像的max-width设置为100%,这样它就不会超过其容器的宽度。同时,将height设置为auto可以保持图像的原始纵横比。......
  • CF补题 991-Div
    CF补题991-Div.3-20241210Dashboard-CodeforcesRound991(Div.3)-CodeforcesA:题目大意:给出\(n\)个字符串,求前多少个字符串的大小之和小于\(m\)#include<iostream>#include<string>usingnamespacestd;stringa[52];intmain(){ intT; cin>>T; w......
  • 使用button当按钮和使用div当按钮有什么区别?
    在前端开发中,使用<button>元素和<div>元素作为按钮时,有一些关键的区别,这些区别涉及到语义、可访问性、默认行为和样式等方面。1.语义<button>:语义明确,表示一个按钮,用于提交表单或触发某些动作。屏幕阅读器和其他辅助技术可以正确识别并宣布这是一个按钮,从而提高网站的......
  • Codeforces Round 992 (Div. 2) C. Ordered Permutations
    给出数字n,构造一个符合的数组很容易想到,n1时,只有1符合。n2时,有12;21符合。n==3时,有123;132;231;321;发现必须分为1和2——n的两块数字,有某种递归的感觉,答案与2次方有关于是做出代码:#include<iostream>#include<algorithm>usingnamespacestd;#defineffp(x,y......
  • F - Diversity
    F-DiversityProblemStatementThereare$N$productsforsaleinastore.The$i$-thproducthasapriceof$P_i$yen,autilityvalueof$U_i$,andacolor$C_i$.Youwillchoosesomesubsetofthese$N$productstobuy(possiblynone).Thetotalprice......
  • AtCoder Regular Contest 189 (Div. 2)
    A计数B折叠差不变D观察性质暴力#include<bits/stdc++.h>usingnamespacestd;#definepbpush_back#defineendl'\n'#defineLLlonglongconstintN=5e5+10;intn,a[N],l[N],r[N];LLpre[N],suf[N],b[N];voidsolve(){cin>>n;......
  • 写出不定宽度的子级div,在相对于固定宽度的父级元素水平居中的布局
    要实现不定宽子级div相对于固定宽度父级元素水平居中,可以使用几种方法:1.使用Flexbox:这是最现代化和推荐的方法,兼容性也很好。<divclass="parent"><divclass="child">不定宽度内容</div></div>.parent{width:500px;/*固定宽度*/display:flex;......
  • 使用div+css进行布局有什么好处?
    使用div+CSS进行布局在前端开发中有很多好处,总结如下:1.结构与样式分离:这是最重要的好处之一。HTML的div元素负责网页的结构和内容,而CSS负责网页的样式和外观。这种分离使得代码更清晰、易于维护和修改。例如,你可以轻松地改变整个网站的字体或颜色,而无需修改HTML结......
  • 请使用一个div写出有三条横线的小图标
    <divstyle="display:flex;flex-direction:column;height:24px;justify-content:space-between;width:24px;"><divstyle="height:2px;background-color:black;"></div><divstyle="height:2px;background......
  • springboot网上影院订票系统-计算机毕业设计源码06993
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5修改信息流程2.2.6删除信息流程2.3 系统功......