牛客周赛 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的更多相关文章

  1. 牛客周赛11TG B-弹钢琴

    链接:https://ac.nowcoder.com/acm/contest/941/B来源:牛客网 题目描述 春希想听和纱弹钢琴! 为了阻止异变的发生,Pi将钢琴魔改了 钢琴上有 N 个键,每个键有 ...

  2. 牛客OI周赛9-提高组题目记录

    牛客OI周赛9-提高组题目记录 昨天晚上做了这一套比赛,觉得题目质量挺高,而且有一些非常有趣而且非常清奇的脑回路在里边,于是记录在此. T1: 扫雷 题目链接 设 \(f_i\) 表示扫到第 \(i\ ...

  3. 牛客OI周赛8-提高组A-用水填坑

    牛客OI周赛8-提高组A-用水填坑 题目 链接: https://ac.nowcoder.com/acm/contest/403/A 来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制: ...

  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 ...

  5. 牛客OI周赛7-提高组 A 小睿睿的等式

    链接:https://ac.nowcoder.com/acm/contest/371/A来源:牛客网 小睿睿在游戏开始时有n根火柴棒,他想知道能摆成形如“A+B=n”的等式且使用的火柴棒数也恰好等于n ...

  6. 牛客OI周赛7-提高组 B小睿睿的询问(ST打表)

    链接:https://ac.nowcoder.com/acm/contest/371/B来源:牛客网 小睿睿的n个妹纸排成一排,每个妹纸有一个颜值val[i].有m个询问,对于每一个询问,小睿睿想知道 ...

  7. 牛客OI周赛7-普及组 解题报告

    出题人好评. 评测机差评. A 救救喵咪 二位偏序.如果数据范围大的话直接树状数组,不过才1000就\(O(n^2)\)暴力就ok了. #include <bits/stdc++.h> s ...

  8. 牛客OI周赛2-提高组

    A.游戏 链接:https://www.nowcoder.com/acm/contest/210/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...

  9. 牛客OI周赛10-普及组-A眼花缭乱的街市-(加速+二分)

    https://ac.nowcoder.com/acm/contest/901/A 很简单的一道题,全场只有20+AC,卡时间.新学了cin加速语法和数组二分查找的函数调用. 知道有个读写挂,可以加速 ...

  10. 牛客OI周赛11-普及组 B Game with numbers (数学,预处理真因子)

    链接:https://ac.nowcoder.com/acm/contest/942/B 来源:牛客网 Game with numbers 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C+ ...

随机推荐

  1. python allure将生成报告和打开报告写到命令文件,并默认使用谷歌打开

    背景: 使用python + pytest +allure,执行测试用例,并生成测试报告: allure报告要从收集的xml.json等文件,生成报告,不能直接点击报告的index.html,打开的报 ...

  2. 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 ...

  3. 关于tomcat中servlet的url-pattern匹配规则

    首先需要明确几点容易混淆的规则: servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则.所以不要用通配符或者正则表达式的匹配规则来看待servlet的url-pattern ...

  4. USB OTG有关协议

    想了解USB OTG的工作原理,需要知道三个协议: ADP:Attach Detection Protocol HNP:Host Negotiation Protocol SRP:Session Re ...

  5. Linux驱动中的异步函数(aio_read和aio_write)

    Linux驱动中的异步函数(aio_read和aio_write) 我们可以在signal_handler使用了read和write函数处理设备文件的读写操作.然而这两个函数可以分别用aio_read ...

  6. mysqldump备份时保持数据一致性分析--master-data=2 --single-transaction

    对MySQL数据进行备份,常见的方式如以下三种,可能有很多人对备份时数据一致性并不清楚 1.直接拷贝整个数据目录下的所有文件到新的机器.优点是简单.快速,只需要拷贝:缺点也很明显,在整个备份过程中新机 ...

  7. Unity 中使用Geomotry Shader(几何着色器)扩展点创建其他图形(并实现处理锯齿)

    问题背景: 我们开发中需要有"点"对象,可以是像素的(不具备透视效果),始终等大,还有就是3D场景下的矢量点(随相机距离透视变化的). 问题解决思路: 方案1:使用GS扩充顶点,并 ...

  8. Qt--共享内存监听工具

    共享内存概述 共享内存的特点: 1)共享内存是进程共享数据的一种最快的方法. 一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容. 2)使用共享内存要注意的是多个进程 ...

  9. 韦东山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 等待 ...

  10. java 类的执行顺序

    java代码 package net.cybclass.sp; public class Test01 { public static void main(String[] args) { new c ...