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

成倍数关系在二进制中比较容纳工艺想到和办到应该是左移,如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;

以开发之名|斗罗大陆:创造一个尽情探险的开放式游戏世界

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一直在做的,为更多开发者提供一个尽情探险的开放式世界,人人都可以是勇敢的唐三。

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

以上是关于CF大陆斗C战士的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法分析(C语言描述)第二章 算法分析总结

求 算法:C语言实现 的PDF

C加加语言是啥

怎样用Xcode写c语言的数据结构和算法

嵌入式编程:由 C语言到 C++

C语言 版 数据结构