2024年四川省大学生程序设计竞赛 补题记录
文章目录
- Problem A. 逆序对染色(思维+树状数组)
- Problem B. 连接召唤(贪心)
- Problem E. L 型覆盖检查器(模拟)
- Problem F. 小球进洞:平面版(几何)
- Problem G. 函数查询
- Problem H. GG 和 YY 的石子游戏(签到)
- Problem L. 毛肚下清汤?(签到)
Problem A. 逆序对染色(思维+树状数组)
- 难似我了
#include <bits/stdc++.h>using namespace std;#define int long longstruct BIT
{const int n;vector<int> tree;BIT(int n) : n(n), tree(n + 1) {};// 询问前x个数的和int Query(int x){int res = 0;for (int i = x; i > 0; i -= (i & -i)) res += tree[i];return res;}// 第l个位置+zvoid Modify(int l, int z){if (l <= 0) return;for (int i = l; i <= n; i += (i & -i)) tree[i] += z;}// 区间求和int rangeQuery(int l, int r){return Query(min(n, r)) - Query(max(0ll, l - 1));}
};void solve()
{int n; cin >> n;vector<int> a(n + 1), pos(n + 1);for (int i = 1; i <= n; i ++ ){cin >> a[i];pos[a[i]] = i;}vector<vector<int>> mem(n + 1);vector<bool> st(n + 1);for (int i = 1; i <= n; i ++ ){int t = pos[a[i] - 1] + 1;if (i >= t){mem[t].push_back(i);st[a[i]] = true;}}BIT bit(n);int ans = 0;for (int i = 1; i <= n; i ++ ){for (auto t : mem[i]) bit.Modify(a[t], 1);if (st[a[i]]) bit.Modify(a[i], -1);if (a[i - 1] + 1 <= a[i] - 1) ans += bit.rangeQuery(a[i - 1] + 1, a[i] - 1);}cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t -- ){solve();}
}
Problem B. 连接召唤(贪心)
- 贪心,优先1-5,2-4,3-3匹配,我的代码里单独考虑了出现23的情况,题解好像简单一些,但是能a的代码就是好代码 我就不重写了(
#include <bits/stdc++.h>using namespace std;#define int long longtypedef pair<int, int> PII;void solve()
{vector<int> cnt(6);for (int i = 1; i <= 5; i ++ ) cin >> cnt[i];int ans = 0;int minn = min(cnt[1], cnt[5]);ans += minn;cnt[1] -= minn; cnt[5] -= minn;minn = min(cnt[2], cnt[4]);ans += minn;cnt[2] -= minn; cnt[4] -= minn;ans += cnt[3] / 2;cnt[3] %= 2;auto cal = [&](int id){int need = 6 - id;int nw = 0;for (int i = 1; i < id; i ++ ){if (!cnt[i]) continue;int minn = min((nw + cnt[i]) / need, cnt[id]);cnt[i] -= (minn * need - nw); cnt[id] -= minn; for (int j = 1; j < i; j ++ ) cnt[j] = 0;ans += minn;nw = cnt[i];}if (nw != 0 && cnt[id]){int need = 6 - nw;int c = need / id;if (cnt[id] >= c){need -= c * id;if (need == 0){cnt[id] -= c;ans ++ ;for (int i = 1; i < id; i ++ ) cnt[i] = 0;}else{if (cnt[id] >= need){cnt[id] -= need;ans ++ ;for (int i = 1; i < id; i ++ ) cnt[i] = 0;}}}}if (id == 5) ans += cnt[id] / 2;else if (id == 4 || id == 2) ans += cnt[id] / 3;else if (id == 1) ans += cnt[id] / 6;cnt[id] = 0;};if (cnt[1] && cnt[2] && cnt[3]){cnt[1] -= 1; cnt[2] -= 1; cnt[3] -= 1;ans ++ ;if (cnt[2]) cal(2);if (cnt[1]) cal(1);}else if (cnt[2] && cnt[3] && cnt[5]){cnt[5] -- ; cnt[3] -- ;ans ++ ;if (cnt[5]) cal(5);if (cnt[2]) cal(2);}else if (cnt[2] && cnt[3]){if (cnt[2] >= 2){cnt[2] -= 2; cnt[3] -- ;ans ++ ;}if (cnt[2]) cal(2);}else{for (int i = 5; i >= 1; i -- ){if (cnt[i]) cal(i);}}cout << ans << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t -- ){solve();}
}
Problem E. L 型覆盖检查器(模拟)
#include <bits/stdc++.h>
using namespace std;
#define int long longstring g[510];
pair<int, int> dx[] = {{-1, 0}, {0, 1}, {0, -1}, {-1, 0}};
pair<int, int> dy[] = {{0,1}, {1,0}, {1,0}, {0,-1}};
char fx[] = {'D', 'L', 'R', 'D'};
char fy[] = {'L', 'U', 'U', 'R'};void solve()
{int n, m;cin >> n >> m;for (int i = 1; i <= n; i++) {cin >> g[i];g[i] = " " + g[i];}if (g[1][m] != '.') {cout << "No" << endl;return;}vector<pair<int, int>> cc;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {if (g[i][j] == 'C')cc.push_back({i, j});}}vector<vector<int>> st(n + 1, vector<int>(m + 1, 0));for (int i = 0; i < cc.size(); i++) {int a = cc[i].x, b = cc[i].y;st[a][b] = i + 1;for (int j = 0; j < 4; j++) {int x1 = a + dx[j].x, y1 = b + dx[j].y;int x2 = a + dy[j].x, y2 = b + dy[j].y;if (x1 < 1 || x1 > n || x2 < 1 || x2 > n)continue;if (y1 < 1 || y1 > m || y2 < 1 || y2 > m)continue;if (st[x1][y1] != 0) continue;if (st[x2][y2] != 0) continue;if (g[x1][y1] == fx[j] && g[x2][y2] == fy[j]) {st[x1][y1] = i + 1, st[x2][y2] = i + 1;}}}bool flag = 0;map<int, int> jk;for (int i = 1; i <= n; i++) {for (int j = 1; j <= m; j++) {if (i == 1 && j == m) continue;if (st[i][j] == 0){cout << "No" << endl;return;}jk[st[i][j]]++;}}for (auto bb : jk) {if (bb.y != 3) {cout << "No" << endl;return;}}cout << "Yes" << endl;
}signed main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);int t = 1;cin >> t;while (t--){solve();}
}
Problem F. 小球进洞:平面版(几何)
- 待补
Problem G. 函数查询
- 待补
Problem H. GG 和 YY 的石子游戏(签到)
#include<bits/stdc++.h>
using namespace std;
int t,m,ans;
long long n,a;
int main()
{scanf("%d",&t);for(int i=1;i<=t;i++){cin>>n;ans=0;if(n%3==0){ans=1;}a=(n/3)+n%3;cout<<ans<<" "<<a<<"\n";}return 0;
}
Problem L. 毛肚下清汤?(签到)
#include <bits/stdc++.h>using namespace std;#define int long longtypedef pair<int, int> PII;void solve()
{int n; cin >> n;priority_queue<PII, vector<PII>, greater<PII>> red, green;for (int i = 1; i <= n; i ++ ){int a, b, c, d; cin >> a >> b >> c >> d;if (c == 0 && d == 0) continue;else if (c == 1 && d == 0) red.push({a, i});else if (c == 0 && d == 1) green.push({b, i});else{if (a > b) green.push({b, i});else red.push({a, i});}}cout << red.size() << ' ';while (red.size()){auto t = red.top();red.pop();cout << t.second << ' ';}cout << '\n';cout << green.size() << ' ';while (green.size()){auto t = green.top();green.pop();cout << t.second << ' ';}cout << '\n';
}signed main()
{ios::sync_with_stdio(false);cin.tie(0), cout.tie(0);int t = 1;// cin >> t;while (t -- ){solve();}
}
相关文章:

2024年四川省大学生程序设计竞赛 补题记录
文章目录 Problem A. 逆序对染色(思维树状数组)Problem B. 连接召唤(贪心)Problem E. L 型覆盖检查器(模拟)Problem F. 小球进洞:平面版(几何)Problem G. 函数查询Proble…...

17_事件的处理
目录 绑定事件与解绑事件优化事件的绑定和解绑方式处理不同事件类型的绑定处理同一事件类型多个事件处理函数事件冒泡与更新时机问题 绑定事件与解绑事件 既然要处理事件,那么首先面临的问题是如何在 vnode 中描述这个事件,在 vnode.props 中࿰…...

1FreeRTOS学习(队列、二值信号量、计数型信号量之间的相同点和不同点)
相同点: (1)传递区间 队列、二值信号量、计数型信号量均可用在任务与任务,任务与中断之间进行消息传递 (2) 传递方式 创建队列--发送队列--接受队列 创建二值信号量--发送二值信号量--接受二值信号量 创建计…...

数据库设计与范式及其应用
数据库设计是数据库管理系统(DBMS)中的核心环节,良好的数据库设计不仅可以提高数据存取的效率,还能增强数据的可维护性和一致性。范式(Normalization)是一种设计原则,用于减少数据冗余和提高数据…...

笔记-配置PyTorch(CUDA 12.2)
文章目录 前言一、安装 PyTorch(CUDA 12.2)1. 创建并激活 Conda 环境2. 安装 PyTorch(CUDA 12.2)3. 安装 torch_geometric 及依赖项4. 验证安装 总结 前言 一、安装 PyTorch(CUDA 12.2) 1. 创建并激活 Con…...

[C++]——红黑树(附源码)
目录 一、前言 二、正文 2.1 红黑树的概念 2.2 红黑树的性质 2.3红黑树节点的定义 2.4 红黑树的插入 2.4.1 情况一 2.4.2 情况二 编辑 2.4.3 情况三 2.5 红黑树的验证 三、全部代码 四、结语 一、前言 在上一篇博客中,为小伙伴们进行了AVL树的讲解&#…...

网络文件系统搭建
在CentOS7上搭建网络文件系统(NFS),并让客户端进行挂载,具体步骤如下: 1. 服务器端操作 安装NFS服务器软件包: 执行以下命令安装NFS服务: sudo yum install nfs-utils -y 启动并启用NFS服务&…...

基于vue、VantUI、django的程序设计
首先构建vue项目,构建项目点这里 安装 npm install axios axios简介 Axios 是一个基于 promise 的 HTTP 库,用于发起请求和接收响应,实现异步操作 基本使用 axios对象 请求响应拦截 在utils文件夹里新建ajax.js 创建一个axios对象并…...

京准电钟解读:NTP网络对时服务器助力厂区改造方案
京准电钟解读:NTP网络对时服务器助力厂区改造方案 京准电钟解读:NTP网络对时服务器助力厂区改造方案 1)系统概述 时钟系统可通过网络进行管理及时间校对,为厂区提供高精度、全天时、全天候 的授时服务,统一全厂各种系统…...

本地docker-compose仓库搭建以及推送docker镜像到仓库
前言 以下部分知识只适用于linux,不适合小白,请自行甄别执行 1.搭建 #参考 https://blog.csdn.net/u011535199/article/details/107457275 version: 3 services:registry:restart: alwaysimage: registry:2ports:- 5000:5000environment:#REGISTRY_HT…...

WPF+MVVM案例实战(八)- 自定义开关控件封装实现
文章目录 1、案例运行效果2、项目准备2、功能实现1、控件模板实现2、控件封装1、目录与文件创建2、各文件功能实现 3、开关界面与主窗体菜单实现1、开关界面实现2、主窗体菜单实现 4、源代码获取 1、案例运行效果 2、项目准备 打开项目 Wpf_Examples,新建ToggleBut…...

单机kafka性能需要高性能的硬件做支撑
一般来说,单机kafka在硬件支持的情况下,能支持每秒100万写入,如果硬件没有那么好的话(机械硬盘,容器内给内存8G, CPU也不是很好),就只能减少每秒的写入量,每秒写入5万都比较不错了。 如果强行每…...

Spark 的 Http Broadcast 和 Torrent Broadcast 广播实现类的对比
在 Apache Spark 中,广播机制用于高效地将小型只读数据分发到集群中的各个执行器(Executor)。Spark 中主要有两种不同的广播实现方式:Http Broadcast 和 Torrent Broadcast。这两种方式的核心目标都是将数据高效地分发给所有工作节…...

030_Subplot_In_Matlab中多图绘制之subplot函数
基于子图的多图方法 专业的论文中通常涉及到多个有逻辑关系的图拼接在一起,构成相互支持或者对照。所以很早之前,Matlab就有这个子图的函数subplot。 这个函数的基本语义有三类: 在图窗上划分出一个矩形区域建立一个坐标系,并指…...

免费云服务器有什么使用限制和注意事项?
在数字化时代,云计算已经成为许多企业和个人用户的重要工具。对于初创企业、开发者和学生来说,免费的云服务器提供了一个低成本的解决方案,使他们能够进行项目开发、学习和实验。但在使用过程中也存在一些限制和注意事项。以下是主要的使用限…...

3-ZYNQ 折腾记录 -PS_PL AXI Interfaces
Zynq UltraScale MPSoC集成了功能丰富的四核或双核Arm Cortex-A53 MPCore基于处理系统(Processing System, PS)和可编程逻辑(Programmable Logic, PL)的单一设备。 PS和PL可以使用多个接口和其他信号进行紧密或松散的耦合。这使设计人员能够有效地将用户创建的硬件加速器和其他…...

总结test
1.IO流 |-- 字节流操作任何类型文件|-- 字符流操作纯字符类文件|-- BIO 传统IO流,阻塞型的,也就是BIO,当执行IO流时,CPU只能等待执行完当前任务,才能去执行其他线程任务|-- NIO非阻塞型IO流,CPU可以同时执行…...

在 On hold 期刊 eLife 上发表一篇生信文章需要什么工作量?
生信碱移 科研圈动态 根据弗雷赛斯以及相关媒体最新消息,中科院一区TOP,著名生命科学期刊 eLife [IF: 6.4]已被科睿唯安官方 On hold! ▲ 官网截图。图片来源:https://mjl.clarivate.com/home eLife是一本专注于生物医学和生命科…...

使用Django框架开发企业级Web应用
💖 博客主页:瑕疵的CSDN主页 💻 Gitee主页:瑕疵的gitee主页 🚀 文章专栏:《热点资讯》 使用Django框架开发企业级Web应用 1 引言 2 Django简介 3 安装Python与Django 4 创建Django项目 5 设计应用结构 6 创…...

认识线程 — JavaEE
目录 认识线程(Thread) 1 线程是什么? 2 为什么要有线程 3 进程和线程的区别 区别一 区别二 区别三 区别四 4. Java的线程和操作系统线程的关系 认识线程(Thread) 1 线程是什么? 一个线程就是一个 "执行流"。…...

【C++单调栈】853. 车队|1678
本文涉及的基础知识点 C单调栈 LeetCode853. 车队 在一条单行道上,有 n 辆车开往同一目的地。目的地是几英里以外的 target 。 给定两个整数数组 position 和 speed ,长度都是 n ,其中 position[i] 是第 i 辆车的位置, speed[i…...

第十届文荣奖华丽开幕,郁葱以青春与努力绽放青年演员光芒
10月27日,第十届文荣奖在众人的期待中盛大开启,内地青年女演员郁葱受邀出席,作为国内颇具影响力的影视奖项,文荣奖一直以来都致力于发掘和表彰优秀的影视作品和青年影视人才,为影视行业的发展注入新的活力,…...

CMake 生成器表达式介绍
【写在前面】 生成器表达式在构建系统生成期间进行评估,以生成特定于每个构建配置的信息。它们的形式为 $<...>。例如: target_include_directories(tgt PRIVATE /opt/include/$<CXX_COMPILER_ID>) 这将扩展为 “/opt/include/GNU”、“/opt…...

ubuntu 20.04编译驱动报gcc-12 not found错误
最近在自己安装的Ubuntu 系统上编译自定义驱动,发现无法编译.ko,错误如下: 按照如下操作,发现可以解决,记录下,主要是Ubuntu缺少g-12的包 安装包以后发现可以正常编译...

docker sameersbn/bind dns服务器
1. 安装 #下载docker 镜像 docker pull sameersbn/bind#运行 53端口若被占用会启动失败 docker run --name dns -d --restartalways \ --publish 53:53/tcp \ --publish 53:53/udp \ --publish 10000:10000/tcp \ -v /etc/localtime:/etc/localtime \ -v /data/bind/:/data \…...

错误:无法推送一些引用到 ‘https://gitee.com/chek_kk/python-electron-app.git‘
这个错误提示说明在提交时某个文件的大小超过了 Gitee 仓库的单文件大小限制(100MB)。你需要从Git 历史中彻底移除这个大文件,否则无法推送到远程仓库。 解决步骤 1. 确认大文件信息 使用以下命令找出超过限制的大文件: git re…...

深度剖析美区代理IP的多元应用与优势
在当今数字时代,代理IP(Proxy IP)已成为互联网使用中的一项关键技术。尤其在美区,代理IP在数据采集、网络安全及在线隐私保护等领域发挥着越来越重要的作用。本文将深入探讨代理IP的基本概念、应用场景以及它带来的诸多优势&#…...

基于KV260的基础视频链路通路(MIPI+Demosaic+VDMA)
目录 1. 简介 1.1 要点 1.2 背景 1.2.1 Got stuck 1.2.2 Cant be Initialized 2. Overlay 2.1 参考 Overlay 2.1.1 KV260 Base 2.1.2 Pynq-CV-OV5640 2.2 自建 Overlay 2.2.1 IIC IP 2.2.2 MIPI CSI-2 Rx 2.2.3 AXI4-S Subset 2.2.4 Demosaic 2.2.5 Pixel Pack …...

Uni-App-04
主页开发 保存主页数据 <script> import { indexData, base } from /serviceexport default {data() {return {base, //把服务器基础地址变量设置为数据属性carousels:[], //轮播广告条目列表menuItems:[], //当前用户选中的功能菜单列表activities:[], //最新的…...
ElasticSearch分片
本文内容参考了田雪松老师编著的《Elastic Stack应用宝典》 ElasticSearch作为一个搜索引擎,会存储海量的数据。而存储海量的数据,就要解决如何存储的问题,并且保证数据不会丢失,同时还需要保证数据检索的效率,尽可能…...