Codeforces Round #574 (Div. 2)补题


A. Drinks Choosing


统计每种酒有多少人偏爱他们。 k为每种酒的偏爱人数。

输出ans = (n + 1)/2 >  Σk/ 2 ? (n + 1)/2 - Σk/ 2 + (Σk/ 2)  * 2 : (n + 1)/2 * 2 

#include<iostream>
#include<algorithm>
using namespace std;

int n,k;
const int L = 1000+50;
int a[L];
int main()
{
    cin>>n>>k;
    int t;
    for(int i = 0;i<n;++i)
    {
        cin>>t;
        a[t]++;
    }
    n =  n%2? (n + 1)/2: n/2;
    int cnt = 0;
    for(int i = 1;i<=k;++i)
        cnt+= a[i]/2;
    if(cnt<n)
        cout<< n - cnt + 2*cnt<<endl;
    else cout<<n*2<<endl;

    return 0;
}
View Code

 

B. Sport Mafia


二分查找二元一次方程的解

设 放入操作数为a,取出操作数为b,有

a*(a + 1)/2 - b = k

a + b = n

联立得a*(a + 3) = 2*(n + k) 二分查找a,再解出b即可

#include<iostream>
using namespace std;

long long n,k;

int main()
{
    cin>>n>>k;
    long long lo = 0;
    long long hi = 5e9;
    long long mi = (lo + hi)>>1;
    while(lo <hi)
    {
        mi = (lo + hi)>>1;
        if(mi * (mi + 3) < 2*(n+k))
              lo = mi+1;
        else hi = mi;
    }

        cout<<n - lo<<endl;
        return 0;
    return 0;
}
View Code

C. Basketball Exercise

dp题

#include<iostream>
#include<cstring>
using namespace std;
const int L = 1e5+50;
int n;
long long a[L],b[L];
long long ans;
long long dp[L][3];
long long max(long long a,long long b)
{
    return a>b?a:b;
}
int main()
{
    cin>>n;
    for(int i = 1;i<=n;++i)cin>>a[i];
    for(int i = 1;i<=n;++i)cin>>b[i];
    dp[n][1] = a[n];dp[n][2] = b[n];
    dp[n-1][1] = dp[n][2] + a[n-1];
    dp[n-1][2] = dp[n][1] + b[n-1];
    for(int i = n-2;i>=1;--i)
    {
        dp[i][1] += a[i];
        dp[i][2] += b[i];
        dp[i][1] += max(dp[i+1][2],dp[i+2][2]);
        dp[i][2] += max(dp[i+1][1],dp[i+2][1]);
    }
    cout<<max(dp[1][1],dp[1][2]);

    return 0;
}
View Code

 

D1/D2. Submarine in the Rybinsk Sea

统计各串数的各个位对最终解的贡献即可。

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
const int L = 1e5+10;
const long long MOD = 998244353;
struct E{
    char s[12];
    int l;
}str[L];
long long a[30];
int n;
int NUM[12];
int sum[12];
long long ans;
int main()
{
    cin>>n;
    for(int i = 0;i<n;++i)
    {
        cin>>str[i].s;
        str[i].l = strlen(str[i].s);
    }    

    int LEN = 0;
    for(int i = 0;i<n;++i)
    {
        NUM[str[i].l]++;
        LEN  = max(LEN,str[i].l);
    }
    LEN *=2;
    for(int i = 1;i<12;++i)    sum[i] = NUM[i] + sum[i-1];
    for(int i = 0;i<n;++i)
    {
        reverse(str[i].s,str[i].s+str[i].l);
        for(int j = 0;j<str[i].l;++j)
        {
            a[j*2] += (str[i].s[j] - '0')*(sum[11] - sum[j]);
            a[j*2]%=MOD;
            a[j*2 + 1 ] += (str[i].s[j] - '0')*(sum[11] - sum[j]);
            a[j*2+1]%=MOD;
        }
        for(int j = 1;j<11;++j)
        {
            if(NUM[j] == 0) continue;
            int l = str[i].l - j;
            if(l<=0) break;
            for(int k=1;k<=l;++k)
            {
                a[j*2+k-1] += (str[i].s[j + k - 1]-'0')*2* (NUM[j]);
                a[j*2+k-1]%=MOD;
            }
        }
    }
    long long L = 1;
    for(int i = 0;i<LEN;++i)
    {
        ans += (L%=MOD)*(a[i]%MOD);
        ans%=MOD;
        L*=10;
    }
    cout<<ans<<endl;
    
    
    
    return 0;
}
View Code

 

转载于:https://www.cnblogs.com/tea-egg/p/11206343.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值