马蹄集oj赛(双周赛第二十三次)

目录

数列分割

小码哥的地毯

小码哥的三色墙

palace

高数考试

新全排列

黑白双煞

等差

数三角形

区间修改

相对马高

小码哥剪绳子


数列分割


难度:黄金 时间限制:1秒巴 占用内存:64 M
小码哥给你一个长度为n的数列,求将该数列分割成两个左右两个部分且两个部分内数字的和相等的方案数。
格式
输入格式:给定一整数n;
接下来有 n 个数 a[i]。
其中:1≤n≤ 105,ai]的绝对值不大于 10000。
输出格式:输出一行表示答案。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
long long n,a[N],sum [N],ans;int main() {cin >> n;for (int i = 1; i <= n; i++) {cin >> a[i];sum[i] = sum[i - 1] + a[i];}for (int i = 2; i <= n; i++) {if (sum[n] - sum[i - 1] == sum[i - 1])ans++;}cout << ans;return 0;
}

小码哥的地毯


少 难度:黄金·时间限制:1秒四占用内存:128M
小码哥的房间要铺上地毯。房间大小为几*几,小码哥有m 块矩形地毯,给出每块地毯放置的两个对角的坐标。问每个点被多少个地毯覆盖
格式
输入格式:今第一行,两个整数n,m;接下来 m 行,每行两个坐标(1,y)和(2,y) 代表一块地毯,左上角是(1,y),右下角是(2,y2)。
输出格式:输出n行,每行几个整数;

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
#define N 1005
int n,m;
int a[N][N],sub[N][N];
int main(){cin >>n >>m;for(int i=1;i<=m;++i){int x1,y1,x2,y2;cin >>x1 >>y1 >>x2 >>y2;sub[x1][y1] += 1;sub[x1][y2+1] -= 1;sub[x2+1][y1] -= 1;sub[x2+1][y2+1] += 1;
}
for (int i=1;i<=n;++i){
for (int j=1;j <= n;++j){
a[i][j]=sub[i][j]+a[i-1][j]+a[i][j-1]-a[i-1][j-1];cout <<a[i][j]<<" ";
}
puts("");
}
return 0;
}

小码哥的三色墙


难度:黄金时间限制:1秒巴 占用内存:128 M
小码哥的房间墙要重新刷漆。墙面大小可以看成几*m个小方块,每个方块初始颜色为W,B或R,小码哥对于刷漆的要求是:
1.从最上方若干行(至少一行)的格子全部是W色的;
2.接下来若干行(至少一行)的格子全部是B色的;
3.剩下的行(至少一行)全部是 色的。
小码哥想要更改最少的格子数来满足要求。请你帮他算算最少的更改数。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
#define N 1005
int n,m,w[N],b[N],r[N];
int ans = 0x3f3f3f3f;
string s;
int cal(char c) {
//某一行全部刷成某种颜色的代价int t = 0;for (int i = 0; i < m; ++i)if (s[i] != c)t++;return t;
}
int main() {cin >> n >> m;for (int i = 1; i <= n; ++i) {cin >> s;w[i] = w[i - 1] + cal('W');b[i] = b[i - 1] + cal('B');r[i] = r[i - 1] + cal('R');}for (int i = 1; i < n - 1; ++i)for (int j = i + 1; j < n; ++j)ans = min(ans, w[i] + b[j] - b[i] + r[n] - r[j]);cout << ans;return 0;
}

palace


难度:钻石时间限制:1秒巴 占用内存:128 M。
小码哥准备给自己盖一座很华丽的宫殿。于是,他看中了一块NxM 的矩形空地。
空地中每个格子都有自己的海拔高度。小码哥想让他的宫殿的平均海拔在海平面之上(假设海平面的高度是0,平均数都会算吧?)。而且,小码哥希望他的宫殿尽量大,能够容纳更多的人来膜拜他。请问小码哥的宫殿最后会有多大?
格式
输入格式:第一行两个整数 n,m;
之后 n 行,每行 m 个数,描述的空地的海拔。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 210;
int n,m,a[N][N],sum [N][N],ans;int main(){cin >>n >>m;for (int i=1;i <=n;i++)for (int j =1;j <=m;j++) {cin >> a[i][j];sum[i][j] =sum[i - 1][j] + sum[i][j - 1] + a[i][j] - sum[i - 1][j - 1];}for (int i=1;i<=n;i++)for (int j =1;j <= m;j++)for (int k=i;k <= n;k++)for (int l=j;l <= m;l++) {int tmp = (k - i + 1) * (l - j + 1);int tmp2 = sum[k][l] - sum[i - 1][l] - sum[k][j - 1] +sum[i - 1][j - 1];if (tmp > ans && tmp2 > 0)ans = tmp;}cout << ans;return 0;
}

高数考试


黄金!巴 占用内存:128 M子难度:时间限制:1秒
高数考完了,又到了数学老师难办的时候。数学老师想捞同学一把,她总是要一遍遍地给某些同学增加分数(均为正整数),又要注意最低分是多少。由于工作量很大,你能帮帮她吗?
格式
输入格式:第一行有两个整数n,p,代表学生数与增加分数的次数第二行有 n 个数,a1~ an ,代表各个学生的初始成绩;接下来p行,每行有三个数 ,y,z,代表给第  个到第y个学生每人增加z分。

/*MT2068 高数考试 
*/#include<bits/stdc++.h> 
using namespace std;const int MAX = 5e6+5;
int ary[MAX], sub[MAX];int main( )
{// 录入数据 int n,p,x,y,z,minScore=MAX; cin>>n>>p; // 录入分数时同时记录差分数组 for(int i=1;i<=n;i++){cin>>ary[i];sub[i] = ary[i] - ary[i-1];}// 录入操作时只需要对差分数组进行修改 while(p--){cin>>x>>y>>z;sub[x] += z;sub[y+1] -=z;}// 还原数组并找出最小值 for(int i=1;i<=n;i++){ary[i] = ary[i-1] + sub[i];minScore = min(minScore, ary[i]);}// 输出最低分数 cout<<minScore<<endl;return 0;
}

新全排列


 时间限制:2秒难度:钻石四:占用内存:256 M
列数组 P1,P2,?3,..,?n 被称作一个全排列当且仅当1到n所有数都出现一次。现有一个n的全排列 p1,p2,p3,·..,pn ,仅知道 q1,q2,3,·..,qn-1的序列,其中 qi=pi+1-Pi。
要求求出原序列。
格式
输入格式:第一行输入 n(2 <n<2*105)原序列长度;第二行输入 q1, 92, q3,·..,qn-1(-n < qi< n)。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N =2e5+ 7;int n,p[N],q[N],tmp[N];
bool flag;
int main() {cin >> n;for (int i = 1; i <= n - 1; i++)cin >>q[i];//差分数组前缀和就是原数组int minn = 0;for (int i=2;i<=n;i++){p[i]=p[i-1]+q[i-1];if (p[i] < minn)minn = p[i];
}
for (int i=1;i<=n;i++) {p[i] = p[i] - minn + 1;tmp[i] = p[i];if (tmp[i] > n || tmp[i] < 1) {cout << -1;return 0;}
}
sort(tmp + 1,tmp +n + 1);
for (int i=1;i<=n-1;i++)
if (tmp[i]==tmp[i + 1]){cout<<-1;return 0;
}for (int i=1;i<=n;i++)cout << p[i] <<" ";return 0;
}

黑白双煞


难度:钻石时间限制:1秒巴:占用内存:128 M
小码哥现在手里一个环(首尾相连),环上有(2<n<100000)个点,每个点必定是两种颜色之一(黑色或白色)。
现在他想请你进行一些操作,每次交换两个点的位置,求最少操作次数使得黑白色的几个点分离成两个部分,每个部分只含一种颜色。
格式
输入格式:第-行-个正整数n(2≤n≤ 100000);
接下来一行一个字符串 S ,长度为 n ,第讠位为 H 则表示黑点,T 则表示白点。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N=1e5 + 10;
int a[N << 1],sum[N << 1];
int n,cnt,ans;//cnt表示黑色的个数,ans表示cnt长的区间内,最多多少个黑色
char ch;
int main(){cin >> n;for (int i=1;i<=n;i++) {cin >> ch;if (ch == 'H')//黑色为1a[i + n] = a[i] = 1, cnt++;}for (int i=1;i<=n * 2;i++)sum[i]=sum[i-1]+a[i];//前缀和,前面有多少个黑色for (int i=1;i <=n;i++)ans = max(ans,sum[i+cnt - 1] - sum[i-1]);cout <<cnt - ans;return 0;}

等差


难度:钻石时间限制:1秒四: 占用内存:256 M
学完等差数列的小码哥神清气爽,他想在一长串数中找到等差的部分。
他给你一个整数数组nums,要求该数组中所有为等差数组的子数组个数(等差数组子数组,指的是至少3个数的连续数组成等差数列)。
格式
输入格式:一个整数数组。
输出格式:返回一个非负整数。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 5010;
int nums [N],sub[N],n,ans;int main(){int x;while (cin >>x){n++;nums[n] = x;sub[n] = nums[n] - nums[n - 1];}for (int i=2;i<n;i++){int tmp = sub[i],index = i+1,t=0;while (sub [index]==tmp) {t++;index++;}ans +=t;}cout <<ans;return 0;}

数三角形


时间限制:1秒难度:钻石巴: 占用内存:128 M
给出四个整数 A, B,C,D ,其中 1< A≤B<C<D<5.105
求三边长分别为 æ, y,z(㎡,y,z为整数)并且満足 A≤æ≤B≤y≤C≤z≤D 的非退化三角形(三顶点不共线)的个数。
格式
输入格式:第一行为 A,B,C,D
输出格式:输出一个整数为答案。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N=5e5 +5;
long long a[N],sum[N],A,B,C,D,ans;
int main(){cin >>A >>B>>C>>D;for (int i=A;i<=B;i++)for (int j=B;j<=C;j++)a[i+j]++;for (int i=A+B;i <= B+C;i++)sum[i] = sum[i -1] + a[i];for(int i=C;i <= min(D,B+C);i++)ans += sum[B + C] - sum[i];cout <<ans;return 0;
}

区间修改


难度:黄金
时间限制:1秒巴:占用内存:128 M
小码哥有几个手下,他们的编号为1,n。小码哥想要给他们发放工资,用一个长度为n的数列ai,表示编号为i的手下初始收到的工资,但发工资时没有计算好,导致每个人到手的工资不-样,为了使他们的工资相同,现在小码哥可以使得编号在区间,中的手下,收到1或上交1的工资。即工资+1或工资-1;
求至少需要多少次操作才能使所有人的工资相同都一样?
工资可以暂时为负数,小码哥可以压榨他的手下,让手下暂时垫付部分钱,之后再还;小码哥也可以多付一些钱给手下,也可以少给一些(自己贪污一点),即工资总数不要求一定是初始手下的工资之和。只要他们每个人的工资一样就可以。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n,a[N],sub[N],num1,num2;
int main(){int ans =0,buf =0;cin >>n;for (int i=1;i<=n;i++)cin >>a[i];for (int i=2;i<=n;i++){sub[i] = a[i]-a[i-1];if (sub[i] > 0)num1 += sub[i];else num2 += sub[i];}cout <<max(num1,-num2);return 0;
}

相对马高


少难度:黄金时间限制:1秒四: 占用内存:128 M
小码哥有几头马,他们站作一排,由于马的身高不同,如果马A和B能够相互看见,那么,在(a,b)区间的马的身高都小于 a,b马。
现在给出最高的马的身高h。之后小码哥将给出f组数据,表示马A,B可以相互看见,请你推出小码哥的马们的最大的可能的身高,由于小码哥工作向来随性,马的区间顺序关系可能写错(数据不确保 a<b)。
格式
输入格式:第 1 行输入 n,h,f;
第 2 行到第 f+1 行 输入两个数据 a,b,以空格分隔

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int N = 1e4 + 10;
int n,h,f,g[N],sub[N],a,b;
int main() {cin >> n >> h >> f;sub[1] = h;while (f--) {cin >> a >> b;if (a == b)continue;if (a > b)swap(a, b);sub[a + 1] -= 1;sub[b] += 1;}for (int i = 1; i <= n; i++) {g[i] = g[i - 1] + sub[i];cout << g[i] << endl;}return 0;
}

小码哥剪绳子


时间限制:1秒巴 占用内存:128 M了 难度:黄金
马上就要到文化节了,小码哥身为学生会的一员需要参与到道具制作。
由于被分配到趣味拔河,小码哥需要切绳子,有N 条绳子,它们的长度分别为,n。
如果从它们中切割出 K 条长度相同的绳子,这条绳子每条最长能有多长?
格式
输入格式:第一行两个整数 N 和K;
接下来 N 行,每行一个整数代表每条绳子的长度 工。

//
// Created by abner on 2024/3/22.
//
#include <bits/stdc++.h>
using namespace std;
const int M = 1e5 + 10;
int L[M],N,K,l,r,mid,ans;bool check(int num){int tmp =0;for (int i =1;i<=N;i++) {tmp += L[i] / num;}if (tmp >=K)return true;elsereturn false;}int main(){cin >>N>>K;for (int i=1;i<=N;i++) {cin >> L[i];r = max(r, L[i]);}while (l <=r){mid = l+(r-l)/2;if (check(mid))l=mid + 1,ans = mid;elser = mid - 1;}cout <<ans;return 0;}

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

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

相关文章

OceanPen Art AI绘画系统 运营教程(二)AI视频AI创作PPT

在一个崇高的目标支持下&#xff0c;不停地工作&#xff0c;即使慢&#xff0c;也一定会获得成功。 —— 爱因斯坦 演示站点&#xff1a; ai.oceanpen.art 官方论坛&#xff1a; www.jingyuai.com 登陆后台 ppt密匙设置 导航菜单配置 Key池管理 二、前端显示 体验站点…

哲♂学家带你深♂入了♂解结构体及结构体内存大小问题

目录 概要 一、结构体的声明 二、结构体变量的创建和初始化 三、结构体的特殊声明 四、结构体内存对齐 1、对齐原则 2、例一 对齐数 计算方法 3、例二 总结 概要 结构体是我们日常编程中经常要用到的一种自定义类型&#xff0c;使用起来也是十分的方便。接下来就由…

计算机二级Python题目3

题目来源&#xff1a;计算机二级Python半个月抱佛脚大法&#xff08;内呈上真题版&#xff09; - 知乎 目录 1. 基础题 1.1 基础题1 1.2 基础题2 1.3 基础题3 2. turtle绘图题 3. 大题 3.1 大题1 3.2 大题2 1. 基础题 1.1 基础题1 a,b,ceval(input()) ls[] for i in …

2核4G服务器优惠价格和性能测试,2024年

阿里云2核4G服务器租用优惠价格&#xff0c;轻量2核4G服务器165元一年、u1服务器2核4G5M带宽199元一年、云服务器e实例30元3个月&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接如下图&#xff1a; 阿里云2核4G服务器优惠价格 轻量应用服务器2核2G4M带宽、60GB高效…

Jmeter测试计划

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

P2799 国王的魔镜

题目链接&#xff1a;国王的魔镜 - 洛谷 题目难度&#xff1a;普及- 涉及知识点&#xff1a;判断回文 题意&#xff1a; 分析&#xff1a;先判断是否是2的倍数&#xff0c;再判断回文 AC代码&#xff1a; #include<bits/stdc.h> using namespace std; char a[10000…

diffusion model(十四): prompt-to-prompt 深度剖析

infopaperPrompt-to-Prompt Image Editing with Cross Attention Controlgithubhttps://github.com/google/prompt-to-promptOrg:Google Research个人复现https://github.com/myhz0606/diffusion_learning个人博客主页http://myhz0606.com/article/p2p 1 前言 基于扩散模型&a…

基于python+vue食品安全信息管理系统flask-django-nodejs-php

食品安全信息管理系统设计的目的是为用户提供食品信息、科普专栏、食品检测、检测结果、交流论坛等方面的平台。 与PC端应用程序相比&#xff0c;食品安全信息管理系统的设计主要面向于用户&#xff0c;旨在为管理员和用户提供一个食品安全信息管理系统。用户可以通过APP及时查…

乐得瑞科技PD协议芯片:OTG与充电并行,引领数据交互

在科技日新月异的今天&#xff0c;数据交互的方式对于我们的日常生活和工作都起到了至关重要的作用。但在OTG技术诞生之前&#xff0c;这一过程却显得相当繁琐和耗时。想象一下&#xff0c;你需要将数码相机的照片导入到笔记本电脑中&#xff0c;却不得不频繁地拔出内存卡&…

流畅的 Python 第二版(GPT 重译)(一)

前言 计划是这样的&#xff1a;当有人使用你不理解的特性时&#xff0c;直接开枪打死他们。这比学习新东西要容易得多&#xff0c;不久之后&#xff0c;活下来的程序员只会用一个容易理解的、微小的 Python 0.9.6 子集来编写代码 。 Tim Peters&#xff0c;传奇的核心开发者&am…

vuex - 21年的笔记 - 后续更新

vuex是什么 Vuex是实现组件全局状态&#xff08;数据&#xff09;管理的一种机制&#xff0c;方便的实现组件之间的数据的共享 使用vuex统一管理状态的好处 能够在vuex中集中管理共享的数据&#xff0c;易于开发和后期维护能够高效地实现组件之间的数据共享&#xff0c;提高…

【Unity】层(Layer)详解

1.什么是Layer? 我们在做游戏开发的时候&#xff0c;尤其是场景比较复杂的时候&#xff0c;我们就需要使用Layer来分类。 比如&#xff1a; 排除不被灯光照亮的Layer 射线检测特定的 Layer 摄像机只能看到某些 Layer 对象之间的碰撞检测 Layer … 2.添加Layer ①在Inspecto…

Matlab 双目相机标定(内置函数)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 相机标定的目的就是要找到从世界坐标转换为图像坐标所用到的投影P矩阵各个系数(即相机的内参与外参)。具体过程如下所述: 1、首先我们需要获取一个已知图形的图像(这里我们使用MATLAB所提供的数据)。 2、找到同…

“找不到msvcr100.dll”或“msvcr100.dll丢失”的多种解决方法分享

当计算机系统中msvcr100.dll文件发生丢失时&#xff0c;导致某些应用程序无法正常运行。msvcr100.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;对于许多基于Windows操作系统的应用程序正常运行至关重要。小编将介绍5种解决msvcr100.dll丢失问题的方法…

命令提示符——CMD基础操作介绍

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

马斯克的 Grok-1 开源,3140亿参数目前最大开源模型,最佳实践教程来啦

近几天开源社区最大的热点&#xff0c;莫过于埃隆马斯克信守承诺的最大开源模型Grok-1。 Grok-1 是一款 314B 大型专家混合 (Mixture of Expert&#xff0c;MoE) Transformer&#xff0c;作为基础模型&#xff0c;基于大量文本数据进行训练&#xff0c;没有针对任何具体任务进…

经济事件对我们投资没影响吗?昂首资本的这两个实例说明白再说

各位投资者现在还不明白经济事件对我们投资的影响吗&#xff1f;下面昂首资本就通过两个实例&#xff0c;各位投资者能否明白经济事件对我们投资的影响。 2015年6月4日&#xff0c;澳大利亚零售量新闻发布。分析师预计销量增幅高达0.4%&#xff0c;但是结果却大吃一惊&#xf…

记录一个vue,ele-ui实现列表指定行数批量选中解决方法

这个问题卡了一天&#xff0c;试了好多方法总算试出来了&#xff1a; <template><div><!-- 功能区卡片 --><el-card class"mb-4"><el-row class"mb-1"><el-col :span"12">请输入想勾选的专利起止条数&am…

.NET开源、免费、强大的交互式绘图库

前言 今天大姚给大家分享一款.NET开源&#xff08;采用MIT许可证&#xff09;、免费、强大的交互式绘图库&#xff0c;该库能够轻松地实现大型数据集的交互式显示。使用几行代码即可快速创建折线图、柱状图、饼图、散点图等不同类型的图表&#xff1a;ScottPlot。 ScottPlot类…

使用cv::ximgproc::FastBilateralSolverFilter优化realsense D455的深度图

1 源码 OpenCV中内置了很多滤波器&#xff0c;这里我们讨论cv::ximgproc其中包含的滤波器。 https://docs.opencv.org/3.4/da/d17/group__ximgproc__filters.html 需要注意的是&#xff0c;默认安装的OpenCV中不包含cv::ximgproc&#xff0c;请从源码重修编译。 在这里贴上我…