原创 求強連通子圖的方法以及簡單實現
剛學 其實操作很簡單 正向建立一個圖 跑一遍 標記上時間 然後反過來再跑一遍(注意有可能區域不聯通) 標記mark Korasaju algorithm #include <iostream> #include <al
原创 線段樹求逆序數
線段樹是一類非常有用的數據結構 這個可以體現到求解一組序列的逆序數上來 可以這麼想 我們求逆序數的時候,對於每一個數字都找前面比他大的數字的數目 例如 9 5 7 9這三個序列 我們先找5前面比5大的數字的個數 很明顯是9 有一個 我們繼
原创 最小生成樹算法
1.prim 類似於dijkstra 鬆弛就好 題目 51nod基礎題 無向圖最短生成樹#include <stdio.h> #include <
原创 dp tsp問題 海賊王之偉大航路
TSP問題是一個np問題 但是我們可以通過僞多項式算法來實現 就是用狀態壓縮dp dp[i][j]:i是目前已經走過的城市的狀態 j是在此狀態下最後一個到達的城市 dp[i][j]表示到此時的最小用時 如果狀態轉移不合法 設置爲 -1 那
原创 codeforces 364 div2.c 神代碼
標準的尺取 但是看到了一個寫的非常好的代碼 枚舉的右邊的邊界 維護最左邊一個的map數量是1 找最小答案就行了 學習了 真是語言之美#include <stdio.h> #include <stdlib.h> #include <st
原创 poj 3061 技巧
第一種方法 因爲是遞增序列 對於任何一個sum [i] 在 i到n之間二分找一下就可以了 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <strin
原创 找負環 bellman ford 算法
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <string> #include <iostream> #include <sstream> #in
原创 記憶化搜索簡介
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在dp的方面,記憶化搜索感覺不如遞推好用,這是肯
原创 dp 最佳加法表達式
有一個由1..9組成的數字串.問如果將m個加號插入到這個數字串中,在各種可能形成的表達式中,值最小的那個表達式的值是多少 思路 :這個問題我們不知道最優的加號放置方式 ,不妨可以從最後一個加號開始枚舉,每次枚舉一個之後記憶化遞
原创 dp 計數問題 複雜整數劃分 區間dp
百練的題目 : 讓我對dp有了新體會 這是記憶化搜索寫法 省了很多時間 並且狀態轉移的方式符合我們的認知 這個通過遞推很難發現關係 但是講區間搜索一下分解的話就可以計數了 並且在不影響結果的前提下自己規定了拿走數字的大小的方式和拿走的
原创 並查集操作
#include <stdio.h> #include <iostream> #include <algorithm> #include <string.h> #include <string> #include <sstream> #i
原创 線段樹掃描線 hdu1542 Atlantis
這幾天線段樹學習中,但是掃描線這一段一直沒寫出代碼來 努力了好幾天終於可以了 這裏是寫掃描線代碼需要注意的地方: 1.每次插入一條線段的時候 只有當該線段和該節點表示的線段恰好相等的時候,纔對mark標記一下,即使是區間包含插入的線段也要
原创 dfs的姿勢 儘量減少不必要的搜索
好長時間不做搜索了 ,雖然做了一個簡單的果斷tle 和別人代碼一比就看出高低了 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <string> #
原创 爲什麼長征五號遙三發射對中國航天如此重要
本文寫在長征五號遙三火箭發射之際,希望中國航天未來一片坦途。 長征五號發展歷史 長征五號立項於2006年,首次發射於2016年11月3日-半成功,因爲長征五號芯二級火箭發動機YF-75D提前關機導致推力不足,只有靠上面級多消耗燃料才能
原创 百練 1088 dp
1088:滑雪 查看提交統計提示提問 總時間限制: 1000ms 內存限制: 65536kB 描述Michael喜歡滑雪百這並不奇怪, 因爲滑雪的確很刺激。可是爲了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次