洛谷p1466 集合 subset sums
這題可以看成是揹包問題
用空間為 1--n 的物品恰好填充總空間一半的空間 有幾種方案
01 揹包問題
1、注意因為兩個交換一下算同一種方案,所以最終 要 f [ v ] / 2
2、要開 long long
1 #include 2 #include 3 #include 4 #include 5 #include6 #include 7 #include 8 #include 9
#define ll long long
10using
namespace
std ;
1112
intn,v ;
13 ll f[801
] ;
1415
intmain()
16
24 v/=2
; 25 f[ 0 ] = 1;26
for(int i=1;i<=n;i++)
27for(int j=v;j>=i;j--)
28 f[ j ] = f[ j-i ] +f[ j ] ;
29 printf("
%lld\n
",f[ v ]/2
) ;30
return0;
31 }
洛谷P1978 集合
題目鏈結 顯然,我們是要把資料先排序的,然後從大到小列舉每個數,看是否能選上,能選就選,不能拉倒 若能,二分查詢a i k,若查詢成功,ans 將a i k標記為不能選擇 最後輸出答案即可 從小到大列舉會爆long long 1 include2 include3 include4 include5...
洛谷P1491 集合位置
每次有大的活動,大家都要在一起 聚一聚 不管是去好樂迪,還是避風塘,或者湯姆熊,大家都要玩的痛快。還記得心語和花兒在跳舞機上的激情與釋放,還記得草草的投籃技藝是如此的高超,還記得狗狗的槍法永遠是 s 還有不能忘了,胖子的歌聲永遠是讓我們驚叫的!今天是野貓的生日,所以想到這些也正常,只是因為是上學日,...
洛谷P1491集合位置
題目鏈結 就是求第乙個點到第n個點的次短路 第一次spfa用前驅記錄最短路 第二次spfa刪去最短路中的一條邊 記錄前驅開乙個pre陣列,在每次鬆弛操作時,如果d i 被更新就pre i j 表示當前到第i個點的最短路中,j是i的前驅節點 主函式中,從第n個點開始,即i n,不斷地進行找前驅i pr...