摘要: P2616 --出题人大战工作人员 时间限制:1000MS 内存限制:131072KB 路 无 无 题目描述(fight.cpp) 邪恶的出题人在NOIP 夏令营的图论专场里出了一道丧题,他想要让可爱的小朋友们都被题目虐得惨惨的~ 这道题目是这个样子的: “小A拥有一个超大型的煤__________ 阅读全文
posted @ 2019-04-22 18:50 羊肉汤泡煎饼 阅读(208) 评论(0) 推荐(0) 编辑
摘要: P2510 -- The Number of Points in Shortest Path 时间限制:1000MS 内存限制:131072KB路 无 无 题目描述(points.cpp) 一张图有n个点,由m条带权无向边构成。对于两个点a,b你需要求出所有可能出现在a,b间最短路径上的点(包括a, 阅读全文
posted @ 2019-04-22 17:34 羊肉汤泡煎饼 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 首先要知道不能跑最短路,因為只有整2^k才能一秒到達,和倍增有關 所以我們想知道任意兩點間能否存在一條2^k長度的路徑,數據很小,可以考慮floyd 把倍增和floyd結合起來考慮發現如果i到k,k到j各有一條2^(k-1長的路徑,那麼i,j之間存在一條2^k長度的路徑 於是在更新一下實際時間,對時 阅读全文
posted @ 2019-04-19 21:25 羊肉汤泡煎饼 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 一道好題不出所料又抄的題解 1.首先對於這張圖肯定要考慮走哪些邊不走哪些邊,發現我們想要的肯定那些邊權最大的邊,所以想到最大生成樹 這樣能保證選到盡量大的邊 2.跑完最大生成樹后每兩點之間就有唯一路徑了,想要知道兩點間最小邊權,可以在LCA過程中求出(我竟然不會LCA),對lca做些許改動 阅读全文
posted @ 2019-04-19 20:27 羊肉汤泡煎饼 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 首先考虑最小生成树的模型,唯一不同的是第二种情形。 即“三个或三个以上的城市申请修建的公路成环” 考虑该情形,因为修路的申请是申请离它最近的城市,所以上述条件实质上为 “存在三个或三个以上的城市,他们两两间的最近城市连起来成环” 而题目保证有唯一解,所以第二种不存在 double的5000*5000 阅读全文
posted @ 2019-04-19 19:47 羊肉汤泡煎饼 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 果然又抄的題解... 顯然答案具有單調性,而對于平均數計算的式子我們移一下項, 若s[l..r]>mid*(r-l+1)无解, 於是我們把每個數都減去一個mid,看和的正負即可,如果為正就可能有更大的平均數, 求子串和最大值可以用單調隊列維護, 阅读全文
posted @ 2019-04-18 21:29 羊肉汤泡煎饼 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 大水題然而因為智障的錯誤调了半天......n,m别反着输入啊......內外循環和狀態數都不等價 别的就是記錄一下每一行不可行的點,也狀壓一下,dp的時候判一下即可 阅读全文
posted @ 2019-04-18 21:20 羊肉汤泡煎饼 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 對於每個強聯通分量,這些牛一定都互相喜歡,所以縮點(我也不知道怎麼想到的) 接下來就是統計答案,最後縮成了一個DAG圖,如果這個點是明星的話,其他每個點一定直接或間接的鏈接這個點 也就是說其他點一定有出度,把關係傳遞給其他點了,如果某個點沒有出度,那麼這個點沒有傳遞出他們的愛慕關係, 如果存在多個這 阅读全文
posted @ 2019-04-18 18:28 羊肉汤泡煎饼 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 雖然是裸題但是仍然沒有看出來...... 1.每個人都對應一張床(可以的話),這樣把人和床看成點,對應關係就是邊,跑最大匹配看匹配數量夠不夠即可 2.連邊條件:如果一個學生且不回家,那麼他可以睡自己的床,向自己的床連邊 如果外來人且認識一個回家學生,那麼他可以睡學生的床,向學生的床連邊 阅读全文
posted @ 2019-04-17 17:56 羊肉汤泡煎饼 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 是一道歐拉路的題竟然沒看出來...... 把每種顏色看成一個點,每根木棍看成一個邊,即相同顏色在圖中接好合併成了一個點, 問題轉化為了求是否存在歐拉路 如果用map會超時,所以可以用字典樹實現離散化/哈希,unordered_map需要c++11 注意判斷圖是否聯通,用并查集即可 阅读全文
posted @ 2019-04-17 17:31 羊肉汤泡煎饼 阅读(105) 评论(0) 推荐(0) 编辑