原创 二分實數總結

總結 二分這個算法就不說了,直接上一個題目吧,二分實數看算法競賽指南上的題解勉強看懂,這題主要是讓我求一個一個數組之中大於L長度的最大平均數。 書上大概都有,我就簡單說下單調性吧。任意數列減去自己的平均數後總和爲0如果一個數字小於

原创 素數判定 歐拉篩

歐拉篩證明: 首先介紹一下算術基本原理:x=p1e1∗p2e2∗p3e3x=p_1^{e1} * p_2^{e_2} * p_3^{e_3}x=p1e1​∗p2e2​​∗p3e3​​…(p爲質數,e爲正數,x爲任意不爲1的正整數)

原创 CF1341D

題目鏈接 題意的話給出了n個01串,1代表該位置是亮的,我們必須把m個位置變亮後且都是數字。求能組成的最大數字。每個位置代表的地方看題目給的圖吧。 思路 明顯的dp題,我們假設dp[i][j]dp[i][j]dp[i][j]表示前

原创 codeforces1343F

這道F題說句實在的,題意能把人看蒙了,看懂了倒是挺簡單的,反正我一開始把題意看難了。 題目 題目大意 存在一個長度爲nnn的排列aaa,然後給出n−1n-1n−1個子排列,其中每個子排列的元素爲[al,al+1,...,ar][a

原创 鏈式前向星入門

鏈式前向星一、概述二、代碼三、總結 一、概述 鏈式前向星是一種用於存圖的數據結構,與鄰接矩陣和鄰接表有着明顯區別,他不會像鄰接矩陣一樣對於空間的極大浪費,同時也比鄰接表更加適合用於深度優先搜索和廣度優先搜索。它是一種在時間和空間上

原创 差分約束

差分約束 hhh,這幾天病毒感染,真的不敢亂溜達,乾脆狂寫blog算了,hhh 一般形式 差分約束題一般是給出大量的一些不等式 ai−bi≤x→ai≤x+bia_i-b_i\leq x \rightarrow a_i\leq x

原创 zoj2770

題目鏈接 題意大概就是給我們nnn個營地,c[i]c[i]c[i]表示第iii個營地最多的人數,第uuu-第vvv個營地一共有www個人。問最少有多少人。 對於這種題型,我們一般做法是首先確定一個數組表示前面iii個營地的總人數

原创 擴展歐幾里得入門

青蛙的約會 經典擴歐板子題,稍微注意一點就可以A了,之所以要寫呢,是因爲發現這題在洛谷上的數據比較強,讓人自閉。 方程大家應該都找的到吧,我也就不提了,直接說坑點,就是如果gcd之中如果有一個參數爲負數的話,最後的結果符號會出現問

原创 洛谷P4568 分層圖最短路

分層圖最短路入門 洛谷P4568 分層圖板子 首先講一下題意吧,首先給n個點,m條邊,然後再給兩個點p,q,要求從p點走到q點時在最多省k條邊的情況下所要走的最短的路程。 分析 很明顯就是最短路的一種變式,但是由於有k條邊可以

原创 manacher(馬拉車算法)

manacher 用法O(n)求最長迴文子串 對於迴文串有兩種情況: 對於中間一個元素對稱; 對於中間一個空格對稱; 爲了兩種情況的適應性,我們可以把他們總結歸納以下,對於第二種的我們直接加入一個不存在的元素表示空格,對於第一種

原创 codeforces 466c

題目鏈接 題意 給定一個序列,問有多少種方案可以將此序列分割成3個序列元素和完全相同的子序列。(子序列不能爲空)。即問有多少個點對(i,j)滿足a[1]+...+a[i−1]=a[i]+a[i+1]+...+a[j]=a[j+1]

原创 poj 2912

並查集+擴展域好題 題意有點模糊,意思是這裏有三種人和一個判官在猜拳,每一種人只能出一種手勢,這裏面有一個判官可以隨意改變自己的手勢!給定m個回合判斷,問判官是誰。能知道就輸出最快能在第幾回合清楚,如果多了就輸出“Can not

原创 codefores 817B

題目鏈接 題意: 給定一個數列 a 包含 n 個正整數。現在可憐想要統計三元組 (i,  j,  k) (i < j < k)的個數,滿足 ai·aj·ak 是整個數列所有三元組中最小的。 題解: 顯然就是簡單的排個序然後計算一下

原创 簡單的容斥原理

容斥原理:奇加偶減 hdu2588 本以爲只要求一下GCD就行了。。。結果果然是我天真! 由題可知兩個數裏面有一個已經被固定了,那麼他的gcd一定是n的一個因子,所以我們可以把n的所有因子全部找出來,排序以後直接找大於m的所有因子

原创 最小生成樹cf1245D

傳送門 簡單講解一下題意:在一個二維座標上有n個城市(座標表示),每個城市可以選擇自己供電花費b[i],也可以選擇來自其他城市的電花費c,求最小花銷,每一個供電的城市序號以及連接路徑! 賽時 腦子:我會了,快寫,趕緊的! 手:不,