原创 洛谷P4568 飛行路線 最短路k條免費

題目鏈接:https://www.luogu.org/problem/P4568 不管是k條免費還是半價都可以做~~~ 兩種方法: 1.分層建圖(但這種方法建圖複雜度有點大) 就是幾條免費建層圖,每一層都有對應關係,層與層之間是也是對應關

原创 bitset 用法

#include<bits/stdc++.h> using namespace std; int main() { /********************重要操作*******************/ /* a.size

原创 Path HDU6582

補題:跑兩個最短路取出最短邊跑最小割,全是模版,最短路初值附小了,找了好久的bug #include<stdio.h> #include<string.h> #include<string> #include<iostream> #in

原创 洛谷 P3302 [SDOI2013]森林 主席樹+啓發式搜索

click here~:https://www.luogu.org/problem/P3302 emmm這個題是真的煩 一看題發現這題不是count on a tree的升級版麼 如果一點思路沒有的話還是先做那個題比較好 這個題多了一個條

原创 LightOJ - 1038 Race to 1 Again 基礎期望概率 dp

傳送門 剛剛學習期望&概率 我們設數X的期望改變次數爲P[X] 如果要求X的期望,很容易想到找x的因子; 可以得到下式  ,cnt爲X因子個數,ai爲X的因子 可以這麼理解,當因子ai爲1時,因爲除於1不改變其期望值,上式上邊分子部分爲1

原创 拓撲排序和並查集

  一、什麼是拓撲排序 在圖論中,拓撲排序(Topological Sorting)是一個有向無環圖(DAG, Directed Acyclic Graph)的所有頂點的線性序列。且該序列必須滿足下面兩個條件: 每個頂點出現且只出現一次。

原创 POJ - 3186 Treats for the Cows DP

傳送門 乍一看與cf的某道題很相似,做了半天的貪心,然後是個二維dp。 這道題難的點在於你無法從最先取的值推到最後取的值,只能從內往外推。如果能看出來這點,其實就不難,但是很難想。 一開始dp[i][i]記錄以該點爲最後取的數,然後將長度

原创 POJ - 1661 Help Jimmy DP

題目鏈接 題意:題意很明瞭,就是求從最高點最短多長時間到達地面,從板上的移動與空中下落的速度都是1; 做法:我們首先將所有的板子與起點按照,左、右端點,高度存起來,按照高度升序。 然後dp,設dp[i][0]是從某一塊板子左端點到地面的最

原创 Roundgod and Milk Tea 貪心

這個題好像可以用一種類似與置換的貪心方法來做~ sum記爲剩餘奶茶,一開始sum等於奶茶和 ans記錄已經喝的奶茶數 不用排序,我們就從前往後直接處理,考慮的是每一個班最多可以喝多少杯奶茶 就是從剩餘的奶茶裏邊減去本班的奶茶數(不讓喝自己

原创 奶牛排序 cow sort 置換羣

鏈接:https://ac.nowcoder.com/acm/contest/924/H 來源:牛客網 題目描述 農夫JOHN準備把他的 N(1 <= N <= 10,000)頭牛排隊以便於行動。因爲脾氣大的牛有可能會搗亂,JOHN想把牛

原创 P2216 理想的正方形 單調隊列 (二維)

題目鏈接:https://www.luogu.org/problem/P2216 題意:求給定n*m的矩形中所有k*k的正方形塊中最大值最小值之差(極差)最小 哇,大神的思路真的很帥 單調隊列對每一行求一個k項最大最小 用X[i][j]表

原创 P2114 [NOI2014]起牀困難綜合症

題目鏈接 做這個題一開始毫無思路,看了題解後才發現一個很巧妙的解法 簡而言之就是他是一道位運算的題,題目所示的三種操作 都是位運算,他們就是某一位直接的運算都是獨立的 就我們假設答案二進制形式的某一位爲0,那麼他可能經過運算變成1或者不變

原创 P1160 隊列安排 鏈表

題目鏈接 因爲有很多刪除與插入的操作,所以用鏈表是最好的方法。一道基礎的鏈表題,用stl自帶的鏈表解決,第一次使用,記錄迭代器下標還是第一次見到-。- #pragma comment (linker,"/STACK:102400000,

原创 圖論基本知識

1.圖的表示 對於一個圖(graph)G=(V,E)由頂點集V(vertex)和邊集E(edges)組成。每一條邊就是一個點對(u,w),其中u、w屬於V。 邊:單向邊,雙向邊 權值:有點權,邊權 2.一般做法 建圖+算法   3.建邊