#34033: 想法分享


dfd8282@gmail.com (fishhh)

學校 : 嘉義市私立嘉華高級中學
編號 : 99760
來源 : [140.114.216.99]
最後登入時間 :
2024-10-27 14:56:56
b116. TOI2008 3. 加減問題 -- 2008TOI研習營初選 | From: [36.236.25.140] | 發表日期 : 2023-02-24 23:25

我是用 bitset 來寫的,雖然題目沒寫 我就先估測資最大總和是 50000 那可以知道 全部插入加減後的最大最小值分別就是正負50000

所有數平移50000 讓他全部都是正的

然後在bitset[50000]=1

每次經過一個就把他分別往左移右移 這樣就可以知道了

bitset<101015> bs,temp;

bs[50000]=1;

            for(int i=1;i<=n;i++){
                temp = bs>>ary[i];
                bs = bs<<ary[i];
                bs|=temp;
            }
 
ZeroJudge Forum