第六十二天 牛客62场小白月赛
创始人
2024-02-16 10:01:16
0

A题

大水题

#includeusing namespace std;int h[10010];
int t,n,m,a,k,b;void zhang(int h[])
{while(--m){for(int i=1;i<=n;i++){h[i]+=a;if(h[i]>k) h[i]=b;}}for(int i=1;i<=n;i++){cout<>t;while(t--){cin>>n;for(int i=1;i<=n;i++){cin>>h[i];}cin>>a>>k>>b;cin>>m;zhang(h);cout<

 B题

这题核心是弄懂为什么只有0.1输出

因为询问的数小于等于数字个数,分为两种情况

1.所有数的和加起来等于询问的数的倍数,余零。

2.因为个数大于要询问的数n,所以和的余数种类要小于个数。所以去掉一个数可以满足所有的余数情况。

#include
using namespace std;int t,l,r,m,n;
long long int sum;int main()
{cin>>t;while(t--){cin>>l>>r;sum=1ll*(l+r)*(r-l+1)/2;cin>>m;while(m--){cin>>n;if(sum%n==0) cout<<0;else cout<<1;cout<

 

 C题

 先放一段别人代码,这题思路是只要质因子不同两个数组就不同。故分解质因子再比较就可以了。

#include
using namespace std;
int n;
int a[100005];
int b[100005];
int mp[1000005];
int main()
{cin>>n;for(int i = 1;i<=n;++i){cin>>a[i];int x = a[i];for(int j = 2;j<=sqrt(x);++j)while(x%j==0){mp[j]++;x/=j;}if(x>1)mp[x]++;}for(int i = 1;i<=n;++i){cin>>b[i];int x = b[i];for(int j = 2;j<=sqrt(x);++j)while(x%j==0){if(mp[j]){cout<<"No\n";return 0;}x/=j;}if(x>1){if(mp[x]){cout<<"No\n";return 0;}    }}cout<<"Yes\n";return 0;
}

 可恶啊,为什么我写的不行啊,甚至用了线性筛法,双指针结果还是不行。明天继续,把剩下题肝完。

#include
using namespace std;

const int N=1010;

int n,cnt=0,cnt1=0,cnt2=0,prime[10000],a[N],b[N],c[N];
bool flag=true,st[10000],st1[N];

void primes()
{
    for(int i=2;i<=100000;i++)
    {
        if(!st[i]) prime[cnt++]=i;
        for(int j=0;j<=100000/i;j++)
        {
            st[i*prime[j]]=true;
            if(i%prime[j]==0) break;
        }
    }
}

void judge(int x)
{
    if(x==1) flag=false;
    for(int i=0;i     {
        
        if(x%prime[i]==0)
        {
            if(!st1[prime[i]])
            {
                c[cnt1++]=prime[i];
                st1[i]=true;
            }
        }
        
    }
    
}

int main()
{
    cin>>n;
    primes();
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
        judge(a[i]);
    }
    cnt2=cnt1;
    for(int i=1;i<=n;i++)
    {
        cin>>b[i];
        judge(b[i]);
    }
    for(int i=0,j=0;i     {
        while(a[cnt1-cnt2+j]>=a[i])
        {
            if(a[cnt1-cnt2+j]==a[i])
                flag=false;
            j++;
        }
    }
   
    if(flag) cout<<"Yes";
    else cout<<"No";
    return 0;    
}

深夜加代码真的有种意境的(笑)

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
苏州离哪个飞机场近(苏州离哪个... 本篇文章极速百科小编给大家谈谈苏州离哪个飞机场近,以及苏州离哪个飞机场近点对应的知识点,希望对各位有...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...