首页 > 编程语言 >2023 年上海市大学生程序设计竞赛 - 五月赛A,B,C

2023 年上海市大学生程序设计竞赛 - 五月赛A,B,C

时间:2023-06-26 21:12:57浏览次数:62  
标签:竞赛 scholar Ke int cin 2023 程序设计 include define

A. 选择

多造几组数据可以发现

\(dp[n] = dp[n / 2] + 1\).

假如一个序列为\(\{1,2,\cdots,n\}\),那我们从\(n/2\)后都减去\(n/2\),序列就变为了\(\{1,2,\cdots,n/2,1,2,\cdots,n/2\}\),那么我们只需要\(n/2\)时次数最少得方案即可.

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <cmath>
#include <stack>
#include <numeric>
#define inf 0x3f3f3f3f
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
#define endl '\n'
#define int long long

using namespace std;

const int N = 1e6 + 10, mod = 1e9 + 7;
typedef unsigned long long ll;
typedef pair<int,int> PII;

void solve(){
    cin >> n;
    vector<int> dp(n + 1);
    dp[1] = 1;
    for(int i = 1;i <= n;i ++)
        dp[i] = dp[i / 2] + 1;
    cout << dp[n] << endl;
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    int Ke_scholar  = 1;
//    cin >> Ke_scholar;
    while(Ke_scholar--)
        solve();
    return 0;
}

/*
*/

B. 锐评

假设答案至少为 \(r\),且 \(a,b\) 已经完成操作,那么我们可以有这样的不等式:

\(\frac {a} {a + b} \geq r \Rightarrow (1 - r) a - rb \geq 0.\)

因此,给 \(a\) 加 1,\(b\) 减 1 的收益是线性的,因此一定在 \(a\) 最大和 \(b\) 最小时取到极值,对两者取 \(max\) 即可。

对\(b\)取最小时,记得把多出来的钱刷好评(另外如果你一直过不了第一个点的话,可以试试把\(scanf\)换成\(cin\),很奇怪\(\cdots\))

#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define endl '\n'
#define int long long
using namespace std;

int n,t,k,m;

void solve() {
    int x,a,b;
    cin >> m >> x >> a >> b;
    int ma = a + m, mi = max(b - m / x,0ll);
    double ans = max((double) ma / (ma + b), (double)(a + m % x) / (m % x + a + mi));
    printf("%.9lf\n",ans);
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    int Ke_scholar = 1;
    cin >> Ke_scholar;
    while(Ke_scholar--)
        solve();
    return 0;
}

C. 饮茶

先假设每天都出去玩。这样,如果到某天来不及了,我只能放弃之前某天出去玩,此时显然放弃浪费时间越多的越好。因此,从前到后维护当前还能放弃的时间差最大堆,需要的时候弹掉最大的直到满足条件,最后输出堆的大小。
这里我用的是优先队列,不过都是一个道理

#include <bits/stdc++.h>
#define endl '\n'
#define int long long
#define  inf 0x3f3f3f3f

using namespace std;
const int N = 2e3 + 10;

typedef pair<int,int> PII;
map<int, int > mp;
int n,m,t,k,c;
int mod,ans;
void solve()
{
    cin >> n;
    priority_queue<int> T;
    int a,b;
    int ans = n;
    int sumtime = 0;
    for(int i = 0;i < n;i++){
        cin >> t >> a >> b;
        if(a > b)
            T.push(a - b);
        sumtime += b - t;
        while(sumtime < 0){
            if(T.empty()){
                cout << -1 << endl;
                return ;
            }
            sumtime += T.top();
            T.pop();
            ans --;
        }
    }
    cout << ans << endl;
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);
    int Ke_scholar = 1;
    //cin >> Ke_scholar;
    while(Ke_scholar--)
        solve();
    return 0;
}


标签:竞赛,scholar,Ke,int,cin,2023,程序设计,include,define
From: https://www.cnblogs.com/Kescholar/p/17506710.html

相关文章

  • 复旦大学2022--2023学年第二学期(22级)高等代数II期末考试第八大题解答
    八、(10分) 设$n$阶实方阵$A$满足$A^3=A$,证明: 若对任意的实列向量$x$,均有$x'A'Ax\leqx'x$,则$A$是实对称阵.证法一(几何证法) 将题目转换成几何语言:设$\varphi$是$n$维欧氏空间$V$上的线性算子,满足$\varphi^3=\varphi$,若对$V$中任一向量$v......
  • 2023年,软件测试趋于饱和,如何从功能测试进阶到自动化测试?
    功能测试转成自动化测试,答案就三个字:“靠学习”。学习自动化的方法无非是三种:一、靠培训在相对有氛围的学习环境中来学习自动化测试,这是一个较快学习的方法。二、靠自学自动化教程(下方有视频资源推荐)如果在职,不能全职学习,可以找一些自动化学习的视频,选择看视频学习,这也是一个不......
  • 云原生周刊:HashiCorp Vault 1.14 发布 | 2023.6.26
    开源项目推荐HelmfileHelmfile是一个开源工具,使用Helmcharts简化复杂应用程序的部署。它提供了一种声明性的方式来定义Kubernetes资源的期望状态,并管理Helmreleases的安装、升级和删除。KubeVPNKubeVPN是一个基于Kubernetes的开源VPN解决方案,它提供了一种简单的......
  • 生活反思随笔 2023.6 -
    [1]当投身于漫长的事业时,我们需要信心之源泉来维持内心的平静,因此我们能好好地坚持下去。当信心的来源来自于亲友时,我们心怀感激。当独自上路时,我们时常锻炼我们自信之肌肉,并对我们的自信心怀感激。[2]“德智体美劳”这个小时候常听到的五个综合的个人修养评价指标,实际放到成......
  • 以实用著称的《PHP与MySQL程序设计(第3版)》问世啦!
        最好的编程图书应该不是纯粹地讲述理论,而是要切合实际。作者在写书过程中,一直都以此为目标,努力让所写的内容能用到实处。以本书的篇幅来看,很明显,他在竭尽所能地提供这种实用性。也就是说,如果你希望获得PHP编程语言和MySQL数据库服务器的实践经验,对它们有全面的了解,并且......
  • C/C++航空客运订票系统[2023-06-26]
    C/C++航空客运订票系统[2023-06-26]实验1航空客运订票系统问题描述:航空客运订票的业务活动包括查询航线和客票预订的信息、客票预订和办理退票等,设计一个程序使上述任务借助计算机来完成。基本要求:(一)系统必须存储的数据信息。1.信息:飞机抵达的城市、航班号、飞机号、起降......
  • 2023-06-26:在大小为 n x n 的网格 grid 上,每个单元格都有一盏灯,最初灯都处于 关闭 状
    2023-06-26:在大小为nxn的网格grid上,每个单元格都有一盏灯,最初灯都处于关闭状态给你一个由灯的位置组成的二维数组lamps其中lamps[i]=[rowi,coli]表示打开位于grid[rowi][coli]的灯即便同一盏灯可能在lamps中多次列出,不会影响这盏灯处于打开状态当一盏灯处于......
  • 福昕Foxit PDF远程代码执行漏洞CVE-2023-27363分析与复现
    漏洞概述福建福昕软件开发股份有限公司是一家国际化运营的PDF电子文档解决方案提供厂商,提供文档的生成、转换、显示、编辑、搜索、打印、存储、签章、表单、保护、安全分发管理等涵盖文档生命周期的产品技术与解决方案。其下产品FoxitPDFReader和FoxitPDFEditor的javascript函......
  • 集成板级摄像头行业市场调研及趋势分析报告2023-2029
    2023-2029全球集成板级摄像头行业调研及趋势分析报告2022年全球集成板级摄像头市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国集成板级摄像头市场占据全球约%的市场份额,为全......
  • 家用电器用电机行业市场调研及趋势分析报告2023-2029
    2023-2029全球家用电器用电机行业调研及趋势分析报告2022年全球家用电器用电机市场规模约亿元,2018-2022年年复合增长率CAGR约为%,预计未来将持续保持平稳增长的态势,到2029年市场规模将接近亿元,未来六年CAGR为%。从核心市场看,中国家用电器用电机市场占据全球约%的市场份额,为全......