<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      10-30 題

      10-30 題

      Joke - 題目 - QOJ.ac

      先把 \(q\) 按照 \(p\) 排序,這樣不會(huì)影響答案。

      先假設(shè)我們已知所有的 \(q_i\),怎么求合法 \(s\) 的方案數(shù)。考慮把 \((i,q_i)\) 畫到二維平面上,那么我們可以畫一條不降的折線表示 \(a_{1,i}\) 的取值,此時(shí)折線下方的點(diǎn) \(s_i=1\),上方的點(diǎn) \(s_i=0\)

      可以對(duì)本質(zhì)不同的折線計(jì)數(shù),我們先把折線的頂點(diǎn)都取到給定的點(diǎn)上。相當(dāng)于要選出一個(gè)點(diǎn)集使得存在一條折線分割這個(gè)點(diǎn)集與它的補(bǔ)集,問有多少種選法。考慮到若一個(gè)點(diǎn)被選,那么它右下角的點(diǎn)都要被選,所以兩條折線不同當(dāng)且僅當(dāng)前綴嚴(yán)格最大值的位置集合不同。

      折線的頂點(diǎn)現(xiàn)在只能選到前綴嚴(yán)格最大值,所以轉(zhuǎn)化成了求 \(q_i\) 上升子序列的個(gè)數(shù)。

      加入 \(q_i=0\) 的情況,可以 DP,設(shè) \(f_{i,j,k}\) 表示前綴最大值為 \(j\),且折線上選了 \(k\) 個(gè) \(q_i=0\) 的點(diǎn)。轉(zhuǎn)移容易做到 \(O(n^4)\)

      \(k\)-coloring - 題目 - QOJ.ac

      \(k=1\) 的情況是跑歐拉路徑,當(dāng)且僅當(dāng)有 \(0\) 個(gè)或 \(2\) 個(gè)奇度數(shù)點(diǎn)時(shí)存在歐拉路徑。

      \(k=2\) 的情況,找出任意一棵 DFS 樹,對(duì)于樹邊發(fā)現(xiàn)直接走就是對(duì)的(路徑即歐拉序),考慮到還要返祖邊,只要來回跳一次返祖邊即可。

      \(k=3\) 的情況,如果我們已經(jīng)求出了 \(k=2\) 的路徑為 \([a_1,a_2,a_3,a_4,a_5,a_6\dots]\),那么我們可以執(zhí)行以下策略:\(a_1\to a_2\to a_3\to a_2\to a_3\to a_4\to a_5\),此時(shí) \(a_5\) 當(dāng)成 \(a_1\) 反復(fù)執(zhí)行相同策略。

      對(duì) \(k>3\) 的情況,可以在每次走邊前反復(fù)跳就可以歸約到 \(k-2\) 的問題。

      因此這道題對(duì)于 \(k>1\) 的情況都是一定有解的。

      Permutation Recovery - 題目 - QOJ.ac

      考慮一個(gè)排列建邊 \(i\to p_i\),那么發(fā)現(xiàn)逆排列中就會(huì)有 \(p_i\to i\) 這條邊。

      因此對(duì) \(j\to a_{i,j}\) 連邊,然后把所有相反的邊兩兩組成無向邊。發(fā)現(xiàn)此時(shí)只要找出 \(k\)\(n\) 的置換環(huán)即可。

      考慮給每條邊定向,可以跑一遍歐拉回路。對(duì)于一條邊 \(u\to v\) 我們?cè)谧蟛奎c(diǎn) \(u\) 和右部點(diǎn) \(v\) 之間連一條邊,轉(zhuǎn)化為二分圖匹配問題,要求劃分出 \(k\) 對(duì)完美匹配。

      這叫做正則二分圖匹配問題,方法就是每次找到一組完美匹配,然后把匹配邊全部刪掉(一定要?jiǎng)h掉而不能保留反向邊),不斷做這個(gè)過程。證明依靠 Hall 定理。

      Excluded Min - 題目 - QOJ.ac

      Mex 可以為 \(x\) 當(dāng)且僅當(dāng)小于等于 \(x-1\) 的數(shù)至少有 \(x\) 個(gè)。我們要找到最大的 \(x\)

      要注意 \(x\) 不可二分。

      考慮從大到小掃描 \(x\),維護(hù) \(cnt-x\) 的最值,每次把滿足 \(cnt-x\ge0\) 的區(qū)間拿出來刪掉。難點(diǎn)就在如何對(duì)一堆特定區(qū)間做加法操作。

      注意到若 \(a\) 區(qū)間包含 \(b\) 區(qū)間,那么 \(a\) 的答案比 \(b\) 的大。考慮只保留極大的區(qū)間,這樣區(qū)間的 \(l\) 是遞增的,每次做加法操作都是對(duì)一個(gè)區(qū)間。

      考慮刪掉區(qū)間 \(i\) 后加入哪些極大區(qū)間,找到被刪區(qū)間的前驅(qū)和后繼,那么要找到 \([l_i,l_{nxt}-1]\) 內(nèi)右端點(diǎn)最大(相同則選取左端點(diǎn)更小的)的區(qū)間,若右端點(diǎn)大于 \(r_{pre}\) 則可以加入。加入后將 \(l_{nxt}\) 置為新加入的區(qū)間的 \(l\) 然后不斷加入。

      用線段樹做,復(fù)雜度 \(O((q+n)\log n)\)

      Angle Beats 2.0 - 題目 - QOJ.ac

      一個(gè) \(L\) 形可以被表示為:在上下和左右各取一個(gè)點(diǎn)。

      考慮建圖,上下連一條邊,左右連一條邊,現(xiàn)在要對(duì)每條邊選出一個(gè)端點(diǎn),選出的端點(diǎn)不交。那么 Center 要連自環(huán)表示必選。

      考慮到每個(gè)連通塊的貢獻(xiàn)是獨(dú)立的,對(duì)于一個(gè)連通塊,顯然滿足 \(m\ge n-1\)

      \(m>n\) 則無解;若 \(m=n\) 則是基環(huán)樹,當(dāng)有自環(huán)時(shí)貢獻(xiàn)為 \(1\) 否則為 \(2\);當(dāng) \(m=n-1\) 時(shí)考慮有一個(gè)點(diǎn)必定不被選,枚舉這個(gè)點(diǎn),從這個(gè)點(diǎn)開始就能確定所有邊的選法,因此貢獻(xiàn)為點(diǎn)數(shù)。

      答案就是所有連通塊的貢獻(xiàn)乘積。

      Juggler's Trick - 題目 - QOJ.ac

      考慮一個(gè)串什么時(shí)候能被刪空。結(jié)論:充要為長(zhǎng)度為 \(r+b\) 的倍數(shù)且,\(R,B\) 的個(gè)數(shù)之比等于 \(r:b\)

      證明:

      考慮把串每 \(r+b\) 個(gè)分段,那么一定存在兩段使得一個(gè)段 \(R\) 的個(gè)數(shù)大于等于 \(r\),另一個(gè)段 \(R\) 的個(gè)數(shù)小于等于 \(R\)。考慮從一個(gè)段增量移動(dòng)到令一個(gè)段的過程中,由于 \(R\) 的個(gè)數(shù)每次只會(huì)增減一,所以一定有一個(gè)時(shí)刻使得 \(R\) 的個(gè)數(shù)為 \(r\),這個(gè)時(shí)刻的段則可以被操作。不斷操作即可。

      考慮 DP,設(shè) \(f_i\) 表示考慮完前 \(i\) 個(gè)數(shù)最多能執(zhí)行的操作數(shù)。每次枚舉 \(i\) 結(jié)尾的刪空的一段,可以做到 \(O(n^2)\)

      考慮每個(gè) \(R\) 寫一個(gè) \(-b\),每個(gè) \(B\) 寫一個(gè) \(r\),然后對(duì)于 \(W\) 一種序列全部寫 \(-b\),另一種全部寫 \(r\),那么求這兩種序列的前綴和 \(u_i,v_i\)。此時(shí) \(j\) 能轉(zhuǎn)移到 \(i\) 當(dāng)且僅當(dāng) \(u_i-u_j\le 0\le v_i-v_j\)\(r+b \mid i-j\)。CDQ 分治優(yōu)化即可。

      Maximal Subsequence - 題目 - QOJ.ac

      每個(gè)結(jié)束點(diǎn)求出 LIS \(f_i\),然后給 \(j<i \land f_j+1=f_i\)\(j,i\) 連邊,那么我們要找到 \(f_i=1\)\(f_i=L\) 的最小割。

      轉(zhuǎn)化為求最大流,要選出最多的最長(zhǎng)上升子序列。

      把一條最長(zhǎng)上升子序列在坐標(biāo)系上連起來,選出的兩個(gè)最長(zhǎng)上升子序列的連線是不交的。

      先把所有點(diǎn)按照 \(f_i\) 分層,對(duì)于同一層的點(diǎn)的 \(a\) 一定是遞減的。每次取出每層的第一個(gè)點(diǎn)組成一個(gè) LIS,把這些點(diǎn)刪掉,然后把不屬于 LIS 的點(diǎn)也刪掉,被刪掉的點(diǎn)一定是每層的開頭一段。check 一個(gè)點(diǎn)是否屬于一個(gè) LIS 需要看下一層的第一個(gè)點(diǎn)是否大于它,且上一層要有點(diǎn)在其之前。用 vector 維護(hù)每層的點(diǎn)即可。

      復(fù)雜度 \(O(n\log n)\)

      posted @ 2025-10-31 15:52  dengchengyu  閱讀(4)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品一区二区三区卡| 国产福利视频区一区二区| 马关县| 精品国产乱码久久久人妻| 在线 | 国产精品99传媒a| 综合色天天久久| 韩国免费A级毛片久久| 国产成人精品亚洲午夜麻豆| 国产精品一二三中文字幕| 亚洲欧美成人一区二区在线电影| 久久天天躁狠狠躁夜夜网站| 黄色一级片一区二区三区| 亚洲国产福利成人一区二区| 亚洲最大av资源站无码av网址 | 中文字幕免费不卡二区| 狠狠色丁香婷婷综合尤物| 高清偷拍一区二区三区| 铜鼓县| 日韩 一区二区在线观看| 亚洲欧洲精品一区二区| 亚洲成在人线在线播放无码| 在线看av一区二区三区| 久久影院午夜伦手机不四虎卡| 亚洲欧美自偷自拍视频图片| 无码人妻丝袜在线视频| 亚洲国产精品第一二三区| 秋霞在线观看秋| 成人午夜福利视频一区二区| 国产亚洲精品自在久久vr| 丝袜a∨在线一区二区三区不卡| 国产免费网站看v片元遮挡| 国产精品白浆免费视频| 伊人精品成人久久综合| 国产精品不卡一区二区在线| 尉氏县| 亚洲国产精品无码一区二区三区| 亚洲中文字幕在线无码一区二区| 西西人体大胆444WWW| 久久精品国产亚洲成人av| 大香j蕉75久久精品免费8| 人妻少妇精品视频专区|