NOIP2017多校聯測&提高組模擬23--A組

T1
題意:這裏寫圖片描述

題解:篩出1e6以內的質數,再用枚舉每個質數i,把【l,r】間的i的倍數都除掉i,
時間爲O(n2+n3+... )~O(NlogN) (N爲區間長度)
代碼:http://paste.ubuntu.com/25906707/

T2 、
題意:對於四個點組成的環,起點重點均爲2,給定下限K,要求路徑至少爲K且最小
題解:對於60分考慮揹包,而100分則用最短路的思想來做。
首先把起點連出去的邊,當做一個環,長度爲2w,顯然可以走完某些路徑回到起點後再沿着環刷。
用dis【i】【j】表示在第i個點,路徑長模2w爲j的最小值,跑一次最短路。
最後枚舉j,如果dis【i】【j】>K,直接更新答案,
否則加上2w的整數倍,找到第一個>=K的值,更新答案。
代碼:http://paste.ubuntu.com/25909074/
T3
題意:給定一棵樹,以及若干組線路(u1,v1,u2,v2,w),對於路徑u1~v1∪u2~v2,可以花費w的代價從一個點傳消息到另一個點。一開始只有1號點知道消息。問最多可以通知多少個點,以及此時最小花費。

題解:
考慮貪心,把線路按照權值排序,然後將每條線路按照權值合併,用並查集維護每個點所在集合以及最頂部的點。

代碼:http://paste.ubuntu.com/25909106/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章