Codeforces Round 933 (Div. 3) A~D

比赛链接 : 

codeforces.com/contest/1941

A . Rudolf and the Ticket

 直接暴力即可 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define lowbit(x) (x&(-x))
#define sz(a) (int)a.size()
#define pb push_back
#define all(a) a.begin(), a.end()
#define int long long
typedef long long LL;
const int mod = 1e9+7;
const int N = 2000;using namespace std;int a[N] ,b[N] ;inline void solve(){int n , m , k ; cin >> n >>  m >>  k ;for(int i=1;i<=n;i++) cin >> a[i] ;for(int i=1;i<=m;i++) cin >> b[i] ;int ans = 0 ;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(a[i] + b[j] <= k){ans ++ ;}}}cout << ans << endl ;
}signed main()
{IOSint _ = 1;cin >> _;while(_ --) solve();return 0;
}

B. Rudolf and 121

用贪心的思路 , 这个肯定是要从前往后来遍历的 ;

从左到右遍历一遍,最后看数组是不是全为0即可 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
#define lowbit(x) (x&(-x))
#define sz(a) (int)a.size()
#define pb push_back
#define all(a) a.begin(), a.end()
#define int long long
typedef long long LL;
const int mod = 1e9 + 7;
const int N = 2e5 + 10;using namespace std;
int a[N] ;inline void solve() {int n ; cin >> n ;for(int i=1;i<=n;i++) {cin >> a[i] ;}bool tag = true  ;for(int i=2;i<=n-1;i++){int x = a[i-1] ;a[i-1] -= x ;a[i] -= 2 * x ;a[i+1] -= x ;if(a[i]<0 || a[i+1]<0){tag = false ;break ;} }for(int i=1;i<=n;i++){if(a[i]!=0){tag = false ;break ;}}if(tag) cout << "YES" << endl ;else cout << "NO" << endl ;
}signed main()
{IOSint _ = 1;cin >> _;while (_--) solve();return 0;
}

C. Rudolf and the Ugly String

因为"map" 和 pie其实是互不相关的, 那么我们可以找到一个map就删掉a,找到一个pie的话,就删掉一个i,这样从前往后遍历即可 ,就是最优答案 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
typedef long long LL;
const int mod = 1e9+7;
const int N = 2e5+10;using namespace std;string a = "pie" , b = "map" ;inline void solve(){int n ; cin >> n ;string s ; cin >> s ;s = ' ' + s ;vector<int> idx ;bool tag = true ;for(int i=1;i<=n-2;i++){if(s.substr(i,3) == a || s.substr(i,3) == b){idx.push_back(i) ;i += 2 ;}} if(idx.size() == 0){cout << 0 << endl ;return ;}else{cout << (int)(idx.size()) << endl ;}}signed main()
{IOSint _ = 1;cin >> _;while(_ --) solve();return 0;
}

 D. Rudolf and the Ball Game

 其实这题最重要的条件是 n * m <= 2e5: 

那我们可以放心大胆的写二重循环来解决 ;

用一个bool数组dp记录当前的状态,dp[i]为true表示(i+1)人手里有球,为false表示无球,下一次的变化,用 一个bool数组g表示,遍历(0,n)对每一个dp[i] = true 的进行处理,也就是c[i]==0,1,?的三种情况分别处理即可 ;

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl '\n'
typedef long long LL;
const int mod = 1e9+7;
const int N = 1e3+10;
using namespace std;inline void solve(){int n , m , x ; cin >> n >> m >> x ;vector<int> dp(n) ;x --; // 处理下标 dp[x] =  1;for(int i=0;i<m;i++){int r ; char c ; cin >> r >> c ;vector<int> g(n) ;// 代替dp数组的数组for(int k=0;k<n;k++){if(dp[k]){if(c!='1') g[(k+r)%n] = 1 ;if(c!='0') g[(k-r+n)%n] = 1 ;}} dp = g ;}int ans = count(dp.begin(),dp.end(),1) ;cout << ans << endl ;for(int i=0;i<n;i++){if(dp[i]){cout << i + 1 << " " ;}}cout << endl ;	
}signed main()
{IOSint _ = 1;cin >> _;while(_ --) solve();return 0;
}

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

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

相关文章

2024年3月11日 算法刷题记录

2024年3月11日 习题 2.4 Repeater&#xff08;北京大学复试上机题&#xff09; 链接 题目大意 给你一个仅包含一种字符和空格的模板&#xff0c;模板显示如何创建无尽的图片&#xff0c;将字符用作基本元素并将它们放在正确的位置以形成更大的模板&#xff0c;然后不断进行…

AIPC的“名利场”,生产力革命还是市值猛药?

文&#xff5c;刘俊宏 编&#xff5c;王一粟 苹果这回终于不“挤牙膏”了&#xff0c;急不可耐地扎入了AIPC的“名利场”。 就在2月28日&#xff0c;苹果CEO库克还在股东大会上宣称&#xff1a;“目前市面上用于人工智能的电脑&#xff0c;没有比Mac更好的”。仅一周过去&am…

百度AI智能审核

一、介绍 百度内容审核平台&#xff08;Baidu Content Audit Platform&#xff09;是百度推出的一款用于进行内容审核的平台。该平台利用人工智能技术&#xff0c;对用户上传的各类内容进行审核和过滤&#xff0c;以实现内容的合规和安全&#xff0c;可以识别和过滤涉黄、涉政…

Matlab R2021a安装教程(附带免费安装包)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 Matlab简介 Matlab是一种高级技术计算语言和交互式环境&#xff0c;用于算法开发、数据可视化和数值计算。它集成了数学、工程和科…

探索ChatGPT的前沿科技:解锁其在地理信息系统、气候预测、农作物生长等关键领域的创新应用

以ChatGPT、LLaMA、Gemini、DALLE、Midjourney、Stable Diffusion、星火大模型、文心一言、千问为代表AI大语言模型带来了新一波人工智能浪潮&#xff0c;可以面向科研选题、思维导图、数据清洗、统计分析、高级编程、代码调试、算法学习、论文检索、写作、翻译、润色、文献辅助…

JVM 重要知识梳理

一、java内存区域 程序计数器&#xff1a;线程私有&#xff0c;唯一一个不会出现outOfMemoryError的内存区域虚拟机栈&#xff1a;线程私有&#xff0c;栈由一个个栈帧组成&#xff0c;而每个栈帧中都拥有&#xff1a;局部变量表、操作数栈、动态链接、方法返回地址。本地方法…

最大极小值与最小极大值(省模拟赛-16568)

我的代码&#xff1a; #include <iostream> using namespace std; int a[1002]{};int main() {int n;cin>>n;for(int i1;i<n;i){cin>>a[i]; }int jixiaoa[1],jidaa[1],max_jixiao0,min_jida10000;for (int i1;i<n;i){if(a[i]<a[i-1]&&a[i]…

day 55 动态规划part15● 392.判断子序列 ● 115.不同的子序列

这道题目算是 编辑距离问题 的入门题目&#xff08;毕竟这里只是涉及到减法&#xff09;&#xff0c;慢慢的&#xff0c;后面就要来解决真正的 编辑距离问题了. 这个相当于求两个序列的最大公共子序列长度&#xff0c;如果等于s的长度&#xff0c;就是t包含s。一遍过。 class …

手势学习

1. 点击手势 Composable fun ClickableSample() {val number remember {mutableStateOf(0)}Text(text number.value.toString(),textAlign TextAlign.Center,modifier Modifier.wrapContentSize().clickable {number.value}.background(Color.LightGray).padding(horizonta…

以102flowers数据集为例训练ResNet50模型

以102flowers数据集为例训练ResNet50模型 使用飞桨高阶API&#xff0c;使用最少的代码量&#xff0c;实现在102flowers数据集训练ResNet50模型。同时可以一条命令修改成Mnist、Cifar10、Cifar100等数据集&#xff0c;换成其它模型也是只需要一句话代码。 数据集介绍 102flowe…

深入理解Apache Commons Pool2池化技术

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在现代软件开发中&#xff0c;为了提高性能和资源利用率&#xff0c;开发者们经常使用池化技术来管理那些创建和销毁代价较高的对…

SpringController返回值和异常自动包装

今天遇到一个需求&#xff0c;在不改动原系统代码的情况下。将Controller的返回值和异常包装到一个统一的返回对象中去。 例如原系统的接口 public String myIp(ApiIgnore HttpServletRequest request);返回的只是一个IP字符串"0:0:0:0:0:0:0:1"&#xff0c;目前接口…