原创 BZOJ2721: [Violet 5]櫻花(洛谷P1445)

數學 BZOJ題目傳送門 洛谷題目傳送門 來因式分解。 1x+1y=1n!xy−n!(x+y)=0(x−n!)(y−n!)=(n!)2 \frac1x+\frac1y=\frac1{n!}\\ xy-n!(x+y)=0\\ (x-

原创 BZOJ1296: [SCOI2009]粉刷匠(洛谷P4158)

DP BZOJ題目傳送門 洛谷題目傳送門 我連揹包都不會了 做兩遍DP,第一遍求出每一行刷kkk次分別最多能刷對多少個格子。第二遍就把第一遍的當作分組揹包來選物品就好了。 設f[i][j]f[i][j]f[i][j]表示當前這行做

原创 NOIP2018爆炸記

感覺一年啥都沒學 Day 0 今年去學車考啊,從沒去過學車的我感到瑟瑟發抖。而且大部分都是用筆記本考的,感覺很舒服。 早上10點出發,車上一直在看昨天FQY安利給我的番(平生第一次看番好雞凍),不知不覺就到杭州了。在賓館裏頹到4點去學

原创 codeforces Gym 101623 F(BZOJ5200)

啓發式分治 BZOJ題目傳送門 codeforces題目傳送門 題目大意: 有一種二叉樹,每個節點有權值 ,並且滿足它與所有祖先的權值互質。現在給出一個序列,問這個序列是否是一棵這種樹的中序遍歷。 還有啓發式分治這種操作。。。 顯然如

原创 BZOJ4059: [Cerc2012]Non-boring sequences

線段樹 題目傳送門 這道題正解是啓發式分治,不過線段樹也能做。 和這道題很像,同樣記一個nxt[i]nxt[i]nxt[i]表示a[i]a[i]a[i]下一次出現的位置,枚舉左端點,撤銷[i,nxt[i]−1][i,nxt[i]-1]

原创 codeforces 992E. Nastya and King-Shamans

樹狀數組 二分 題目傳送門 題目大意: 維護一個數列,每次操作爲先修改一個數,再詢問是否存在一個位置iii滿足w[i]=sum[i−1]w[i]=sum[i-1]w[i]=sum[i−1]並輸出這個位置。 妙蛙 問題要求出滿足 Ax

原创 codeforces 1067A. Array Without Local Maximums

DP 題目傳送門 題目大意: 有一個數列,滿足a1≤a2,an≤an−1,ai≤max(ai−1,ai+1)a_1\leq a_2,a_n\leq a_{n-1},a_i\leq max(a_{i-1},a_{i+1})a1​≤a2​

原创 codeforces 999F. Cards and Joy

DP 題目傳送門 題目大意: 有nnn個人n∗kn*kn∗k張卡片,每個人都要分到kkk張卡片。卡片上有數字,每個人也有一個數字,當一個人分到iii張和他的數字一樣的卡片時會有h[i]h[i]h[i]的貢獻,求最大貢獻。 設g[i][

原创 codeforces 700B. Connecting Universities

貪心 題目傳送門 題目大意: 一棵樹上有2k2k2k個關鍵點,把這些關鍵點兩兩配對,貢獻爲配對點的距離之和。求最大貢獻。 樹上兩點之間的距離爲dep[x]+dep[y]−2∗dep[lca(x,y)]dep[x]+dep[y]-2*d

原创 codeforces 1066E. Binary Numbers AND Sum

前綴和 題目傳送門 瘋狂划水 題目大意: 兩個很大的二進制數a,ba,ba,b,每次把答案加上a&ba\&ba&b並把bbb左移一位。求最終答案。 考慮aaa的每一位對答案的貢獻。如果這一位是000沒有貢獻,否則貢獻爲

原创 BZOJ2662: [BeiJing wc2012]凍結(洛谷P4822)

分層圖最短路 BZOJ題目傳送門 洛谷題目傳送門 同這道題,稍微改一改就好了。 代碼: #include<queue> #include<cctype> #include<cstdio> #include<cstring> #incl

原创 codeforces 165E. Compatible Numbers

高維前綴和 題目傳送門 學了一發高維前綴和。 一般我們求多維前綴和是用容斥的,但是當維度很高時會很煩,這時就要用另一種求前綴和的方法。 打個比方,假設我們要求二維前綴和: for (int i=1;i<=n;i++) for

原创 洛谷P3522 [POI2011]TEM-Temperature(BZOJ2276)

單調隊列 洛谷題目傳送門 BZOJ題目傳送門 單調隊列維護最低溫度遞減的序列,同時保證隊頭的最低溫度低於隊尾的最高溫度就好了。 代碼: #include<cctype> #include<cstdio> #include<cstrin

原创 BZOJ1260: [CQOI2007]塗色paint(洛谷P4170)

區間DP BZOJ題目傳送門 洛谷題目傳送門 設f[l][r]f[l][r]f[l][r]爲塗[l,r][l,r][l,r]需要的最少次數。那麼若左右端點的顏色相同,則有f[l][r]=min(f[l+1][r],f[l][r−1])

原创 BZOJ1139: [POI2009]Wie(洛谷P3489)

最短路 狀壓 BZOJ題目傳送門 洛谷題目傳送門 設f[i][s]f[i][s]f[i][s]爲到點iii能殺的怪的狀態爲sss的最短路。用Dij刷分層圖最短路的時候轉移就好了。 代碼: #include<queue> #includ