原创 [Sdoi2017]序列計數

DescriptionAlice想要得到一個長度爲n的序列,序列中的數都是不超過m的正整數,而且這n個數的和是p的倍數。Alice還希望,這n個數中,至少有一個數是質數。Alice想知道,有多少個序列滿足她的要求。Input一行三個數,n

原创 [2018八省聯考] 林克卡特樹

題目真滴皮 Orz rqy 思路 10分的暴力都沒拿到 10分直接求直徑 60分 容易?想到題目等價於求k+1條不相交的鏈 設狀態f[i][j][0/1/2]f[i][j][0/1/2] 表示以第i個節點爲根的子樹用了j條

原创 【POJ1743】Musical Theme & SA的模板和學習筆記

題意 可以修改一段區間的值 求兩端不相交區間相同的最長長度。 思路 可以修改值的話 直接差分解決 求最長長度可以二分一個答案k,然後將height小於k的挖掉。 產生多個區間找到區間,那麼區間內的LCP都符合要求,區間與區間不符合,因爲

原创 矩陣行列式 和 一系列的數學公式

矩陣的一點知識 一點黑科技 積性函數 常見的積性函數有 除數函數σk(n)=∑d|ndk,表示n的約數的k次冪和,注意σk(n)與σk(n)是不同的。 約數個數函數τ(n)=σ0(n)=∑d|n1,表示n的約數個數,一般也寫爲d(n

原创 「SHOI2017」壽司餐廳 最小割

「SHOI2017」壽司餐廳 大意 選擇某種區間[i,j]可以獲得收益(有正有負),選某一種壽司需要付出一定的代價,求收益-代價的最大值 思路 用最小割解決; 將每一個區間作爲一個點 將與S在一個集合的作爲不選的點,將與T在一個集合的

原创 【APIO2016】Gap

gap 大意 交互題 可以詢問a數組在[l,r]中的最大值和最小值,要求在有限次的詢問當中確定出a[i]-a[i-1]的最大值(a數組單調遞增)。 思路 子任務一 直接詢問[0,1e18]. 確定出a數組的範圍,在一步一步的縮小範圍。

原创 「SDOI2014」數表

「SDOI2014」數表 題解參看dalao 個人認爲這一道題的公式不是很難推(注意有兩項相乘的將乘積作爲一個變量T來枚舉,再枚舉T的約數d,這樣就有可能能夠預處理) 我認爲該題的最大的難點(也是坑死我的地方)就是小於等於a這一個限

原创 「SDOI2014」數數

「SDOI2014」數數 謹以此題紀念第一次做AC自動機類問題。 大意 求比n小的能夠滿足不含有任意一個串的數字個數。 思路 看到比n小,可以很容易的想到要數位dp,看到和多個串匹配,可以想到要用AC自動機。 那麼正解就是 在AC自動機

原创 整體二分 && CDQ分治

前言 最近學習了一下CDQ分治和整體分治,在這裏做了一下整理,內容和代碼有所借鑑,如果您有所不滿,請通知我,我會刪除。 CDQ分治 離線的做法,可以避免使用樹套樹這種數據結構。 通常要和樹狀數組一同使用。 流程 1. 按時間順序處理

原创 Legacy

http://codeforces.com/problemset/problem/786/B B. Legacy time limit per test 2 seconds memory limit per test 256 m

原创 [COGS 577] 蝗災

描述 一個方陣,支持單點修改,查詢一個小矩陣的和。 思路 蒟蒻並不會樹套樹,但最近學了點CDQ分治的皮毛,做了一下這道題。 對於修改直接記錄。 對於查詢拆成四部分。 類似於矩陣前綴和,運用查分的思想。 ans=1+2-3-4;

原创 [HDU4267] A Simple Problem with Integers

A Simple Problem with Integers 描述 題目大意有n個數,m個操作 操作1: 對區間[l,r]給每一個滿足[A-l]%k==0的數+c 操作2: 求一個點a的值 思路 線段樹維護,因爲k很小,所以可以對每一

原创 「SDOI2014」旅行

「SDOI2014」旅行 謹以此題紀念第一次動態開點的題 大意 給定一棵樹和每一個節點的顏色,和權值。 要求能夠修改,並且可以查詢一條路徑上同種顏色的節點的信息。 思路 看到查詢一條路徑可以想到用樹鏈剖分和線段樹維護,但是要求要查詢同一種

原创 斜率優化 筆記

梗概 目前只會斜率優化的naive的版本,動態維護凸包的版本目前不會,以後會的時候再更新 我們在做dp問題時經常性的會發現時間複雜度完全不夠,那麼我們需要用到優化了 dp的優化有很多,這裏不再贅述,單說斜率優化。 總條件 f[i]=ma

原创 [NOI2009] 管道取珠

[NOI2009] 管道取珠 非常有意思的一道dp題,狀態很有意思,但卡常就是你的不對了。 題目大意是求所有的序列的重複個數的平方和。 設有k種序列,每個有aiai 個 ans=∑i=1ka2ians=∑i=1kai2 仔細分析發