Codeforces Round 933 (Div. 3)

news2024/11/15 16:01:08

在这里插入图片描述

Codeforces Round 933 (Div. 3)

Codeforces Round 933 (Div. 3)

A. Rudolf and the Ticket

题意:俩口袋各有n和m枚不同面值的硬币,各取一枚,有多少种小于k的可能。

思路:数据很小,暴力枚举。

AC code:

void solve() {
    cin >> n >> m >> k;
    int ans = 0;
    for (int i = 0; i < n; i ++) cin >> b[i];
    for (int i = 0; i < m; i ++) cin >> c[i];
 
    for (int i = 0; i < n; i ++)
        for (int j = 0; j < m; j ++) {
            if (b[i] + c[j] <= k) ans ++;
         }
         cout << ans << endl;
}

B. Rudolf and 121

题意:一组长度为n的非负整数序列,每次操作可以选择下标为i的元素-2,同时(i - 1)的元素-1,(i + 1)的元素-1,是否可能使得序列的元素全部为0。

思路:从i=2开始枚举,每次都清空前一个数,出现矛盾(负数)直接退出,注意最后需要判断n和n-1两个位置的数是否为0。

AC code:

void solve() {
    cin >> n;
    for (int i = 1; i <= n; i ++) cin >> a[i];
    for (int i = 2; i < n; i ++) {
        int x = a[i - 1];
        if (x * 2 > a[i]) {
            cout << "NO" << endl;
            return;
        } else {
            a[i] -= x * 2;
            a[i - 1] = 0;
            a[i + 1] -= x;
            if (a[i + 1] < 0) {
                cout << "NO" << endl;
                return;
            }
        }
    } 
    for (int i = 1; i <= n; i ++) {
        if (a[i] != 0) {
            cout << "NO" << endl;
            return;
        }
    }
    cout << "YES" << endl;
}

C. Rudolf and the Ugly String

题意:字符串中有连续的"pie"或者"map"则不优美,每次可以删除一个字符,最少删几个整个字符串优美。

思路:每存在一个不优美的词答案+1,特殊情况"mapie"出现时,只需要操作一次即可。

AC code:

void solve() {
    cin >> n;
    string s; cin >> s;
    string x = "pie", y = "map";
    if (s.find(x) == -1 && s.find(y) == -1) {
        cout << "0" << endl;
        return;
    }
    int cnt = 0;
    for (int i = 0; i < n; i ++) {
        if (s[i] == 'm' && s[i + 1] == 'a' && s[i + 2] == 'p') {
            i += 2;
            cnt ++;
        } 
        if (s[i] == 'p' && s[i + 1] == 'i' && s[i + 2] == 'e') {
            i += 2;
            cnt ++;
        }
    }
    for (int i = 0; i < n; i ++) {
        if (s[i] == 'm' && s[i + 1] == 'a' && s[i + 2] == 'p' && s[i + 3] == 'i' && s[i + 4] == 'e') cnt --;
    }
    cout << cnt << endl;
}

D. Rudolf and the Ball Game

题意:n个人围城一圈扔球,现在从x人开始,已知m轮,每轮扔的距离已知,但方向可能知道可能不知道,不知道的话可能是顺时针也可能是逆时针,m轮后球可能在哪几个人手里。

思路:这个数据范围首先就可以暴力。

开一个set来记录答案,每次取出当前球可能在的人,然后顺时针逆时针的可能性再全部压入,最后得到的就是最终球可能在的人。

AC code:

void solve() {
    cin >> n >> m >> x;
    vector<pair<int, char>> p(m);
    for (int i = 0; i < m; i ++) 
        cin >> p[i].first >> p[i].second;
    int now = x;
    set<int> ans;
    ans.insert(x);
    for (auto [t, pos] : p) {
        set<int> se;
        if (pos == '0') {
            for (auto ca : ans) {
                int u = (ca + t - 1) % n + 1;
                se.insert(u);
            }
        } else if (pos == '1') {
            for (auto ca : ans) {
                int v = (ca + n - t - 1) % n + 1;
                se.insert(v);
            }
        } else if (pos == '?'){
            for (auto ca : ans) {
                int u = (ca + t - 1) % n + 1;
                int v = (ca + n - t - 1) % n + 1;
                se.insert(u);
                se.insert(v);
            }
        }
        ans = se;
    }
    cout << ans.size() << endl;
    for (auto t : ans) cout << t << " ";
    cout << endl;
}

E. Rudolf and k Bridges

题意:n*m的河需要建造连续的k行桥,每行桥要跨越m列,首尾建造桥墩,中间需要也需要建造桥墩,桥墩间的距离要<=d+1,桥墩建造的成本和当前河的深度挂钩, 成本最低为多少。

思路:

首先对于每一行需要求出对当前行建造桥的最低成本,然后再枚举连续k行中最少的成本;

对于每一行需要用dp去求取最低成本,同时需要保证桥墩间的距离<= d+1,可以通过单调队列来同时保证距离和当前最低成本;

AC code:

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
#define db double
#define pb push_back
#define fast() ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
using namespace std;

typedef long long LL;
typedef pair<char, int> PCI;
typedef pair<int, int> PII;
const int N = 2e5+10, M = 2001;
const int INF = 0x3f3f3f3f3f, MOD = 998244353;
int T, n, m, k, d;

void solve() {
    cin >> n >> m >> k >> d;
    vector<vector<int>> a(n + 1, vector<int> (m + 1));
    for (int i = 1; i <= n; i ++) for (int j = 1; j <= m; j ++) 
        cin >> a[i][j];
    vector<int> b;
    b.pb(0);
    for (int i = 1; i <= n; i ++) {
        vector<int> dp(m + 1);
        deque<int> q;
        q.push_back(1);
        dp[1] = 1;
        for (int j = 2; j <= m; j ++) {
            while (!q.empty() && j - q.front() > d + 1) q.pop_front();
            dp[j] = dp[q.front()] + a[i][j] + 1;
            while (!q.empty() && dp[j] <= dp[q.back()]) q.pop_back();
            q.push_back(j);
        }
        b.pb(dp[m]);
    }
    vector<int> sum(n + 1, 0);
    for (int i = 1; i <= n; i ++) {
        sum[i] = sum[i - 1] + b[i];
    }
    int ans = INF;
    for (int i = k; i <= n; i ++) {
        ans = min(ans, sum[i] - sum[i - k]);
    }
    cout << ans << endl;
}

signed main() {
    fast();
    
    T = 1;
    cin >> T;
    while (T --) {
        solve();
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1510751.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【深度学习笔记】7_6 RMSProp算法

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 7.6 RMSProp算法 我们在7.5节&#xff08;AdaGrad算法&#xff09;中提到&#xff0c;因为调整学习率时分母上的变量 s t \boldsymbol…

得帆助力大族激光主数据平台建设,用数据为企业生产力赋能

本期客户 大族激光科技产业集团股份有限公司&#xff08;以下简称“大族激光”&#xff09;是一家从事工业激光加工设备与自动化等配套设备及其关键器件的研发、生产、销售&#xff0c;激光、机器人及自动化技术在智能制造领域的系统解决方案的优质提供商&#xff0c;是国内激光…

RPC通信原理

RPC通信原理 RPC的概念 如果现在我有一个电商项目&#xff0c;用户要查询订单&#xff0c;自然而然是通过Service接口来调用订单的实现类。 我们把用户模块和订单模块都放在一起&#xff0c;打包成一个war包&#xff0c;然后再tomcat上运行&#xff0c;tomcat占有一个进程&am…

智能革新:思通数科开源AI平台在保险合同管理中的应用与优化

思通数科开源的多模态AI能力引擎平台是一个强大的工具&#xff0c;它结合了自然语言处理&#xff08;NLP&#xff09;、图像识别和语音识别技术&#xff0c;为企业提供自动化处理和分析文本、音视频和图像数据的能力。这个平台的开源性质意味着它可以被广泛地应用于各种业务场景…

JSP中间件漏洞

jsp的注入最难挖 另外3个好挖 struts2 url有action 就代表是struts2 用漏洞利用工具 下面之这两个一般都可以用工具扫一下 、 有些网站看起来没有 action实际上我们提交了 我们的账号和密码 之后就有了 工具包是下面 这些 github上面也有 用法就是如下图 把url放进去就…

3d视觉笔记 | 神经辐射场NeRF(Neural Radiance Fields)

NeRF概念 NeRF&#xff08;Neural Radiance Fields&#xff0c;神经辐射场&#xff09;是一种用于3D场景重建和图像渲染的深度学习方法。它由Ben Mildenhall等人在2020年的论文《NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis》中首次提出。NeRF通过…

8-100V转5V 2A 12V 2A 降压芯片 外置MOS 恒压输出

SC9103 一款宽电压范围降压型 DC-DC 电源管理芯片&#xff0c;内部集成使能开关控制、基准电源、误差放大器、 过热保护、限流保护、短路保护等功能&#xff0c;非常适合宽电压输入降压使用。 SC9103 零功耗使能控制&#xff0c;可以大大节省外围器件&#xff0c;更加适合电池场…

20240309web前端_第一周作业_完成用户注册界面

作业一&#xff1a;完成用户注册界面 成果展示&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…

c++初阶------类和对象(下)

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

避抗指南:如何寻找OLED透明屏供应商

寻找OLED透明屏供应商&#xff0c;你可以按照以下步骤进行&#xff1a; 明确需求&#xff1a;首先&#xff0c;你需要明确自己的需求&#xff0c;包括所需OLED透明屏的尺寸、分辨率、亮度、色彩饱和度等具体参数&#xff0c;以及预算和采购量。这有助于你更精准地找到符合需求的…

Django入门 整体流程跑通

Django学习笔记 一、Django整体流程跑通 1.1安装 pip install django //安装 import django //在python环境中导入django django.get_version() //获取版本号&#xff0c;如果能获取到&#xff0c;说明安装成功Django目录结构 Python310-Scripts\django-admi…

滑动窗口的概念,糊涂窗口综合征,nagle算法

目录 1.流量控制 2.滑动窗口 3.思考问题 1.流量控制 一般来说,我们总是希望数据传输得更快一些,但如果发送方把数据发送得过快,接收方就可能来不及接收,这就会造成数据的丢失.所谓流量控制(flow control)就是发送方的发送速率不要太快,要让接收方来得及接收. 2.滑动窗口 T…

【VS Code插件开发】自定义指令实现 git 命令 (九)

&#x1f431; 个人主页&#xff1a;不叫猫先生&#xff0c;公众号&#xff1a;前端舵手 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域优质作者、阿里云专家博主&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨优质专栏&#xff1a;VS Code插件开发极…

WebServer -- 架构图 面试题(上)

目录 &#x1f382;前言 &#x1f33c;流程图 && 架构图 1&#xff09;什么是 WebServer 2&#xff09;服务器基本框架 3&#xff09;Reactor && Proactor 模式 4&#xff09;同步 I/O 模拟Proactor模式&#xff08;Linux&#xff09; 5&#xff09;主从…

小白刷题CTF show web方向

web01 右键查看源代码&#xff0c;再使用在线解密&#xff0c;就可以得出答案了 web02 sql注入 admin or 11 或者 1 or 11可以登录查询几个字段&#xff1a;1 or 11 order by 3 # 使用此语句&#xff0c;判断列数。 order by 3不会出错&#xff0c;但是order by 4就没有显示…

上传文件携带参数总是deubg不进去

const { data } await createVerificationMaterialApi({file: info.file,name: file,filename: info.file.name,data: { ids },})//这样传参数&#xff0c;网络里看发的请求会是如下样子&#xff0c;这样debug不到代码里正确方法 const { data } await createVerificationMat…

这下爽了,全是特殊版实用软件,功能强大还免费

闲话少说&#xff0c;直接上狠货。 1、我的ABC软件工具箱 简洁而不失强大&#xff0c;我的ABC软件工具箱是您批量处理办公任务的得力小助手。完全免费&#xff0c;界面清新无广告&#xff0c;让您轻松开启高效办公之旅。 面对日常办公中繁多的文件处理需求&#xff0c;如内容…

1.Datax数据同步之Windows下,mysql数据同步至另一个mysql数据库

目录 前言步骤操作大纲步骤明细其他问题 前言 Datax是什么&#xff1f; DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台&#xff0c;实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。准备…

IO学习--02

标准IO由ANSI C库说明&#xff0c;在很多系统都实现了标准IO库。标准IO库处理很多细节&#xff0c;如缓冲的分配、优化长度执行IO等&#xff0c;使得用户不需要考虑选择合适的长度。标准IO是在系统调用函数构建的&#xff0c;便于用户使用。 标准IO的所有操作都是围绕流&#x…

c语言经典测试题12

1.题1 float f[10]; // 假设这里有对f进行初始化的代码 for(int i 0; i < 10;) { if(f[i] 0) break; } 上述代码有那些缺陷&#xff08;&#xff09; A: for(int i 0; i < 10;)这一行写错了 B: f是float型数据直接做相等判断有风险 C: f[i]应该是f[i] D: 没有缺…