洛谷P1978 集合

2022-05-05 21:18:08 字數 614 閱讀 2756

題目鏈結

顯然,我們是要把資料先排序的,

然後從大到小列舉每個數,看是否能選上,

能選就選,不能拉倒

若能,二分查詢a[i]/k,若查詢成功,ans++

將a[i]/k標記為不能選擇

最後輸出答案即可

(從小到大列舉會爆long long)

1 #include2 #include3 #include4 #include5

using

namespace

std;

6#define n 100010

7#define int long long

8int

n,k,a[n],ans,maxx;

9bool

not_ok[n];

10#undef int

11int

main()

12#define int long long

1328

if(a[l]==a[i]/k) not_ok[l]=1;29

}30 printf("

%lld\n

",ans);

31return0;

32 }

洛谷P1491 集合位置

每次有大的活動,大家都要在一起 聚一聚 不管是去好樂迪,還是避風塘,或者湯姆熊,大家都要玩的痛快。還記得心語和花兒在跳舞機上的激情與釋放,還記得草草的投籃技藝是如此的高超,還記得狗狗的槍法永遠是 s 還有不能忘了,胖子的歌聲永遠是讓我們驚叫的!今天是野貓的生日,所以想到這些也正常,只是因為是上學日,...

洛谷P1491集合位置

題目鏈結 就是求第乙個點到第n個點的次短路 第一次spfa用前驅記錄最短路 第二次spfa刪去最短路中的一條邊 記錄前驅開乙個pre陣列,在每次鬆弛操作時,如果d i 被更新就pre i j 表示當前到第i個點的最短路中,j是i的前驅節點 主函式中,從第n個點開始,即i n,不斷地進行找前驅i pr...

洛谷P1491集合位置

這個題說白了就是求乙個次短路。方法是我們先跑一遍最短路,記錄下最短路上每乙個點的前驅。然後我們將最短路上每一條邊都標記一次,分別跑一邊最短路,求出最短路徑即可。在這我們不用特殊判斷是否是第二條次短路還是最短路。因為我們求出的 ans 是乙個最小值。include include include in...