竞赛
考级
A136 背包问题 谁能过呀 我写的不对吗?有没有人看下,一直没过 #include <iostream> #include <vector> using namespace std; int n, s; vector<int> weights; vector<int> path; bool found = false; void backtrack(int index, int current_sum) { } int main() { cin >> n >> s; weights.resize(n); for (int i = 0; i < n; ++i) { cin >> weights[i]; } backtrack(0, 0); if (!found) { cout << "NoAnswer!" << endl; } }
哦 来点好心人给我点点关注吧
有没有人关顾一下我的生意啊!!! 这是简介 求求了😍😍😍😍
谁懂啊!一天考了俩满分💯,激动地心颤抖的手直接去找浮木要“1+(是手机不是衣架)”了嘿嘿! 如果有数学题不会问我,但是我不会几何谢谢!😄😄
????????????????????????????????????????????????????????????????????????????????????????????????????????
关注我呗😜😜😜\huge{\color{red}{关注我呗😜😜😜}}关注我呗😜😜😜 关注的话直接奖励少羽拿筷子夹水泥\huge{\color{red}{关注的话直接奖励少羽拿筷子夹水泥}}关注的话直接奖励少羽拿筷子夹水泥
不知道为什么,总是有人盗我和我同学的号,希望那个人和大家们帮帮我找一下那些人。求求了
用一句话证明你是哈迷👧
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君能不能直接让他的那个登录账号再改安全点,别让外桂登上平台
这是一个招人通知: 团队名字:一个有实力的电脑团队 这个团队是个所有人设都不会感道自卑的团队。 现在进入团队,送文件管理员及其他好职位!!!!!!!!!!!!!!!!!!! 这里还有许多游戏!!!! 进入团队 当然,要感谢所有合作团!!! 望请各位大佬能进入我团。 求求了
不好意思,发帖晚了点 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 本帖子不禁止刷罐头 毕竟作为一个穷人 刷罐头的心理我很能体会 但希望点赞关注的大佬们都是有心的❤️ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 回归正题 先亮亮期末成绩吧(做好心理准备) 语文 (满分💯) 数学(满分💯) 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级 爱考的知识点!
共23256条