文章目录

  • [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的情况只需要找出长度相等且满足要求的两段即可,得到的数值是一样的

成倍数关系在二进制中比较容纳工艺想到和办到应该是左移,如111001110的二倍,当零在第一位时000110011数值应当是相等的

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战士(三)相关推荐

  1. CF大陆斗C战士(二)

    C. Min Max Sort 题目大意 给定一个长度为n的排列p(长度为n的排列是一个长度为n的数组,其中从1到n的每个整数恰好出现一次).您可以执行以下操作任意次数(可能为零): 选择两个不同的元 ...

  2. CF大陆斗C战士(一)

    C. Set Construction 题目大意 根据二进制矩阵b需要构造n个集合 A1~An,满足当b[i,j]=1时Ai是Aj的真子集,找到此集合并打印,题目保证一定有解 题目分析 我们可以先每个 ...

  3. 瑜伽教学法 | <战士三口令>手把手教你精准口令的秘诀!

    今天给大家分享3位老师关于战士三(高位起跑进入,退回下犬)口令,并在『瑜伽教学法』的引导下和大家分析一下,这三个口令的优缺点,以及改善的方法,帮助引发大家对口令的思考,取长补短. 老师A: 所有人来到 ...

  4. 火力全开服务器不稳定怎么办,斗龙战士火力全开无法打开怎么办 斗龙战士火力全开登录不了解决方案...

    最近十分火爆的手机游戏斗龙战士火力全开已经开放下载了,不过有不少玩家抢先下载之后却发现,无法登录斗龙战士火力全开,那么游戏无法打开怎么办呢?斗龙战士火力全开登录失败的原因是什么?所以九游小编这就为大家 ...

  5. 初心大陆-----python宝典   第三章

    先絮叨两句,刚好赶上了周六日,和对象提前已经计划好,要去北戴河,旅游一番,虽然时间较短,但是玩的还是很开心.大家要是去北戴河,建议去住市里,我是住的旅游区,住房是便宜,但是附近的饭店真是不敢恭维.到鸽 ...

  6. 我的世界服务器新龙腾地皮系统,“赤轴大陆”全新上线!《我的世界》【PC版】“新龙腾”服务器更新啦~...

    原标题:"赤轴大陆"全新上线!<我的世界>[PC版]"新龙腾"服务器更新啦~ 官微决定今天向大家公开一个秘密-- 嘻嘻嘻~那就是官微要去做一个勇者啦 ...

  7. 国立华侨大学校长写给2010届毕业生的话:人生的二和三

    人生的二和三 (华侨大学校长写给2010届毕业生的话) 人生要结交两种人:一,良师,二,益友. 练就两项本领:一,做事让人感动,二,说话让人喜欢. 能吃得下两样东西:一,吃苦,二,吃亏. 自觉培养两种 ...

  8. opboot怎么刷入固件_矿渣高性价比竞斗云系列四:竞斗云最强刷机OPBOOT1.09+128M固件刷机...

    本章前言: 上一篇我们讲解了<矿渣高性价比竞斗云系列三:拆机刷智能OpenWRT路由系统>,收到广大群友的一直认可,本章继续讲解一个免拆机刷机教程,很多小伙伴或多或少听过竞斗云,恩山论坛也 ...

  9. 九章算术卷第三 衰分

     衰分术曰:各置列衰,副并为法,以所分乘未并者各自为实,实如法而一.不满法者,以法命之. [一]今有大夫.不更.簪裹.上造.公士,凡五人,共猎得五鹿.欲以爵次分之,问各得几何?答曰:大夫得一鹿.三 ...

最新文章

  1. 删除有序vector中的重复值c++
  2. Python学习之GUI--SQL数据库连接
  3. python requests详解_python的requests模块参数详解
  4. Python selenium web UI之Chrome 与 Chromedriver对应版本映射表及下载地址和配置(windows, Mac OS)...
  5. Win32-Application的窗口和对话框
  6. Java-集合第二篇Set集合
  7. 极客大学架构师训练营 框架开发 第三次作业
  8. 利用python将excel导入SQL Server数据库
  9. 我是如何考上武汉大学在职研究生的
  10. PHP将汉字转化为拼音
  11. 计算机系统维护技术txt,计算机系统维护技术作业装系统.docx
  12. [转载]全国高校IPv6地址分配情况
  13. java获取经纬度_java调用高德地图api获取某个位置的经纬度
  14. 【转】Linux设备驱动之sysfs
  15. JVM XMX与XMS参数
  16. leetcode 714. 买卖股票的最佳时机含手续费(java)
  17. 工业机器人智能制造生产线教学案例
  18. tomcat配置静态资源访问
  19. 个体工商户注册后,都需做哪些事呢?这3点很重要
  20. 计算机病毒与恶意代码防范技术

热门文章

  1. 修图教程:为照片增加云雾效果
  2. 各数据库远程连接及ipv6环境配置
  3. 统计表格中相同数据的出现个数
  4. mtv和mcv开发模式
  5. Linux debian安装DBeaver连接MySQL8、导入和导出数据库详细教程
  6. 我的游戏学习日志3——三国志GBA
  7. 模拟实现图片长按保存功能
  8. JavaScript中的模块化之AMD和CMD
  9. 【栈和队列】栈的push、pop序列
  10. 电脑文件夹与手机同步办公?