原创 復健訓練 CF1709

A Three Doors 題意:三個門,每個門後面有一扇門的鑰匙,手上有其中一扇鑰匙,求是否能打開三扇門、 類似於一個dag的問題,求是否可以從一個起點遍歷,使用任何圖的算法都可以解決 1 #include <bits/stdc

原创 題解:NOIP2018旅行

這個題目其實挺水的,CCF數據也比較水 我們考慮對於一棵樹的情況,找 dfs 序最小,那麼直接貪心,從1開始找,每次遍歷最小,輸出即可 對於環基樹,我們採用暴力斷邊(n<=5000),所以N2是沒有任何問題的,然後更新最小字典序即

原创 題解:POJ1636 Prison rearrangement 【DP】

傳送門 #include <algorithm> #include <iostream> #include <cstring> #include <vector> #include <cstdio> #include <cmath

原创 題解:SDOI2010 連續攻擊遊戲 【二分圖】

這個題目,我們很容易的看出來這是個二分圖匹配,每個裝備和兩個屬性連邊,然後跑二分圖匹配就行了 struct node { int next,to; } e[N<<1]; int h[N<<1],n,m,cnt; #defi

原创 題解:[GXOI/GZOI2019]舊詞

這個題目其實早就做了,只是突然發現還沒發,那就湊一下GZOI 題意:給定$x,y$求 $$\sum_{i\leq x}dep(lca(i,y))^k$$ 首先我們先來看這個題目的簡化版  https://www.luogu.org/prob

原创 題解:[GXOI/GZOI2019]旅行者

調這個題調了兩個月,被自己蠢哭 題意:    給一個有向圖,一組關鍵點,求關鍵點之間的最短的距離 Solution:   這個題目有兩種做法,分別是 $nlogn$ 和 $nlog^2n$ 的   首先說 $nlogn$ 的官方做法,我們

原创 題解: [GXOI/GZOI2019]與或和

我們考慮簡化題意: 由於與運算和或運算在每一位上都是獨立的,我們可以考慮對每一位進行計算。 子任務1是全1子矩陣 子任務2是總子矩陣個數減去全0子矩陣 然後就是單調棧原題 :洛谷 3400 倉鼠窩 #include <bits/st

原创 題解:LCM

題意: 推式子 我們考慮把這個式子的形式轉變一下 首先,分別整除可以轉變成他們的 \(gcd\) 整除 其次,考慮整除一個平方項,我們可以聯想到一個歐拉函數 \(\mu\) 於是,我們要求的式子就變成了 \[ \large \sum_{a

原创 線段樹維護區間開方/除法

今天考試考了一些神仙數據結構 T1 線段樹維護區間加,區間開方,區間和 (數據範圍:5e5) T2 線段樹維護區間加,區間除,區間和,區間最值 對於這些題目,就像是之前考的區間與,區間或一樣,除法,開方的操作會讓各個數字之間越來越相近,

原创 題解:歸程

我們可以把從v到1的路徑分成兩部分,一半全開車,一半全走路 也就是說要枚舉n個節點作爲斷點(假設當前斷點爲u),這個斷點是可行解與最優解當且僅當存:在一條從v到u的路徑可以全部開車且從u到1全部走路的最短路是滿足上一條件中最短的 從v出發開

原创 Kruskal重構樹

突然寫起了歸程,就先來複習一下 Kruskal重構樹 性質 是一個小/大根堆(由建樹時邊權的排序方式決定)  $LCA(u,v)$的權值是原圖u到v路徑上最大/小邊權的最小/大值(由建樹時邊權的排序方式決定) 建樹 重構樹中把原樹的點權

原创 題解:[JSOI2004]平衡點 / 吊打XXX

這個題目算是一個模擬退火的板子題  物重一定,繩子越短,重物越低,勢能越小,勢能又與物重成正比  使得$\sum_{i=1}^nd[i]*w[i]$也就是總的重力勢能最小,可以使得系統平衡 交了兩面半。。。我怕是非洲大酋長 #includ

原创 題解:2019十二省聯考 異或糉子

題意: 求前k大連續子段異或和 1. 做前綴異或和,然後變成求最大的k對異或和的和2. 可以對每一個i求出第t(初始爲1)大的$a_i\ xor\ a_j$,然後把結果扔到堆裏,每次取堆頂,然後把堆頂對應的i的第t+1大的$a_i\ xor

原创 題解:YNOI/GZOI2019 與或和

題目大意: 1. 求所有的子矩陣的and之和2. 求所有子矩陣的or之和 由於是位運算,那麼久直接拆位,於是就變成了求全0子矩陣的個數和全1子矩陣的個數那麼題目就變成了簡單的單調棧問題 #include<algorithm> #in

原创 POJ2960 S-Nim 【博弈論】

Description Arthur and his sister Caroll have been playing a game called Nim for some time now. Nim is played as follow