原创 調換紙牌

【簡要題意】將n個紙牌移動到任意位置後可以形成升序的序列。求最小的n。Len<=5e5。 【分析】 求最長不降子序列(LIS)。用f[i]記目前爲止,長度爲i的序列最小爲多少再用二分查找。總複雜度爲Θ(nlog2n)\Theta(nl

原创 區間最小

【簡要題意】給一個長度爲n序列,對每個位置i問[max(1,i-m),i]中最小的值。n<=1e6,m<=1e6。 【分析】一道單調隊列模板題。當然鑑於n沒有非常大,所以也可以用st表水過。 【code】 #include<cstdi

原创 聰明幽默的JYM

【簡要題意】給定n個二元組。從中任選一些,使得兩個元素之和均不小於0。求滿足上述情況下的總和的最大值。 【分析】直接暴力dp水過,注意一下邊界。 【code】 #include<cstdio> #include<cstring> #i

原创 皮卡丘逃亡

【簡要題意】跨越空地代價爲1,跨越障礙代價爲5,求從(x1,y1)到(x2,y2)的最小代價。 網格圖的長寬均小於500. 【分析】spfa水過。。。。數據範圍非常小所以用Θ(n∗m)\Theta(n*m)Θ(n∗m)卡掉也無所謂。

原创 百萬小小兵

【簡要題意】求1-n中與n不互質的數的個數。 n<=1e8 【分析】 當然是求φ(n)\varphi(n)φ(n)然後相減啦。。。。利用公式 φ(n)=n(1−1p1)(1−1p2)(1−1p3)⋅⋅⋅⋅⋅⋅\varphi(n)=n(

原创 彈藥分配

【簡要題意】原先有一個序列各有一定的值。有5e4個操作,分兩種: 1.在選取一個區間【a,b】,並給出一個值k,區間上如果編號i 滿足(i- a) % k = 0 就加上c。(k<=10) 2.詢問序列中某個數的當前值。 【分析】對

原创 家園重建

【簡要題意】有n個點和m條邊。選出其中的某些邊構成一個新的圖(不一定聯通),要求新圖中每個連通塊中至多有一個環。求新圖的邊權最大和。 【分析】貪心,依舊是一道kruskal類似的題,不同只是要記錄當前集合中是否有環。 【code】 #

原创 朋友

【簡要題意】 每個人手上寫着4個互不相同的數。如果兩個人至少有一個數字相同,則他們是一對朋友。現在這n個人按序號從左到右排成了一排,每個人都想知道在他左邊有多少個人是他的朋友。 n<=1e5,所有數字均是不大於50的非負整數。 【分析

原创 數列

【簡要題意】有兩個數列{x},{y},滿足x0=y0=1x_0=y_0=1x0​=y0​=1數論遞推式: xn=xn−12+xn−1,yn=yn−121+2yn−1,(n≥1)x_n=\frac{x_{n-1}}{2+x_{n-1}}

原创 勢利的小賣部

【簡要題面】有n個商品,實際價格爲ai,價值是ci,需要口袋中錢≥bi時纔可以購買。現在你有m元,求可以購買到的最大價值。n<=500,m<=5000 【分析】 第一眼看上去像是揹包,果然不是。。。。 仔細分析發現應該需要dp,因爲一

原创 有趣的遊戲

【簡要題面】有四組數字a,b,c,da,b,c,da,b,c,d。a,b,ca,b,ca,b,c的個數小於1000,d的個數小於1e5。對於每個d求是否存在ai+bi+ci=da_i+b_i+c_i=dai​+bi​+ci​=d(ai

原创 植物學家

【簡要題意】一棵帶點權的有根樹,其中樹根可以轉換。每次詢問當前根下x節點的子樹權值和。 節點數、操作數<=1e5 【分析】 對於任意一個點做根,相當於是在整棵樹總的權值中減去根所在的那顆"子樹"。可以先固定根,求dfs序確定root所

原创 【CF976E】match 比賽

【簡要題面】現在有n個形如(x,y)的二元組。支持如下兩個操作: 1、x值加倍 2、y=x 現在支持a個1操作,b個2操作。求最大的Σy\Sigma yΣy 【分析】 有一個結論需要事先證明:對於一個人執行a次1操作,比對多個人執行

原创 【CF977F】sequence 序列

【簡要題面】給定一個含n個正整數的序列。選取任意個不重複的子序列,將其按順序拼接起來,保證有a[i+1]=a[i]+1。求最長子序列,含有spj,n<=2e5 【分析】 一個結論,同樣的一個數字:比如說是3,後面的3一定不比前面的3差

原创 【CF791D】tree 檸檬樹

【題目描述】 Herobrine能掌控所有,除了他內心的那棵檸檬樹。 他每看到一件讓自己心生羨慕的事,他內心的檸檬樹上就會多長出一隻多汁美味的檸檬。 現在,Herobrine有一棵含有n只檸檬的檸檬樹,編號從1到n。這n只檸檬由n-1