竞赛
考级
不知道为什么,总是有人盗我和我同学的号,希望那个人和大家们帮帮我找一下那些人。求求了
用一句话证明你是哈迷👧
ACGO嘻哈赛#4 名次 用户ID 参赛者 奖励 1 311479 @༺ཌༀ皮皮虾の啊啊挨踢ༀད༻ 拼图X1 + 盲盒X1 + 1000罐头 2 5117471 @LastKismet 拼图X1 + 盲盒X1 + 600罐头 3 3343601 @159****1259 拼图X1 + 盲盒X1 + 600罐头 4 5246648 @@我的是s福 拼图X1 + 盲盒X1 + 600罐头 5 5205458 @Minecraft 拼图X1 + 盲盒X1 + 600罐头 6 4946656 @139****1551 拼图X1 + 盲盒X1 + 300罐头 7 4526806 @杰杰 拼图X1 + 盲盒X1 + 300罐头 8 4663326 @sync with stdio 拼图X1 + 盲盒X1 + 300罐头 9 4869476 @tantan1007 拼图X1 + 盲盒X1 + 300罐头 12 2805862 @昵称 拼图X1 + 盲盒X1 + 300罐头 15 5205178 @毒豌 拼图X1 + 盲盒X1 + 300罐头 16 5511796 @新辰kimi 拼图X1 + 盲盒X1 + 300罐头 17 3298235 @yanghongzheng 拼图X1 + 盲盒X1 + 300罐头 18 1595087 @qertyuiop_SSS_MC 拼图X1 + 盲盒X1 + 300罐头 19 3385974 @周梓宸 拼图X1 + 盲盒X1 + 300罐头 22 5415428 @fast 100罐头 23 5205370 @TLE君(蒟蒻) 100罐头 28 5208102 @WERT 100罐头 32 2564568 @No batidtaid 100罐头 34 3858963 @Someone 100罐头 45 5205815 @胡弘郦 100罐头 51 4777160 @cascade protein 100罐头 54 5223000 @江 100罐头 72 5127205 @我的世界-dream 100罐头 98 5206039 @ཌ༒༺ཌༀཉ战斗机༃ༀད༻༒ད 100罐头 🎁 获奖信息填写 恭喜以上获奖同学🎉 为了避免出现漏发或因未关注AC君而错过寄件信息的情况,请获奖的同学们尽快私信AC君提供收件信息。具体信息包括: 获奖赛事名称: 收件人姓名: 收件手机号码: 收件地址:需详细填写,包括省、市、区、街道及具体住址 请确保提供的信息准确无误,以便我们能够顺利将礼品送达。感谢您的配合!
.
高二(7)班,不养闲人 不信?自己看 周建国: 说点别的吧: 如何证明隔壁洛谷运道算的不准: 虽然{\Huge {虽然}}虽然 但是{\Huge {但是}}但是 虽然没赚,但至少也没有大凶吧 (3.16) 大亏的一天...... (3.18) 说起来,你们的罐头开的怎样?欢迎评论讨论 好人,给点赞吧!\color{yellow}{好人,给点赞吧!}好人,给点赞吧! 再来个战争游戏吧(非本人制作): 再来一个吧,上一个有点不好玩(个人看法) 不要谢 欢迎*** 相关链接:寒假帖
首先,我是一个6年级的入,我有一个和我一起上C++的同学@克里斯蒂亚诺罗纳尔多看到了牛逼的人物,坐在我们隔壁桌的同学他在课上摸了2个月的鱼,就是为了攻破ACGO的防火网,别说,那人真成功了,直接把自己的罐头调到了800000个,又把商店里的货全买了一遍,据我同学说,那人已经被AC君封了9个号了.所以,AC君能不能直接让他的那个登录账号再改安全点,别让外桂登上平台
🛠️ C++ 发展历程 C++ 的历史可追溯到 1979 年 当时 BJARNE STROUSTRUP 在贝尔实验室为应对大规模软件开发的挑战,在 C 语言基础上增加了“类”的概念,起初称为“带类的 C”。1983 年,语言正式更名为 C++,名称中的“++”象征着在 C 基础上的进化。 1998 年首个国际标准 C++98 发布 确立了模板、异常处理和 STL(标准模板库)三大支柱,使 C++ 真正具备工业化能力。STL 提供的容器、算法和迭代器极大推动了泛型编程普及。2003 年的 C++03 属于小幅修订,主要修复标准文本。 2011 年的 C++11 是里程碑式更新 引入 AUTO类型推导、范围 FOR循环、右值引用与移动语义以及标准线程库,解决了旧版本编码繁琐,开启了“现代 C++”时代。 此后标准委员会进入每三年一版的节奏: C++14 完善了 C++11 的细节,增加泛型 LAMBDA 等功能;C++20 带来模块、协程、概念(CONCEPTS)等重大特性,再次提升了大型项目的安全性。最新的 C++23 则聚焦于标准库扩展。 四十多年来,C++ 始终坚持“零开销抽象”原则,在提供高级抽象的同时不牺牲底层性能,使其至今仍是游戏引擎、高频交易、嵌入式系统和高性能服务器等领域的核心语言。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 你还在看吗??? > 插播广告 > > > > 还不会C++吗?? 还在为没有C++道友儿着急吗,来我们团吧!!! > > > > > > > C++股份有限公司 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 咳咳咳,回归正题O( ̄▽ ̄)ブ🎉🎉🎉 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 📘 C++基础知识概览 对于 C++ 程序员而言,扎实的基础知识体系是成长的基石,以下进行梳理: 一、基础语法与数据类型 内置类型:掌握 int、float、double、bool、char等的基本尺寸与取值范围。理解有符号与无符号类型的差异,警惕整数溢出和浮点数精度问题。 变量与常量:熟悉变量声明、定义与初始化规则,理解 const关键字的作用,养成使用具名常量的习惯。 运算符:熟练运用算术、关系、逻辑、位运算及三元运算符,清楚优先级与结合律。 二、流程控制结构 分支语句:if-else及其嵌套用法,注意短路求值特性。switch-case语句适用于多路分支,谨记 break的重要性。 循环语句:熟练掌握 for循环(含传统的计数器模式与 C++11 的范围 for)、while和 do-while循环,懂得如何选择循环结构和控制循环终止。 三、函数与作用域 函数基础:理解返回值、参数传递(值传递、指针传递、引用传递)的区别,知晓局部变量与全局变量的作用域与生命周期。 函数进阶:了解函数重载(同名不同参)的原理,合理设置默认参数。理解递归思想的适用场景与限制。 四、复合类型与内存布局 数组与字符串:掌握静态数组、C 风格字符串的操作,了解其内存连续性。 结构体与类:使用 struct和 class聚合数据,理解成员变量与成员函数的区别,初步接触面向对象的封装思 想。 五、面向对象编程(OOP)核心 封装与访问控制:通过 public、private、protected控制成员的可见性。 继承与多态:理解基类与派生类的关系,了解虚函数是实现运行时多态的关键机制。 构造函数与析构函数:认识它们在对象创建与销毁时的作用。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 好啦,终于写完了,查了好多资料,能不能给一个精选,求求了! @AC君 不喜勿喷 hyw. 顶
本帖禁止刷罐头!!!!! 本帖禁止刷罐头!!!!! 本帖禁止刷罐头!!!!! 重要的事情说三遍!!!!! 简介 这篇文章讲的是异或运算,由于篇幅限制,有可能漏掉一些内容,请各位大佬谅解。 话不多说,正文开始! 异或运算简单介绍 异或是位运算,它的算法如下: 1.将两个运算数均转化为二进制。 2.分析两个二进制数的每一个相同位,如果相同,则结果的这一位是0,否则是1。 3.将这个二进制数转化为十进制,运算结束。 异或运算的符号是^。 我们用9^5这个实例来讲解以上文字内容: 1.9=1001(2)1001_{(2)}1001(2) ,5=0101(2)0101_{(2)}0101(2) ; 2.两数的最高两位不同,记为1,最低两位相同,记为0; 3.最后答案为1100(2)1100_{(2)}1100(2) ,即12。 最后结论:9^5=12 异或的性质1 异或运算满足交换律和结合律。 证明:异或运算也有另一种计算方式:将两个二进制数的相同位相加后模2。 由于加法满足交换律和结合律,同时将所有数模2加起来后模2与直接相加再模2是一样的,因此异或满足交换律和结合律。 异或的性质2 对于任何整数a,0^a=a,a^a=0。 证明:异或有4种运算法则: 1.0^0=0 2.0^1=1 3.1^0=1 4.1^1=0 第一个算式运用了法则1和2(0的二进制每一位都是0),第二个算式运用了法则1和4(相同数的二进制表示每一位都相同)。证明过程作者懒得写 有了这两个性质,我们就可以做出一些题目了,比如A92165.找筷子(提示:输入输出要用scanf和printf) 这里附上标程: 似乎好像是那一题的题解 如果你是来抄题解的,点这里和这里 拓展:异或交换数 想当年,作者在*谷有题做题的时候,发现了一道运用它的题目,所以我感觉有必要讲一下这个玩意。 先贴上代码: 以上代码就是用异或实现交换数的代码。 为什么这段代码是正确的呢?我们分3种情况讨论。 1.两个数的同一位均为1: 第一步后:a=0,b=1 第二步后:a=0,b=1 第三步后:a=1,b=1 2.一个数的一位是1(假设它是a),另一个数的这一位是0: 第一步后:a=1,b=0 第二步后:a=1,b=1 第三步后:a=0,b=1 3.两个数的同一位均为0: 第一步后:a=0,b=0 第二步后:a=0,b=0 第三步后:a=0,b=0 通过分类讨论,我们成功证明了以上代码的正确性。 这个代码在实际编程中并不常用(swap不香吗?),但是我们也要把它记住(因为考试有可能会考到)。 小结 这篇文章介绍的异或知识仅仅是作者目前了解的部分,如果有更简洁的证明,没有讲的知识,证明缺少细节或者语言表示不当的,欢迎在评论区补充。
这是一个招人通知: 团队名字:一个有实力的电脑团队 这个团队是个所有人设都不会感道自卑的团队。 现在进入团队,送文件管理员及其他好职位!!!!!!!!!!!!!!!!!!! 这里还有许多游戏!!!! 进入团队 当然,要感谢所有合作团!!! 望请各位大佬能进入我团。 求求了
不好意思,发帖晚了点 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 本帖子不禁止刷罐头 毕竟作为一个穷人 刷罐头的心理我很能体会 但希望点赞关注的大佬们都是有心的❤️ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 回归正题 先亮亮期末成绩吧(做好心理准备) 语文 (满分💯) 数学(满分💯) 99.5 100 英语 (满分💯) 科学(满分💯) 100 100 总分:399.5 对我而言这已经非常好了👍!\color{yellow}{对我而言这已经非常好了👍!}对我而言这已经非常好了👍! 说起来我们这放假是真的晚,2月4日才刚考完。对了,你们那是啥时候放的假呀,欢迎评论区讨论👏 成绩出来两天后,我妈就让我玩了switch,可惜打了一个宝主就被我妹抢走了 对了,我们社区有玩宝可梦的吗?有的话能不能给个小关小赞,一起聊,我会互的。Thankyou{\mathbf {对了,我们社区有玩宝可梦的吗?有的话能不能给个小关小赞,一起聊,我会互的。Thank you }}对了,我们社区有玩宝可梦的吗?有的话能不能给个小关小赞,一起聊,我会互的。Thankyou ༺ཌༀ未完待续ༀད༻{\Huge {༺ཌༀ未完待续ༀད༻}}༺ཌༀ未完待续ༀད༻
王一辰
测试一下评论区%%%
注册了一个新的洛谷号,发现实名认证的时候一个人不能用两次,炸了。 诶你说我能不能用我弟去实名 头像是新号的,感觉挺好看。
https://attach.acgo.cn/picture/5cf406ac0e0847d5b6ad7811c6f61508.png
大家觉得acgo里面谁是大佬呢
rt,使用 AI 发布多篇无意义内容。
状态压缩详细讲解 状态压缩是用二进制位表示状态,用位运算操作状态的算法技巧,核心是把复杂的集合/状态,压缩成一个整数(二进制),用极快的位运算替代循环/递归处理状态,是竞赛、面试(动态规划、DFS)的高频考点。 一、为什么需要状态压缩? 先看一个经典场景: > 有 nnn 个物品(n≤20n \le 20n≤20),每个物品有选/不选两种状态,要记录哪些物品被选中。 * 普通做法:用数组 bool vis[20] 记录,判断、修改都要循环遍历 * 状态压缩:用一个整数表示,比如 5(二进制 101)代表第0、2个物品被选 优势: 1. 状态存储省空间(一个整数存下所有状态) 2. 位运算速度是 O(1)O(1)O(1) 3. 适配动态规划的状态定义(dp[状态]) 不同情况下状态压缩的时间复杂度都比较大,因此建议数据 ≤20\le 20≤20时使用(也得分情况考虑) 适用场景:小范围状态枚举(n≤30n \le 30n≤30 用 int,n≤60n \le 60n≤60 用long long)。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 二、前置知识:必须掌握的位运算 状态压缩的所有操作,都基于这6种核心位运算,熟记符号、含义、用法: 运算 符号 规则 状态压缩中的作用 按位与 & 同为1才为1 判断位、保留位 按位或 | 有1就为1 设置位、合并状态 按位异或 ^ 相同为0,不同为1 翻转位 左移 << 整体左移,右侧补0 构造第k位的掩码 右移 >> 整体右移,左侧补0 获取第k位的值 按位取反 ~ 0变1,1变0 清空指定位 构造「掩码」(最基础操作) 掩码:只有第k位是1,其余都是0的二进制数,用于定位操作某一位。 注意:位运算下标从0开始(和数组一致)。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 三、状态压缩的5个核心操作 假设: * state:压缩后的状态整数 * k:要操作的第k位(从0开始) 1. 判断第K位是否为1 原理:与掩码做与运算,结果非0 → 该位为1。 2. 将第K位设为1 原理:或运算有1置1,不影响其他位。 3. 将第K位设为0 原理:掩码取反后,第k位是0,其余是1,与运算后清空第k位。 4. 翻转第K位(0变1,1变0) 原理:异或运算相同为0,不同为1。 5. 统计状态中1的个数(选中的数量) 作用:快速知道有多少个物品被选中、多少个城市被访问过。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 四、状态枚举:遍历所有可能的状态 当有n个元素时,总状态数 = 2ⁿ(每个元素0/1)。 遍历所有状态的模板: * state=0 → 全0(都不选) * state=(1<<n)-1 → 全1(都选) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 五、实战:3个经典案例(由浅入深) 案例1:子集枚举(打印N个元素的所有子集) 需求:n=3,元素{a,b,c},用状态压缩打印所有子集。 输出: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 案例2:旅行商问题(TSP,状态压缩DP) 这是状态压缩最经典的应用: > 有n个城市,从城市0出发,遍历所有城市恰好一次,求最短路径(n≤20)。 思路 1. 状态定义:dp[state][u] * state:压缩的已访问城市集合(二进制第k位=1表示访问过城市k) * u:当前所在城市 * 含义:访问完state中的城市,且停在u的最短路径 2. 初始状态:dp[1<<0][0] = 0(只访问城市0,在城市0,距离0) 3. 转移方程: 从城市u走到未访问的城市v: dp[state | (1<<v)][v] = min(dp[state | (1<<v)][v], dp[state][u] + cost[u][v]) 4. 答案:dp[(1<<n)-1][u](遍历所有城市,停在任意u的最小值) 核心代码模板 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 案例3:集合判断(A是B的子集?) * A是B的子集:(A & B) == A * A和B无交集:(A & B) == 0 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 六、状态压缩核心规则与技巧 1. 核心规则 1. 下标从0开始:位运算默认第0位对应第一个元素 2. 状态范围:0≤state<(1<<n)0 ≤ state < (1 << n)0≤state<(1<<n) 3. 数据类型: * n ≤ 20 → int(32位足够) * 20 < n ≤ 30 → long long(64位) 4. 时间复杂度:O(n·2ⁿ),n=20时 20*1e6=2e7,完全能跑过 2. 高频技巧 1. 去掉最低位的1:state & (state - 1) 例:6(110) & 5(101) = 4(100) 2. 获取最低位的1:state & -state 例:6(110) & -6 = 2(010) 3. 全1状态:(1 << n) - 1 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 七、常见误区 1. 下标搞错:把第1位当成第一个元素(必须从0开始) 2. 数据溢出:n>20还用int(必须换long long) 3. 初始化错误:DP数组没初始化为无穷大,导致结果错误 4. 状态遍历顺序错:必须从小到大遍历状态(依赖前序状态) ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 总结 1. 状态压缩 = 二进制表示状态 + 位运算操作状态,专门解决小规模状态枚举问题 2. 5个核心操作:判断、置1、置0、翻转、统计1的个数 3. 核心应用:子集枚举、状态压缩DP(TSP、棋盘DP) 4. 关键:位运算下标从0开始,状态范围0~(1<<n)-1 而且,状态压缩是 GESP 7级 爱考的知识点!
这道题是“我的刀盾”
上帝需要一个歌手 于是带走了姚贝娜 上帝需要一个保镖 于是带走了李小龙 上帝需要一个演员 于是带走了张国荣 上帝需要一个天后 于是带走了梅艳芳 上帝需要一个舞王 于是带走了杰克逊 上帝需要一个车手 于是带走了保罗 上帝要苹果手机 于是带走了乔布斯 上帝想吃肘击,便带走了科比
共30734条