原创 JZOJ 5930 調試喫土記

題目 給定一棵樹。每個節點有一個權值a[i],詢問節點x和一個數字c,求c與x的子樹中與x深度值之差小於k的點的權值的最大公約數之積。 題解 爆0代碼欣賞 #include<iostream> #include<cstdio> #

原创 JZOJ 5933. 【NOIP2018模擬10.27】百鴿籠

題目 鴿鴿鴿 有一個序列,有3種操作。 ①刪除最左邊的元素 ②在序列的最左邊加入一個數。 ③查詢序列中第l個數到第r個數中第k小的數。 題解 想到之前ifk通過動態樹最終狀態的dfs序將問題轉化成靜態樹問題,我打算也用類似的方法

原创 JZOJ 5932. 【NOIP2018模擬10.27】情報中心

題目 給定一個點數爲n個圖,m條邊。 走一條邊算1步。 共有q個詢問 每個詢問中有k個點,求有多少個點可以走最多v步走到詢問中的任意一個點。 數據範圍 n&lt;=1000,m&lt;=100000n&lt;=1000,m&lt;

原创 分治NTT學習小記

簡述問題 求fnf_nfn​,其中fnf_nfn​的值需要f0,f1,...,fn−1f_0,f_1,...,f_{n-1}f0​,f1​,...,fn−1​已知。 簡單的例子: fn=∑i=0nfi∗gn−if_n=\sum_{i=

原创 【WC2019模擬2019.1.12】總結

鑑於我比較菜,所以沒有特別好的打題策略。 今天只打了3小時45分鐘,所以時間短了。 T1 一個升序數列a,裏面的數字互不相同。 要插入一個與數列的數中都不相同的數x,詢問ai和x的大小關係,詢問的代價爲cost[i]。 通過一系列詢問

原创 字符串專題(標庫)

1.KMP 多種顏色的方框同時框住了某個子串的右邊。 st爲模式串,s爲匹配串。 void KMP(){ int i,j=0; nx[1]=0; fo(i,2,n){ while(st[j+1]

原创 四邊形不等式

式子 對於∀a≤b≤c≤d\forall a≤b≤c≤d∀a≤b≤c≤d,滿足w(a,c)+w(b,d)≤w(a,d)+w(b,c)w(a,c)+w(b,d)≤w(a,d)+w(b,c)w(a,c)+w(b,d)≤w(a,d)+w(b

原创 【NOIP2018提高組D2T3】保衛王國

題目大意 給定一棵樹,每個點有一個權值。 每個點可以選或不選,但最後必須保證每一條邊連着的兩個點其中一個必選。 如果一個點選,那麼就要付出該點權值的代價。 每一個詢問,限制兩個點必選還是必不選。然後輸出最小代價和。 詢問之間互相獨立。

原创 NOIP2018乍矢記

陳述事實 這次NOIP,是我OI現役生涯中,可以說是最後一次了。 這次盡了力,就問心無愧了。 Day 1 今天的三道題目有很榜的蔥雞力,時尚又犀利。 浪我子看一眼,就想立刻去乍矢。 T1 打了對拍。 Ans=a[n]+∑i=1n−1m

原创 數據結構模板(basic)

1、分塊 void change(int l,int r,int delta){ int i,L,R,l1=(l-1)/k+1,l2=(l-1)%k+1,r1=(r-1)/k+1,r2=(r-1)%k+1; L=l1,

原创 JZOJ 5959. 【NOIP2018模擬11.8A組】鐵路運輸

題目大意 有張n個點,m條邊的圖,設dis[i]爲1到i的最短路徑。 第i次修改,將某條邊的邊權從1變成2。 求i次修改後,有多少個i的dis[i]變了。 題解 考慮最短路是怎麼一步步求出來的。 考慮最經典的spfa。 最後能夠搞出一

原创 JZOJ 5951. 【NOIP2018模擬11.04】鋒芒畢露

題目 一條數軸上有n個點,第i個點的座標爲i。 每個點有一個顏色col[i]col[i]col[i],任意相同顏色的點都可以用線將他們連起來,線段的顏色和點的顏色相同。 求有多少對線段相交,且他們顏色不同。 題解 直接搞不太好搞。正難

原创 JZOJ 5954. 【NOIP2018模擬11.5A組】走向巔峯

題目 給出一棵n個節點的樹,我們每次隨機染黑一個葉子節點(可以重複染黑),操作無限次後,這棵樹的所有葉子節點必然全部會被染成黑色。 定義R爲這棵樹不經過黑點的直徑,求使R第一次變小期望的步數。 解題思路 比賽的時候,想到了一個錯誤的方

原创 Codechef SHOOTING

題目 10組數據。 每組數據:一個n∗mn*mn∗m的方陣,每個點上要麼有敵人,要麼有炮臺。 每個炮臺只能夠選擇上,左,右三個方向中的一個。該方向上所有的敵人都被消滅。 問是否存在一種方案,使得所有的敵人被消滅。 數據範圍: T&lt

原创 動態規劃之i次方

前言 收錄了一些比較秀的題目。 此博客待更新。 一些好的題目 T1 GDOI2018 T6 滑稽子圖 考慮O(n2)O(n^2)O(n2)的轉移。 設f[x][i][0/1]f[x][i][0/1]f[x][i][0/1]表示xxx的