牛客周赛 Round 7
牛客周赛 Round 7
A-游游的you矩阵_牛客周赛 Round 7 (nowcoder.com)
把四种字符凑一起看看有没有\(y,o,u\)就行
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,m;
cin >> n >> m;
vector<string> a(n);
for(auto &i : a) cin >> i;
int ans = 0;
for(int i = 1;i < n;i ++){
for(int j = 1;j < m;j ++){
string s = "";
s += a[i][j];
s += a[i][j - 1];
s += a[i - 1][j];
s += a[i - 1][j - 1];
if(s.find('y') != -1 && s.find('o') != -1 && s.find('u') != -1)
ans ++;
}
}
cout << ans << '\n';
return 0;
}
B-游游的01串操作_牛客周赛 Round 7 (nowcoder.com)
\(dp[i][1/0]\)表示字符\(i\)为\(1/0\)时的最小代价
貌似直接讨论首位为\(1/0\)然后后面跟着算也能做出来
#include<bits/stdc++.h>
using i64 = long long;
using namespace std;
typedef pair<i64, i64> PII;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
string s;
cin >> s;
s = " " + s;
int n = s.size();
vector dp(n, vector<int>(2,0));
for(int i = 1;i < n;i ++){
dp[i][0] = dp[i - 1][1] + i * (s[i] - '0');
dp[i][1] = dp[i - 1][0] + i * ('1' - s[i]);
}
cout << min(dp[n - 1][0],dp[n - 1][1]) << '\n';
return 0;
}
C-游游的正整数_牛客周赛 Round 7 (nowcoder.com)
有解情况下,那最少情况下需要\(n\)个\(r\),最多情况下需要\(m\)个\(l\),如果说最少情况下的\(n\)都大于了最多情况下的\(m\),那么肯定无解
感觉更像是结论题,也可能数据水了(?)
#include<bits/stdc++.h>
using i64 = long long;
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin >> T;
while(T--){
int a,b,l,r;
cin >> a >> b >> l >> r;
int n = ceil((b - a) * 1.0 / r),
m = (b - a) * 1.0 / l;
if(n > m) cout << -1 << '\n';
else cout << n << ' ' << m << '\n';
}
return 0;
}
D-游游的选数乘积_牛客周赛 Round 7 (nowcoder.com)
两数相乘要使得末尾有\(0\),那就要看这两数的因子里能否凑出\(2\)和\(5\),只有凑出了\(2\)和\(5\),才能得出\(10\),才能使末尾有\(0\),所以我们每次把每个数的\(2\)和\(5\)因子数计算出来,然后去寻找是否存在使得这个数的\(2\)和\(5\)因子数和另一个数相加能得到大于或等于\(x\)的结果,能得到那我们就加\(1\),这里是用一个二维数组把拥有相同数量\(2\)和\(5\)因子的统计起来,且\(1e9\)里最多只有\(30\)个\(2\)和\(13\)个\(5\),所以我们只要三十多就行了
#include<bits/stdc++.h>
using i64 = long long;
using namespace std;
typedef pair<i64, i64> PII;
int sum[35][35];
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n,x;
cin >> n >> x;
i64 ans = 0;
for(int i = 0;i < n;i ++){
int a;
cin >> a;
int num2 = 0, num5 = 0;
while(a % 5 == 0) num5 ++, a /= 5;
while(a % 2 == 0) num2 ++, a /= 2;
for(int j = 0;j < 32;j ++)
for(int k = 0;k < 32;k ++)
if(num5 + k >= x && num2 + j >= x)
ans += sum[j][k];
sum[num2][num5] ++;
}
cout << ans << '\n';
return 0;
}
牛客周赛 Round 7的更多相关文章
- 牛客周赛11TG B-弹钢琴
链接:https://ac.nowcoder.com/acm/contest/941/B来源:牛客网 题目描述 春希想听和纱弹钢琴! 为了阻止异变的发生,Pi将钢琴魔改了 钢琴上有 N 个键,每个键有 ...
- 牛客OI周赛9-提高组题目记录
牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...
- 牛客OI周赛8-提高组A-用水填坑
牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...
- 牛客假日团队赛5 F 随机数 BZOJ 1662: [Usaco2006 Nov]Round Numbers 圆环数 (dfs记忆化搜索的数位DP)
链接:https://ac.nowcoder.com/acm/contest/984/F 来源:牛客网 随机数 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言6 ...
- 牛客OI周赛7-提高组 A 小睿睿的等式
链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...
- 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)
链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道 ...
- 牛客OI周赛7-普及组 解题报告
出题人好评. 评测机差评. A 救救喵咪 二位偏序.如果数据范围大的话直接树状数组,不过才1000就\(O(n^2)\)暴力就ok了. #include <bits/stdc++.h> s ...
- 牛客OI周赛2-提高组
A.游戏 链接:https://www.nowcoder.com/acm/contest/210/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...
- 牛客OI周赛10-普及组-A眼花缭乱的街市-(加速+二分)
https://ac.nowcoder.com/acm/contest/901/A 很简单的一道题,全场只有20+AC,卡时间.新学了cin加速语法和数组二分查找的函数调用. 知道有个读写挂,可以加速 ...
- 牛客OI周赛11-普及组 B Game with numbers (数学,预处理真因子)
链接:https://ac.nowcoder.com/acm/contest/942/B 来源:牛客网 Game with numbers 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C+ ...
随机推荐
- python allure将生成报告和打开报告写到命令文件,并默认使用谷歌打开
背景: 使用python + pytest +allure,执行测试用例,并生成测试报告: allure报告要从收集的xml.json等文件,生成报告,不能直接点击报告的index.html,打开的报 ...
- RHEL8.1---离线升级gcc
升级gcc到gcc9.1.0 下载离线包.放到/opt下 [root@172-18-251-35 opt]# wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc ...
- 关于tomcat中servlet的url-pattern匹配规则
首先需要明确几点容易混淆的规则: servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则.所以不要用通配符或者正则表达式的匹配规则来看待servlet的url-pattern ...
- USB OTG有关协议
想了解USB OTG的工作原理,需要知道三个协议: ADP:Attach Detection Protocol HNP:Host Negotiation Protocol SRP:Session Re ...
- Linux驱动中的异步函数(aio_read和aio_write)
Linux驱动中的异步函数(aio_read和aio_write) 我们可以在signal_handler使用了read和write函数处理设备文件的读写操作.然而这两个函数可以分别用aio_read ...
- mysqldump备份时保持数据一致性分析--master-data=2 --single-transaction
对MySQL数据进行备份,常见的方式如以下三种,可能有很多人对备份时数据一致性并不清楚 1.直接拷贝整个数据目录下的所有文件到新的机器.优点是简单.快速,只需要拷贝:缺点也很明显,在整个备份过程中新机 ...
- Unity 中使用Geomotry Shader(几何着色器)扩展点创建其他图形(并实现处理锯齿)
问题背景: 我们开发中需要有"点"对象,可以是像素的(不具备透视效果),始终等大,还有就是3D场景下的矢量点(随相机距离透视变化的). 问题解决思路: 方案1:使用GS扩充顶点,并 ...
- Qt--共享内存监听工具
共享内存概述 共享内存的特点: 1)共享内存是进程共享数据的一种最快的方法. 一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容. 2)使用共享内存要注意的是多个进程 ...
- 韦东山freeRTOS系列教程之【第八章】事件组(event group)
目录 系列教程总目录 概述 8.1 事件组概念与操作 8.1.1 事件组的概念 8.1.2 事件组的操作 8.2 事件组函数 8.2.1 创建 8.2.2 删除 8.2.3 设置事件 8.2.4 等待 ...
- java 类的执行顺序
java代码 package net.cybclass.sp; public class Test01 { public static void main(String[] args) { new c ...