原创 hdu5875 Function

題意:一個區間,m次詢問(l,r),求a[l]%a[l+1]%...%a[r] 題解:比賽時候,想到的是二分線段樹,說了以後,學弟說可能會退化,當時沒多想,其實仔細想想,構造不出來那樣的數據吧,線段樹常數比較大,看到隊友用RMQ,常數小

原创 Codeforces 678E Another Sith Tournament(狀壓dp,概率dp)

題意:n個人的擂臺賽,起初主角選一個人作爲擂主,然後主角選擇人上去打擂,直到剩最後一個人,並且主角是擂主,問最後主角是擂主的概率最大是多少 題解:dp[i][j]表示i狀態下,j是擂主,最後主角勝出的概率             dp[i

原创 hdu5726 && hdu5869

hdu5726 GCD 題意:n個數,q次詢問,每次詢問給出(l,r),問區間的gcd,並且有多少個區間和這個區間gcd相同 題解:求區間啊gcd比較簡單,直接線段樹就可以,怎麼求有多少個區間呢?             假設知道了處理到

原创 codeforces716c Plus and Square Root

題意:賊長,初始2,第i次操作時,可以連續加好多次i,當到達某一個完全平方數時,開更,開更後必須滿足膜(i+1)==0,求每次操作需要加多少次i 題解:根據題意 a[i] + ans[i] * i = a[i+1] * a[i+1]   

原创 hdu5894 hannnnah_j’s Biological Test

題意:m個人需要坐在有n個座位的圓桌上,使得任意兩個人之間距離至少爲k,座位都不相同,人可以看做相同 題解:可以想象成每一個人後面至少跟着k個座位            當一個人的位置確定以後,就變成了sum = C(n - 1 - m

原创 hdu5876 Sparse Graph

題意:給2e6的點,2e5的邊,求補圖中,單源點到所有點的最短路 題解:比賽時候,沒有仔細考慮這個,發現其實挺水的             邊少的,一半是用bfs             維護兩個set,set1中,記錄的是,沒有處理的點

原创 codeforces714e Sonya and Problem Wihtout a Legend

題意:一串數字,要求變成嚴格的上升子序列的最小花費,花費爲abs(a-temp) 題解:做這題之前,可以先去做做hdu5256            考慮兩個位置i,j(i<j)的數a[i]和a[j],要是嚴格上升,那麼肯定有a[j] -

原创 hdu5900 QSC and Master

題意:n<=300  對數a[i]和b[i],如果相鄰的a(a[i] 和 a[i+1])的gcd不等於1,那麼就可以得到b[i] + b[i+1],然後就可以去掉這一對,然後他們兩邊的合併起來,問最後最大可以得到多大 題解:很明顯,區間d

原创 概率dp

來寫一個概率dp專題 light oj 1027 有n個門讓你選,每個門有一個數字,正數代表x分鐘後出去,負數代表x分鐘後回到起點重新開始 然後問你出去的時間期望是多少分鐘 如果是一個正數,那麼x分鐘後就可以出去,如果是一個負數,那

原创 codeforces 545D. Queue

題意:給你一個序列,如果這個數比他前面所有數字的總和大於等於,那麼他就是開心的,否則就是不開心,讓你重新更改順序,使開心的人最多 題解:首先,排序,對於開心的,留下來,不開心的,扔到最後,這還可能使後面開心的變多。int a[100010

原创 hdu5898 odd-even number

題意:問(l,r)內,連續的奇數有偶數位,連續的偶數有奇數位,有多少這樣的數字 題解:數位dp,注意前導0就可以 LL dp[20][20][2][2]; int wei[20]; ///weishu表示處理到了第幾位,pre代表前一

原创 51nod 1714 B君的遊戲

題意:玩兒遊戲,可以把一個數x變成xi,xi&x == x,問先手能不能贏 題解:這個轉換,也就說把x變成二進制後,只能在原來有1的位置上寫1,並且,至少有一位不寫1           很容易想到,一個數的sg值,只跟這個數的二進制有多

原创 poj3213

    傳送門 http://poj.org/problem?id=3213     題目大意:兩個矩陣(N<=1000)相乘,只有一個地方可能出錯,問是否有錯,並修改。     矩陣乘法最低複雜度就是N^3的啊,要計算每一個的話,妥妥超

原创 2016 Multi-University Training Contest 2

hdu5734 Acperience 題意:說了一大堆,求求和(wi - x * bi),使和最小,wi已知,x非負數,bi取-1或1 題解:列出二次方程,初中知識各種變就行           最後答案是(n * 求和(wi^2) - 

原创 hdu5901 Count primes (計算1-1e11內有多少素數)

題意:計算1 ~ n內有多少素數(n < 1e11) 題解:剛開始心想分段打表,結果跑了好久,沒出結果,放棄            結果是Meisell-Lehmer,從來沒聽過,做爲模板吧             詳情https://e