CF大陆斗C战士
Posted knookda
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CF大陆斗C战士相关的知识,希望对你有一定的参考价值。
文章目录
C. Good Subarrays
题目大意
如果一个子数组的数组元素之和等于数组元素个数,则称其为好子数组。给你一个数组,问其中的好子数组有多少个。
题目分析
一个子数组的数组元素之和等于数组元素个数为好子数组,那么如果将每一位减一,则元素和为零时为好子数组。
假设当前前缀和为sum
,若使子数组和为0则需要减去和同样为sum
的前,即sum
之前出现了多少次,既可以得到几个好子数组。注意当前缀和本身为0时,本身就作为一种方案。
code
#include<bits/stdc++.h>
#define int long long
using 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 long
using 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;
以开发之名|斗罗大陆:创造一个尽情探险的开放式游戏世界
2008年,《斗罗大陆》正式发行,成为了风靡一时的长篇玄幻小说。小说讲述了穿越到斗罗大陆的唐三如何一步步修炼武魂,由人修炼为神,最终铲除了邪恶力量,成为了斗罗大陆最强者的故事。此后数十年,《斗罗大陆》成为了一代人心目中珍贵的记忆。每个斗罗迷借由小说想象了一个属于自己的斗罗大陆,可以在里面组队修真、尽情探险,开发者王末也是这其中一员。
参与到《斗罗大陆:魂师对决》游戏开发时,王末形容自己“像刚穿越到武魂世界的唐三,既兴奋又惶恐。”兴奋的是那些迷恋过的角色即将经由自己和团队的手,变成一个个丰满真实的人物,活在自己身边。惶恐的是,面对这个拥有庞大受众的经典IP,如何满足众多斗罗迷心中神级的期待和幻想呢?王末和团队的探索才刚刚开始。
在三七游戏,王末的角色是一名资深客户端专家,发掘当下用户喜好,不断地对游戏的画面和性能提出更高的要求,以满足用户的畅玩体验,是王末的日常工作,也是整个《斗罗大陆:魂师对决》项目团队的共同追求。一款游戏的上架,需要对画面、人物角色进行深入刻画,注重沉浸式的畅玩体验和流畅的运行。这一切对于三七游戏来说,都是亟待解决的问题。开发团队尝试代入游戏思维,以游戏思维重构斗罗世界,还原人物特性,定义战斗法则。
开发过程中的难题就像“登上索托城大斗魂场一样频繁出现”,游戏运行的是否流畅,直接决定了玩家深度的畅玩体验,王末和团队唯有不断修炼武魂,他们对世面上主流的开发者服务工具进行了测试和评估,最终选择接入HMS Core的能力,为自己增加魂环,提升战斗力,集成了HMS Core 的Network Kit能力的《斗罗大陆:魂师对决》,下载速度提升了40%。
在上线前的测试环节,运营团队需要全面掌握游戏运行时出现的各种BUG。《斗罗大陆:魂师对决》接入了AppGallery Connect能力,其提供的先锋测试,帮助运营团队及时看到前端到后端的详细数据,以最快时间修复问题,顺利保证天南海北的斗罗粉丝一起组队修真。
《斗罗大陆:魂师对决》开发团队
随着王末和团队不断打怪升级,开发中的难题一一被解决,这源于他们对于制作的高要求和细节的精准把控。在画面呈现时,王末和团队逐一分析了人物特点,希望能够刻画还原出一个个真实鲜活的角色。借助HMS Core图形引擎服务Scene Kit ,《斗罗大陆:魂师对决》拥有了真实、勇敢的千手修罗唐三、纯真可爱的小舞,为玩家带来了更身临其境的氛围感,一个真实的斗罗大陆诞生了。
上线后的《斗罗大陆:魂师对决》,首日日活用户便创项目新高。截止目前,《斗罗大陆:魂师对决》在AppGallery 安装量超过了7000万次,有超过1.1万次评论,论坛发帖超过63万条,受到无数斗罗迷的喜爱。
《斗罗大陆:魂师对决》游戏画面
过去条件匮乏,我们的想象只能建立在抽象的文字上,现在随着技术的进步,那些记忆里迷恋的角色和场景可以跃然屏上,等待我们的探索。从初出茅庐到年少骄傲,唐三的修魂路也是人生的成长之路,每一个魂环都是他收获的成长力量,帮助他一路前行,披荆斩棘。对于包括王末在内的三七互娱开发团队三七游戏来说,HMS Core便是那个与他一起比肩成长的伙伴,一路组队冒险,提供支持和补给,最终帮助他实现梦想。这也正是HMS Core一直在做的,为更多开发者提供一个尽情探险的开放式世界,人人都可以是勇敢的唐三。
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
以上是关于CF大陆斗C战士的主要内容,如果未能解决你的问题,请参考以下文章