T1
題意:
題解:篩出1e6以內的質數,再用枚舉每個質數i,把【l,r】間的i的倍數都除掉i,
時間爲O(
代碼: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號點知道消息。問最多可以通知多少個點,以及此時最小花費。
題解:
考慮貪心,把線路按照權值排序,然後將每條線路按照權值合併,用並查集維護每個點所在集合以及最頂部的點。