原创 icpc南昌邀請賽網絡賽 I-Max answer

題目鏈接:I-Max answer 題目大意:給出n個數,求得一個區間使得該區間最小的數乘上該區間所有數的和最大,即,輸出該結果。注意:a[i]可爲負。 思路:若a[i]全爲正,可參考poj2796,單調棧的經典應用。具體來考慮單調棧的作

原创 BAPC2018 K-Kingpin Escape(Gym - 102007K)

題目大意:給你一棵樹,求出最小的連接方法使得切去任意一條邊能從任何點回到根。 題解: 結論1:每個度數爲一的點至少連一條邊 結論2:連接 i 和 i + 葉子節點個數的上取整可以保證不存在只在一顆子樹內連邊的情況 官方給的題解就是對n個葉

原创 牛客多校(一)F.Random Point in Triangle

題目鏈接:F.Random Point in Triangle 題目大意:在三角形ABC中隨機的選取一點P,連接P與各個頂點構成三角形ABP,ACP,BCP。需求出一個期望,其中爲三角形XYZ 面積。程序輸出,結果一定爲整數。 思路(一)

原创 牛客多校(一)B.ntegration

題目鏈接:B.ntegration 題目大意:已知,計算。 思路:考慮到在《信號與系統》這門課中才學過 其中 而在本題中就可令  即原式等=。 其中 接下來就是求逆元得操作,代碼裏看 代碼: #include <cstdio> #i

原创 BAPC2018 G-Game Night

題目大意:給出一個只有A,B,C組成的字符串(環狀),問:要使字母相同的聚在一起,至少需要多少個字母交換位置。 思路:最終字符串的結果一定是A,B,C的全排列,共6種A..AB..BC..C,A..AC..CB..B等,但考慮到字符串成環

原创 Codeforces Round #548 (Div. 2) D. Steps to One

題目鏈接:Codeforces Round #548 (Div. 2) D. Steps to One 題目大意:一個數列,一開始是空的,每次往他最後一個位置隨機的加上一個[1,m]範圍內的數字,然後對當前數列所有的數字求gcd,如果gc

原创 Codeforces Round #547 (Div. 3):F. Same Sum Blocks

題目鏈接(hard版):F2. Same Sum Blocks (Hard) 題目大意:給你一個序列,讓你再其中選出若干個子區間(l1,r1),(l2,r2),…,(lk,rk),且子區間沒有交集,每個子區間的權值和相等。問取出最多區間的

原创 bzoj 4428: [Nwerc2015]Debugging

題目鏈接:Debugging(cf上鍊接) 題目大意:(援引大佬博客的翻譯和題解) 你看中的調試器將不會在這件事上幫助你。有代碼可以通過多種方式在調試與正式發佈的間隙發生不同的行爲,當出現這種情況,我們可能不得不求助於更原始的調試方式。

原创 Codeforces Global Round 1 D. Jongmah

題目鏈接:D. Jongmah 題目大意:一些數字,有兩種方式組成一個三元組(三角形),[x,x,x],[x,x+1,x+2],(刻子或順子)每個數字只能用一次,求最多組成多少三元組。 思路:顯然3個順子和3個刻子對結果的貢獻一樣,即3組

原创 Hello 2019 D. Makoto and a Blackboard(積性函數,概率DP)

題目鏈接:Hello 2019 D. Makoto and a Blackboard 題目大意:給你一個N,定義一個操作:將N替換爲他的一個因子(包括1和N),現在重複K次以上操作,問最後期望的值是多少? 思路:顯然是一道概率DP。我們先

原创 暑訓day12&13&14 dp

動態規劃,即dp,它可是算法競賽的重中之重呀。dp不僅僅是一類題型,更是一種思維方式,將其融入在其他算法中會有意想不到的效果(比如floyd上跑dp等 dp大概劃分爲以下幾類 簡單的DAG上的動態規劃 揹包問題(cty的揹包九講 lcs&

原创 暑訓day11 搜索進階

上個專題網絡流只勉強看懂了EK,Dinic並沒有入手(不過看起來二者差不太多),題也就做了兩道,網絡流的總結之後再說吧。  這一天黃大佬講了搜索,才發現簡單的dfs,bfs外還有這麼niupi的算法。 首先認識清楚一件事,“搜索”大多是暴

原创 Codeforces Round #506 (Div. 3) C(區間交集中的前綴後綴思想)

題目鏈接:Codeforces Round #506 (Div. 3) C 題目大意:給n個區間,至多可以去掉一個其中一個區間,最終使得剩下所有區間交集的長度最大,即max(r-l)。且當l==r或交集爲空集時,區間長度爲0。 初步想法很

原创 2018 ccpc 網絡賽總結及部分題解

參加的第一場正兒八經的ACM比賽,從頭到尾連開五題最終除了1004簽到之外全部涼涼。總結一下,在做題策略上還是不要過於長時間一個人生懟一道題,要注重團隊合作的意識,除此之外,能力還是差很多,做題量遠遠不夠,對模型的分析和轉化能力待加強。

原创 暑訓day8 生成樹相關

瞭解各類生成樹之前,先花了半天研究最小生成樹和構造他的prim算法。 大體講prim算法的建樹過程類似貪心,每次都選最小邊,只不過選的基準在變,不能用傳統的貪心來做,prim在貪心的同時要不斷更新周圍邊的權值大小,從而構造出最小生成樹。