竞赛
考级
HI
我遇到团贩子了,【典狱长】格赫罗斯 @AC君
作者昨晚十点发了篇帖子,一看贴号,我蒙了81111,四位数一样,这恐怕是acgo历史上第一个 想看的直接点 以下是作者想看有没有比作者更幸运的: https://www.acgo.cn/discuss/rest/71111 https://www.acgo.cn/discuss/rest/66666 https://www.acgo.cn/discuss/rest/88888 结果: https://www.acgo.cn/404?errorType=2 404了
有错请揪出,本人将感激不尽,谢谢(点个赞吧,求求了[就是刷acgo货币guantou也行];关注必回关) (大概是最短的一章了) 第二章:小康 我一觉醒来,感觉神清气爽,先把“开垦荒地”的奖励领了,获得了1个世界币。我跳下河,抓了5条鱼,又摘了1组的海带。随后,我又挖了8组石头,挖爆了4把石镐。然后用石斧砍了20棵树,获得了181个原木。我做了20个梯子,架在了我的空岛上。我上了空岛,把石头围着泥土地搭了四圈,又用木板在周围开始铺设道路,并与预留了10个10*10的空地给我以后的居民建房子。我放下了2个熔炉,一个烤鱼,一个烤海带。在此期间,我也没有闲着,用斧子给原木去皮后作为柱子用石头做墙面,预留出一面墙的位置,便向下一跳,像一颗深水炸弹似的扎进了水里,溅起了3米高的水花。我拿出石铲,挖了1组沙子。爬上空岛后,将烤好的鱼和海带取出狼吞虎咽地吃了下去,水倒是不需喝,我刚刚游泳时喝了不少水呢!等玻璃烧好,便迫不及待地用玻璃板做了一面10×6的面向小河的落地窗,我用木板搭建了一层地板,在中间留了1格做了个活版门,在旁边搭了一根柱子,架上了5个梯子。爬上二楼后先用木板搭了一层阁楼,又做了12个箱子,摆了6个大箱子。又做了4个展物台。展物台是我的世界.无双大陆新加入的,用5块玻璃和3块木板制作,可以展示珍贵物品。此时,太阳已经渐渐地落了下来,火烧云将半个天空染成了橙红色。我将熔炉和床搬进了屋子,便进入了梦乡。
为次小生成树准备的一篇。重点会放在树上倍增。 题目的题意还是相当明确的。 图示: 图中AB两点的最近公共祖先就是那个红点点。 如何求取最近公共祖先: 已知有两个点A和B。 1.将A和B提高到同一个高度 2.它们一起往上跳。直到跳到最近公共祖先。 不难发现这两个操作都可以靠着暴力模拟完成。不难发现这样立马就会TLE。 这里我们的解决方案有很多种,不过这篇帖子选择介绍倍增的方案。 接下来我会一边讲述代码框架一边讲解倍增。 1.初始化 关于倍增 顾名思义”成倍增长“。一般默认是二次幂成倍增长。 它可以把时间复杂度为O(n)O(n)O(n)的暴力枚举优化成O(logn)O(logn)O(logn)。 这之中的核心诀窍就是:一个数可以有一堆二的次幂拼凑而成。 这个说法的最直观的体现是二进制。 接下来我们会逐渐感受到倍增的魅力。 pospospos和xxx的含义:xxx是当前节点,pospospos是xxx节点的父亲节点。 fff数组的含义:f[i][j]表示第i个点网上爬2j2^j2j个点后到达的祖先节点。 f[x][i]=f[f[x][i−1][i−1]f[x][i]=f[f[x][i-1][i-1]f[x][i]=f[f[x][i−1][i−1] 这个公式是根据数学结论推导出来的。 因为:2i−1∗2i−1=2i2^{i-1}*2^{i-1}=2^i2i−1∗2i−1=2i 所以就有了上面的那行代码。 在根据这行代码更新f[i][j]f[i][j]f[i][j]之前,我们需要把所有的f[x][j−1]f[x][j-1]f[x][j−1]更新好。 所以forforfor循环从小到大遍历。 deepdeepdeep数组的含义:顾名思义,它记录每个结点的深度。 deep[x]=deep[pos]+1deep[x]=deep[pos]+1deep[x]=deep[pos]+1 的意思是:当前节点的深度=其父节点的深度+1 2.将aaa和bbb两个点升到同一高度 首先,我们打算将a往上拎,所以肯定要确保deep[a]>deep[b]deep[a]>deep[b]deep[a]>deep[b]。 把a往上拎的过程需要用到倍增的思想,具体原理前面已经解释过了。(for循环从小到大遍历还是从大到小遍历都可以) 然后这时候如果aaa与bbb相等,那么证明当前已经到达最近公共祖先了,可以(其实是必须,要不然后面就会出问题)直接返回。 3.点aaa和点bbb一起往上跳到最近公共祖先(这一段也是我不太确定的,如果有疑问和质疑欢迎私信我or直接在评论区提出。评论我都会看的,感谢。) 接下来就是一步步往上跳。 这句判断还是很有意思的。 如果点aaa往上跳2j2^j2j到达的顶点和点bbb往上跳2j2^j2j步到达的顶点是相同的就跳过。 可能会有人认为:如果相同那不就代表是最近公共祖先了?直接return不好吗。 它确实是公共祖先,但不一定是最近,看这幅图: 现在点aaa往上跳2j2^j2j个点到达了绿点。绿点确实是公共祖先,但并不是最近。 就算真的是红点。 20+20+21+22+⋅⋅⋅+2n−1=2n2^0+2^0+2^1+2^2+···+2^{n-1}=2^n20+20+21+22+⋅⋅⋅+2n−1=2n 所以说最后是: 而不是: 另:关于为什么是从大到小枚举i而不是从小到大枚举? 由于需要加的距离实际上是固定的,我们先加大的,就可以用小的补(每个2i2^i2i都只能加一次)。 就像是往一个箱子里面装海绵。 前面你不管用大海绵还是小海绵装,最后你的箱子里面总归还是有缝隙。 如果你先用大海绵,你后面就可以用没用的小海绵来填充缝隙。 但是如果你先用小海绵,你后面想填充缝隙时,就会发现大海绵无法使用。
> 热烈庆祝网站成立一年半! 网站标题:工具大全 主页链接|国际象棋 工具数量:50个 最后更新时间:2026年5月9日 注:该网站为本人自己制作!\color{red}{注:该网站为本人自己制作!}注:该网站为本人自己制作! ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 战绩: 感谢AC君的大力支持!
#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; while (n--) { unsigned long long s; cin >> s; vector<unsigned long long> powers; for (int i = 0; i < 64; ++i) { if (s >> i & 1) { powers.push_back(1ULL << i); } } int cnt = powers.size(); if (cnt == 0 || cnt > 4) { cout << "-1" << endl; } else { for (auto x : powers) { cout << x << " "; } cout << endl; } } return 0; }
大家去修改代码吧,都是错的,要不是编译错误,就错#1或#2
rt. OK啊,嘿嘿又是我,我这团队的名字我感觉还行吧,不知阁下意见如何 团队现名:༺ཌༀཉི 轮回༒永逝༃ༀད༻ 团队原名:第五特殊小队——“夜幕” 哦,顺便打个广告: 我和“༺ཌༀཉི 轮回༒永逝༃ༀད༻”的小伙伴都在ACGO等你,快用这个专属链接加入我们吧!https://www.acgo.cn/application/2038947898070085632 玩MC,看《我在精神病院学斩神》《十日终焉》的加一下,感谢帮助
千万别把数组设太大,不然就是MLE。
真名:ZJX(隐私保护) 年龄:0<年龄<100 爱好:小说、动漫、画画、写小说(都没有上架哈)、踢足球 圈子:二次元(混樱兰、黑执事)樱兰磕崇邦,推埴之冢光邦;黑执事磕塞啵,推啵酱 OC设定喜欢:白切黑、主仆、正太 MBTI:ENFP+ENTP 性格:白切黑 C++向 团队:和朋友创建的、自己的 联系 Q区(不留,骚福瑞) 抖音号:老抽加糖 号码:25119377942 视频号:老抽加糖 (抽象猎奇) 小红书:喵小洛. 小红书号XiaoluoZJX 小红书朋友:桃跑中 小红书号49976674754 (我俩的小红书绘圈) cn:小洛 oc:小洛 有意联系直接搜我ACGO号就行了,谢谢
地球oline的副本一个比一个难打。 从新手教程“幼儿园”就被一个30+级的BOSS劳湿(她还在进化)压力 还好有规则“减八条”(至少轻松一点了) 在家会被浮木紫菜, 窝才小学, 实在不知S级副本“初中”咋打, 求大佬教学 (我们小学有一个玩家从二楼试图重开 但没肆 这学期上不了了 在副本“医院”)
就是做着题的时候,运行一下,突然显示退出成功,直接把我账号退了。 然后登陆完再看那个题,写的代码直接都没了。 是不是触发机器人检测了?或者是其他的? 而且这种事情已经发生不只一次了,希望给个解释。 (本人没有任何违规记录,均为正常使用ACGO)
https://www.acgo.cn/practice/mockExam?matchSourceId=我研究过,这里可以填7~27的数字&subjectType=3
事情是这样的,有一天我题性大发,开始写题了,我脑子一转,哦!想到了那时风靡全脑的梗。。。 给!窝!擦!皮!鞋!\HUGE 给!窝!擦!皮!鞋!给!窝!擦!皮!鞋! 于是......一道题目就这么不明不白的诞生了...... ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 就在5月11日,我突发恶疾,脑内掌管责任心的那片区域突然发难! 我看着创建好的比赛,十分的安心。 在完成了今天的课程后,我来到人类联盟,来到了题库。这本来只是非常正常的一次检查,谁知,我看到了那道题目... 我立刻被吸引了注意力,虽然是我自己出的题目,但实际上我自己是没有做过的,于是,我毫不犹豫的点开了这道题目... ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 结果...悲剧啊!! 我和一位朋友来来回回提交了18次!! 没有一次成功AC!! 我检查过了用例!5个用例!没有一个有问题!我发誓!真的!你人类好歹学C++也有2年了,这道题目非常简单!4个用例我来来回回也检查了三四遍,不可能有任何问题! 不过好在,最后,我发现了错误点,其实概念很简单,由于我的用例很水,所以,这道题只有在第二个用例才出现了多位数(9以上的数),而这道题又需要你判断是否存在字符A这就导致我们必须使用string类型或char类型,而在某些情况下(具体情况你可以去题目里看看),这道题中某些用例可能是另一种情况,小A的牌可以直接战胜皮耶克松,所以我们有必要将小A的牌加起来,但我那时暂时并不清楚如何实现多位数字符类型加减,不过其实帖子写到这里时,我已经有思路怎么实现这道题了!呵呵,这道题的首AC必定是我的! ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 如果你是人类联盟的成员,你现在就可以来到这道题,我已经把他从团队竞赛题调整成日常训练题了(当然!你无法查询任何提交记录!),如果你不是人类联盟的成员,你可能现在才意识到,这居然是一个招人贴:) 来吧!加入我们吧!人类联盟将通往带派的大门向你开启!! 请加入人类联盟!!!\Huge 请加入人类联盟!!!请加入人类联盟!!! 点击上方最带派的图片即可加入人类联盟 嘿嘿嘿,快去做题吧!等会,首AC就真是我咯!
耶!
大家在小码王有多少码豆了?
共26445条