标题:帮忙写注释
只看楼主
yh3163
Rank: 2
来 自:虹口区
等 级:论坛游民
帖 子:102
专家分:50
注 册:2022-1-27
结帖率:93.75%
已结贴  问题点数:20 回复次数:7 
帮忙写注释
#include<bits/stdc++.h>
using namespace std;  
bitset<501000> H;//H为一个二进制数组,每个元素是一个0或者1
int n,s=0,x;
int main(){
    freopen("competition.in","r",stdin);//文件输入输出
    freopen("competition.out","w",stdout);
    cin>>n;
    H[0]=true;
    for(int i=1;i<=n;i++){
        cin>>x;
        s+=x;
        H=H | (H<<x);
    }
    int x=0;
    for(int i=1;i<=s;i++)
        if(H[i] && i <= s-i) x=i;
    cout<<x<<" "<<s-x<<endl;
    return 0;
}
请各位大佬写下注释,必有重谢
搜索更多相关主题的帖子: cin i++ int 注释 for 
2022-07-28 12:50
yh3163
Rank: 2
来 自:虹口区
等 级:论坛游民
帖 子:102
专家分:50
注 册:2022-1-27
得分:0 
题目如下
2022-07-28 12:58
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:20 
H每一位表示可能达到的重量;
假设当前可能达到的重量是 { 3, 5, 10 },这时又来了一个2斤的人,那新增可能的重量是 { 3+2, 5+2, 10+2 },此时可能达到的重量是 { 3, 5, 7, 10, 12 }

假如还不懂的话,你就拿几把直尺来模拟一下,以输入 { 1, 9, 2, 8 } 为例:
先在0cm处划一道线,此时直尺上有刻度的地方有 { 0 }
读入1后,把直尺上所有的划线向上复制1cm,此时直尺上有刻度的地方有 { 0, 1 }
读入9后,把直尺上所有的划线向上复制9cm,此时直尺上有刻度的地方有 { 0, 1, 9, 10 }
读入2后,把直尺上所有的划线向上复制2cm,此时直尺上有刻度的地方有 { 0, 1, 2, 3, 9, 10, 11, 12 }
读入8后,把直尺上所有的划线向上复制8cm,此时直尺上有刻度的地方有 { 0, 1, 2, 3, 8, 9, 10, 11, 12, 17, 18, 19, 20 }
最后,在{ 0, 1, 2, 3, 8, 9, 10, 11, 12, 17, 18, 19, 20 }这些刻度中挑选小于等于且最接近总重量一半的那个刻度



[此贴子已经被作者于2022-7-28 14:54编辑过]

2022-07-28 14:45
yh3163
Rank: 2
来 自:虹口区
等 级:论坛游民
帖 子:102
专家分:50
注 册:2022-1-27
得分:0 
额,听懂了,但注释怎么写啊
2022-07-28 15:48
yh3163
Rank: 2
来 自:虹口区
等 级:论坛游民
帖 子:102
专家分:50
注 册:2022-1-27
得分:0 
第十三行的代码不理解
2022-07-28 15:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
以下是引用yh3163在2022-7-28 15:50:17的发言:

第十三行的代码不理解

假设,此时H表示 { 3, 5, 10 },又来了一个 x = 2 的人。
H<<x 表示所有重量都提高2,即 { 3+2, 5+2, 10+2 } 即 { 5, 7, 12 }
H|(H<<x) 表示 { 3, 5, 10 } 与 { 5, 7, 12 } 进行合并,即 { 3, 5, 7, 10, 12 }
2022-07-28 18:28
yh3163
Rank: 2
来 自:虹口区
等 级:论坛游民
帖 子:102
专家分:50
注 册:2022-1-27
得分:0 
thankss
2022-07-29 10:41
yh3163
Rank: 2
来 自:虹口区
等 级:论坛游民
帖 子:102
专家分:50
注 册:2022-1-27
得分:0 
thank
2022-07-31 13:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-509669-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.312656 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved