CF大陆斗C战士(三)
文章目录
- [C. Good Subarrays](https://codeforces.com/problemset/problem/1398/C)
- 题目大意
- 题目分析
- code
- [C. Boboniu and Bit Operations](https://codeforces.com/problemset/problem/1395/C)
- 题目大意
- 题目分析
- code
- [C. Rings](https://codeforces.com/problemset/problem/1562/C)
- 题目大意
- 题目分析
- code
C. Good Subarrays
题目大意
如果一个子数组的数组元素之和等于数组元素个数,则称其为好子数组。给你一个数组,问其中的好子数组有多少个。
题目分析
一个子数组的数组元素之和等于数组元素个数为好子数组,那么如果将每一位减一,则元素和为零时为好子数组。
假设当前前缀和为sum
,若使子数组和为0则需要减去和同样为sum
的前,即sum
之前出现了多少次,既可以得到几个好子数组。注意当前缀和本身为0时,本身就作为一种方案。
code
#include<bits/stdc++.h>
#define int long longusing namespace std;int n, m, k, t;void solve()
{map<int, int>q;string s;cin >> n >> s;int ans = 0, sum = 0;for(int i = 0; i < n; i ++){sum += s[i] - '0' - 1;if(!sum) ans ++;ans += q[sum];q[sum] ++;}cout << ans << "\n";
}signed main()
{cin >> t;while(t --) solve();return 0;
}
C. Boboniu and Bit Operations
题目大意
给你两个数组a和b,规定c[i]=a[i]&b[j],找到c1 | c2…|cn的最小值
题目分析
几个数之间进行&
操作,数值只会不变或者变小。几个数之间进行|
操作,数值只会不变或者变大。
设c1 | c2…|ci结果为res
,若要使最终结果则在多异或数的情况下要保证res
不变,我们只需找到置否有相应的a[i]与b[j]配队满足即可。
对于res
的范围最小值为0而最大值应为a中元素相或之和。从小到大枚举res
即可
code
#include<bits/stdc++.h>
#define int long longusing namespace std;const int N = 210;int n, m, k, t;
int a[N], b[N];bool check(int x)
{int cnt = 0;for(int i = 1; i <= n; i ++)for(int j = 1;j <= m; j ++){if(((a[i] & b[j]) | x) == x){cnt ++;break;}}if(cnt == n) return true;else return false;
}void solve()
{int maxn = 0;cin >> n >> m;for(int i = 1; i <= n; i ++){cin >> a[i];maxn |= a[i];}for(int i = 1; i <= m; i ++) cin >> b[i];for(int i = 0; i <= maxn; i ++){if(check(i)){cout << i << "\n";break;}}
}signed main()
{solve();return 0;
}
C. Rings
题目大意
有一个01串,需要你选出两个区间 [l1, r1] 和 [l2, r2]满足以下条件:
- 1≤l1≤n ,1≤r1≤n, r1−l1+1≥n/2
- 1≤l2≤n, 1≤r2≤n, r2−l2+1≥n/2
- 至少满足 l1 != l2,r1!= r2两条件当中的一个
- 第一个区间所转化成的十进制值的值应当是第二个的k倍
题目分析
全为1的情况只需要找出长度相等且满足要求的两段即可,得到的数值是一样的
成倍数关系在二进制中比较容纳工艺想到和办到应该是左移,如11100
是1110
的二倍,当零在第一位时00011
和0011
数值应当是相等的
code
#include<bits/stdc++.h>using namespace std;int n, m, k, t;void solve()
{string s;cin >> n >> s;s = " " + s;for(int i = 1; i <= n / 2; i ++){if(s[i] == '0'){cout << i << " " << n << " " << i + 1 << " " << n << "\n";return;}}for(int i = n / 2 + 1; i <= n; i ++){if(s[i] == '0'){cout << 1 << " " << i << " " << 1 << " " << i - 1 << "\n";return;}}cout << 1 << " " << n - 1 << " " << 2 << " " << n << "\n";
}int main()
{cin >> t;while(t --) solve();return 0;
}
CF大陆斗C战士(三)相关推荐
- CF大陆斗C战士(二)
C. Min Max Sort 题目大意 给定一个长度为n的排列p(长度为n的排列是一个长度为n的数组,其中从1到n的每个整数恰好出现一次).您可以执行以下操作任意次数(可能为零): 选择两个不同的元 ...
- CF大陆斗C战士(一)
C. Set Construction 题目大意 根据二进制矩阵b需要构造n个集合 A1~An,满足当b[i,j]=1时Ai是Aj的真子集,找到此集合并打印,题目保证一定有解 题目分析 我们可以先每个 ...
- 瑜伽教学法 | <战士三口令>手把手教你精准口令的秘诀!
今天给大家分享3位老师关于战士三(高位起跑进入,退回下犬)口令,并在『瑜伽教学法』的引导下和大家分析一下,这三个口令的优缺点,以及改善的方法,帮助引发大家对口令的思考,取长补短. 老师A: 所有人来到 ...
- 火力全开服务器不稳定怎么办,斗龙战士火力全开无法打开怎么办 斗龙战士火力全开登录不了解决方案...
最近十分火爆的手机游戏斗龙战士火力全开已经开放下载了,不过有不少玩家抢先下载之后却发现,无法登录斗龙战士火力全开,那么游戏无法打开怎么办呢?斗龙战士火力全开登录失败的原因是什么?所以九游小编这就为大家 ...
- 初心大陆-----python宝典 第三章
先絮叨两句,刚好赶上了周六日,和对象提前已经计划好,要去北戴河,旅游一番,虽然时间较短,但是玩的还是很开心.大家要是去北戴河,建议去住市里,我是住的旅游区,住房是便宜,但是附近的饭店真是不敢恭维.到鸽 ...
- 我的世界服务器新龙腾地皮系统,“赤轴大陆”全新上线!《我的世界》【PC版】“新龙腾”服务器更新啦~...
原标题:"赤轴大陆"全新上线!<我的世界>[PC版]"新龙腾"服务器更新啦~ 官微决定今天向大家公开一个秘密-- 嘻嘻嘻~那就是官微要去做一个勇者啦 ...
- 国立华侨大学校长写给2010届毕业生的话:人生的二和三
人生的二和三 (华侨大学校长写给2010届毕业生的话) 人生要结交两种人:一,良师,二,益友. 练就两项本领:一,做事让人感动,二,说话让人喜欢. 能吃得下两样东西:一,吃苦,二,吃亏. 自觉培养两种 ...
- opboot怎么刷入固件_矿渣高性价比竞斗云系列四:竞斗云最强刷机OPBOOT1.09+128M固件刷机...
本章前言: 上一篇我们讲解了<矿渣高性价比竞斗云系列三:拆机刷智能OpenWRT路由系统>,收到广大群友的一直认可,本章继续讲解一个免拆机刷机教程,很多小伙伴或多或少听过竞斗云,恩山论坛也 ...
- 九章算术卷第三 衰分
衰分术曰:各置列衰,副并为法,以所分乘未并者各自为实,实如法而一.不满法者,以法命之. [一]今有大夫.不更.簪裹.上造.公士,凡五人,共猎得五鹿.欲以爵次分之,问各得几何?答曰:大夫得一鹿.三 ...
最新文章
- 删除有序vector中的重复值c++
- Python学习之GUI--SQL数据库连接
- python requests详解_python的requests模块参数详解
- Python selenium web UI之Chrome 与 Chromedriver对应版本映射表及下载地址和配置(windows, Mac OS)...
- Win32-Application的窗口和对话框
- Java-集合第二篇Set集合
- 极客大学架构师训练营 框架开发 第三次作业
- 利用python将excel导入SQL Server数据库
- 我是如何考上武汉大学在职研究生的
- PHP将汉字转化为拼音
- 计算机系统维护技术txt,计算机系统维护技术作业装系统.docx
- [转载]全国高校IPv6地址分配情况
- java获取经纬度_java调用高德地图api获取某个位置的经纬度
- 【转】Linux设备驱动之sysfs
- JVM XMX与XMS参数
- leetcode 714. 买卖股票的最佳时机含手续费(java)
- 工业机器人智能制造生产线教学案例
- tomcat配置静态资源访问
- 个体工商户注册后,都需做哪些事呢?这3点很重要
- 计算机病毒与恶意代码防范技术