原创 最短路問題的四種算法(Bellman-ford、SPFA、Dijkstra、Floyd)

Bellman-Ford算法 Bellman-Ford算法用來計算單源最短路。該算法可以處理邊權爲負的情況,同時可以判斷圖中是否有負權環。 鬆弛一條邊(u,v)即判斷能否通過u對v的最短路徑進行改進,如果可以,則更新d[v]。 鬆

原创 CCF 201909-2 小明種蘋果(續)

代碼 #include<iostream> using namespace std; int const MAX_N=1e3+7; int drop[MAX_N]; main() { int n,m,x,sum=0,

原创 CCF-CSP 題解索引

2019 CCF 201912-1 報數 CCF 201912-2 回收站選址 CCF 201912-3 化學方程式 CCF 201912-4 區塊鏈 CCF 201909-1 小明種蘋果 CCF 201909-2 小明種

原创 CCF 201812-3 CIDR合併 (90分)

樣例輸入 2 1 2 樣例輸出 1.0.0.0/8 2.0.0.0/8 樣例輸入 2 10/9 10.128/9 樣例輸出 10.0.0.0/8 樣例輸入 2 0/1 128/1 樣例輸出 0.0.0.0/0 分析 交上去就

原创 CCF 201803-2 碰撞的小球(100分)

問題描述   數軸上有一條長度爲L(L爲偶數)的線段,左端點在原點,右端點在座標L處。有n個不計體積的小球在線段上,開始時所有的小球都處在偶數座標上,速度方向向右,速度大小爲1單位長度每秒。   當小球到達線段的端點(左端點或右

原创 CCF 201809-3 元素選擇器(100分)

分析 把元素信息存在結構體裏,遍歷查找即可。 solve()中的pre向量記錄了當前匹配到的各個祖先元素的深度。 代碼 #include<bits/stdc++.h> using namespace std; struct

原创 CCF 201809-2 買菜(100分)

問題描述   小H和小W來到了一條街上,兩人分開買菜,他們買菜的過程可以描述爲,去店裏買一些菜然後去旁邊的一個廣場把菜裝上車,兩人都要買n種菜,所以也都要裝n次車。具體的,對於小H來說有n個不相交的時間段[a1,b1],[a2,

原创 CCF 201803-1 跳一跳(100分)

問題描述   近來,跳一跳這款小遊戲風靡全國,受到不少玩家的喜愛。   簡化後的跳一跳規則如下:玩家每次從當前方塊跳到下一個方塊,如果沒有跳到下一個方塊上則遊戲結束。   如果跳到了方塊上,但沒有跳到方塊的中心則獲得1分;跳到方

原创 CCF 201803-3 URL映射(100分)

問題描述   URL 映射是諸如 Django、Ruby on Rails 等網頁框架 (web frameworks) 的一個重要組件。對於從瀏覽器發來的 HTTP 請求,URL 映射模塊會解析請求中的 URL 地址,並將其分

原创 CCF 201809-1 賣菜(100分)

問題描述   在一條街上有n個賣菜的商店,按1至n的順序排成一排,這些商店都賣一種蔬菜。   第一天,每個商店都自己定了一個價格。店主們希望自己的菜價和其他商店的一致,第二天,每一家商店都會根據他自己和相鄰商店的價格調整自己的價

原创 CCF 201912-2 回收站選址(100分)

分析 每讀入一個點掃描其周圍8個點即可。每個點初始-20分,上下左右存在點雙方各加5分,四個角存在點雙方各加1分。這樣當上下左右四個點都存在的情況下得分爲四個角存在的點的個數。 代碼 #include<iostream> #

原创 CCF 201903-2 二十四點(100分)

分析 乘除的優先級高於加減,因此應該先計算乘除的部分,然後再將各部分加減起來。也就是將表達式先拆解成不含加減的子式,然後計算出各個子式的值累加起來即可。 用分治的策略比較簡單好寫,過程如下: 對於一段表達式,如果含有加減運

原创 CCF 201909-1 小明種蘋果(100分)

代碼 #include<iostream> using namespace std; main() { int n,m,x,id=0,num,sum=0,minn=0; cin>>n>>m; for(

原创 CCF 201909-2 小明種蘋果(續)(100分)

代碼 #include<iostream> using namespace std; int const MAX_N=1e3+7; int drop[MAX_N]; main() { int n,m,x,sum=0,

原创 CCF 201703-3 Markdown(100分)

問題描述   Markdown 是一種很流行的輕量級標記語言(lightweight markup language),廣泛用於撰寫帶格式的文檔。例如以下這段文本就是用 Markdown 的語法寫成的:   這些用 Markd