OI 雜題

OI 雜題

  • 字符串
    • 括號匹配
      • 例 1:

與之前的類似,就是講一點技巧,但是比較亂,湊合著看吧。

字符串

括號匹配

  • 幾何意義:考慮令 (+1+1+1 變換,令 )?1-1?1 變換,然后對這個 +1/?1+1/-1+1/?1 構成的變換序列在平面直角坐標系中變成一張從原點出發的折線圖,也就是令 ( 為上斜坡,) 為下斜坡。
  • 如何判斷合法:轉化完之后,我們只需要判斷構成折線是否僅在 xxx 軸或 yyy 軸或第一象限內且是否最終回到 000
  • 擴展:如果不是從原點開始,令開始時 yyy 坐標為 kkk,則判斷每個位置是否都 ≥k\ge kk 且最終回到 kkk。這可以用來判斷子串是否為合法括號序列。

例 1:

給定一個合法括號序列 SSS
定義好的序列為由 ?() 構成的序列(可以不包含其中任意數量個),且存在唯一一種方式將每個 ? 依次替換為 () 后,得到合法括號序列。
問如果每個位置都有 12\frac{1}{2}21? 的概率變為 ?,那么有多大的概率變為好的序列。
998244353998244353998244353 取模,∣S∣≤106|S|\le10^6S106

做法:

  1. 先將概率轉化成方案數。
  2. 注意到對于一個好的序列,直接把它變為輸入的序列一定是一種方案,于是變為怎樣指定某些位置翻轉但是每一個位置都不能翻轉的方案數。
  3. 考慮轉化成幾何意義后怎么做,那就變成了考慮什么時候某個位置可以翻轉但是翻轉后一定無法得到合法括號序列。
  4. 上述情況當且僅當:
    1. 不匹配,也就是如果翻轉那么一定無法使得左右括號數量相同,這會導致無法回到 000,出現情況當且僅當對于 (,后面不存在一個位置 ) 也可以被翻轉,或對于 ),前面不存在 ( 也可以被翻轉。(注意到一旦存在就一定會貢獻給某個異類括號,因此即使不貢獻給枚舉的位置也會導致無解)。
    2. 翻轉之后跑到 xxx 軸下面去了,這當且僅當翻轉的位置為 ( 且直到下一個可以被翻轉的 ( 前存在某個位置的原本的 yyy 坐標 ≤1\le 11
  5. 考慮對這個怎么計數,首先我們能得到一些結論:
    1. 不會存在 ...)...(... 然后兩個括號都變成 ?,因為他們既可以跟原來的括號匹配,又可以翻轉過來,跟內部的匹配或是跟對方匹配,可以證明這兩種方案之一一定合法,轉化成折線圖后易證。也就是說,一定是一些 ( 被選擇,然后一些 ) 被選擇。
    2. 一個 (可以被標記為 ? 當且僅當以下條件之一成立:
      1. 它到后一個可以被翻轉的 ) 中存在某個位置的 yyy 坐標 ≤1\le 11,翻轉后會使得這個點坐標 ?2-2?2,于是不合法,于是乎可以標記。
      2. 它后面沒有標記為 ?) 了,這樣如果翻轉它一定回不到 000
  6. 于是什么時候可以放 (,什么時候可以放 ) 都已經確定好了,那么直接計數即可,我的做法是先存儲 yyy 坐標 =0=0=0 的的配對的括號,枚舉第一個 ) 被選擇的區間,計算它的貢獻,然后再在里面找坐標 =1=1=1 的括號,然后對于這樣的一個位置,計算它的貢獻。
  7. 具體來說,y=0y=0y=0 的貢獻是左端點隨便取或不取,然后如果這個區間里面選擇取 (,那么除掉最后一個 ) 以外的所有 ) 都不能取(我們先沒考慮 y=1y=1y=1 的影響),最后一個 ) 必須取。
  8. 接著考慮,y=1y=1y=1,那么它包含的前面一段 ( 選擇后,這段的 ) 不能選,由于是計算比 y=0y=0y=0 更多的貢獻,所以不計算選 ) 和部分選 ( 的情況以免算重,我們只需要計算不會被 y=0y=0y=0 包含的部分,也就是這個位置之后可以有 ) 被選擇,加入答案即可。

實現可能較為困難,讀者不妨嘗試。原題是這個比賽的 T2,作者從 8:40 到 19:00 斷斷續續寫了至少 7 小時才 A 掉。

總結:這題本質上是在考慮處理第一個 ) 被選擇的位置,考慮不同位置會有什么影響,然后按照 y≤1y\le 1y1 來分段處理。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91067.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91067.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91067.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【論文閱讀】Safety Alignment Should Be Made More Than Just a Few Tokens Deep

Safety Alignment Should Be Made More Than Just a Few Tokens Deep原文摘要問題提出現狀與漏洞:當前LLMs的安全對齊機制容易被攻破,即使是簡單的攻擊(如對抗性后綴攻擊)或良性的微調也可能導致模型越獄。核心論點: 作…

Generative AI in Game Development

如有侵權或其他問題,歡迎留言聯系更正或刪除。 出處:CHI 20241. 一段話總結本研究通過對來自 Reddit 和 Facebook 群組的 3,091 條獨立游戲開發者的在線帖子和評論進行定性分析,探討了他們對生成式 AI在游戲開發中多方面作用的認知與設想。研…

【C++算法】72.隊列+寬搜_二叉樹的最大寬度

文章目錄題目鏈接:題目描述:解法C 算法代碼:題目鏈接: 662. 二叉樹最大寬度 題目描述: 解法 這里的寬度指的是一層的最右邊的非空節點到一層的最左邊的非空節點,一共的節點數。 解法一:硬來&am…

什么是3DVR?VR技術有哪些應用場景?

VR與3D技術解析及應用在高科技領域,VR和3D是兩個常被提及的名詞。那么,這兩者之間究竟存在著怎樣的區別與聯系呢?簡而來說,VR技術是3D技術的一種高級延展和深化應用。3D技術,即將二維設計圖轉化為立體、逼真的視覺效果…

棧與隊列:數據結構核心解密

棧和隊列的基本 棧(Stack)是一種后進先出(LIFO, Last In First Out)的數據結構。元素的插入和刪除操作只能在棧頂進行。常見的操作包括壓棧(push)和彈棧(pop)。 隊列(Queue)是一種先進先出(FIFO, First In First Out)的數據結構。元素的插入在隊尾進行,刪除在隊…

《C++初階之STL》【list容器:詳解 + 實現】

【list容器:詳解 實現】目錄前言------------標準接口介紹------------標準模板庫中的list容器是什么樣的呢?1. 常見的構造2. 迭代器操作std::list::beginstd::list::endstd::list::rbeginstd::list::rend3. 容量的操作std::list::sizestd::list::empty…

【灰度實驗】——圖像預處理(OpenCV)

目錄 1 灰度圖 2 最大值法 3 平均值法 4 加權均值法 5 兩個極端的灰度值 將彩色圖轉為灰度圖地過程稱為灰度化。 灰度圖是單通道圖像,灰度化本質就是將彩色圖的三通道合并成一個通道的過程。三種合并方法:最大值法,平均值法和加權均值法…

【linux驅動開發】編譯linux驅動程序報錯:ERROR: Kernel configuration is invalid.

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄一、報錯二、解決方法1.先編譯linux內核源碼2.再重新編譯驅動程序一、報錯 在編譯驅動程序過程中,經常碰到的一個小問題: make -C /home/lu…

Java面試寶典:MySQL中的鎖

InnoDB中鎖的類型非常多,總體上可以如下分類: 這些鎖都是做什么的?具體含義是什么?我們現在來一一學習。 1. 解決并發事務問題 我們已經知道事務并發執行時可能帶來的各種問題。最大的一個難點是:一方面要最大程度地利用數據庫的并發訪問能力,另一方面又要確保每個用戶…

設備識別最佳實踐:四維交叉驗證框架

設備識別最佳實踐:四維交叉驗證框架 1. MAC地址分析(40%權重) - 設備身份核驗 核心方法: # MAC地址標準化(OUI提取) mac"B4:2E:99:FB:9D:78" oui$(echo $mac | tr -d : | cut -c 1-6 | tr a-f A-…

《Java 程序設計》第 9 章 - 內部類、枚舉和注解

大家好,今天我們來學習《Java 程序設計》第 9 章的內容 —— 內部類、枚舉和注解。這三個知識點是 Java 中提升代碼靈活性和可讀性的重要工具,在實際開發中非常常用。接下來我們逐一展開講解,每個知識點都會配上可直接運行的代碼示例&#xf…

CTF Misc入門篇

在CTF比賽中,misc方向是必考的一個方向,其中,圖形隱寫是最最常見的類型。 先從Misc開始入門,一般會借助CTF SHOW解題平臺,解題,然后進行技巧總結。 目錄 圖片篇(基礎操作) misc1 misc2 misc3 misc4 …

Vulnhub 02 Breakout靶機

一、信息收集 我是在僅主機模式下掃描的。 以此去訪問端口。 80端口是上面的主頁,查看一下源代碼,發現了如下圖所示的注釋,翻譯過來是:別擔心,沒有人會來這里,安全地與你分享我的訪問權限,它是…

論文閱讀:2024 arxiv AutoDefense: Multi-Agent LLM Defense against Jailbreak Attacks

總目錄 大模型安全相關研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 AutoDefense: Multi-Agent LLM Defense against Jailbreak Attacks https://arxiv.org/pdf/2403.04783#page9.14 https://www.doubao.com/chat/14064782214316034 文章目錄…

Spring Boot 請求限流實戰:基于 IP 的高效防刷策略

前言 互聯網流量就像洪水猛獸,來得快去得也快。如果不給接口裝個“限速閥”,服務器瞬間被刷爆,宕機成真,根本不稀奇。沒有限流機制,系統就像沒有剎車的賽車,跑得太快反而翻車。為了保證服務穩定、響應迅速,保護后端資源不被惡意請求掏空,限流成必備武器。 本篇文章將…

機器學習第二課之線性回歸的實戰技巧

1 線性回歸簡介 1 線性回歸應用場景 線性回歸是一種用于分析自變量與連續型因變量之間線性關系的模型,其核心是通過擬合線性方程(y w_1x_1 w_2x_2 ... w_nx_n b)來預測因變量或解釋自變量的影響。由于其簡單、可解釋性強的特點,線性回歸…

【時時三省】(C語言基礎)指向指針數據的指針變量

山不在高,有仙則名。水不在深,有龍則靈。 ----CSDN 時時三省在了解了指針數組的基礎上,需要了解指向指針數據的指針變量,簡稱為指向指針的指針。怎樣定義一個指向指針數據的指針變量呢?下面定義一個指向指針數據的指針變量&#…

前端css 的固定布局,流式布局,彈性布局,自適應布局,響應式布局

1. 固定布局容器的寬高是固定的,單位一般是px,不會隨著屏幕大小變化2.流式布局(百分比布局/vw)vw: 視圖寬度的百分比,1vw代表視窗寬度的1% vh: 視圖高度的百分比,1vh代表視窗高度的1%特點: 寬度隨屏幕大小變化單位用%或vw 高度通常…

python學習DAY26打卡

DAY 26 函數專題1:函數定義與參數 內容: 函數的定義 變量作用域:局部變量和全局變量 函數的參數類型:位置參數、默認參數、不定參數 傳遞參數的手段:關鍵詞參數 傳遞參數的順序:同時出現三種參數類型時…

echarts圖表點擊legend報錯問題(折線圖)

原因是&#xff1a;echats 實例&#xff0c;不能夠用響應式變量去接收。<template><div class"attendance-chart"><div v-if"loading" class"loading">加載中...</div><div v-else-if"error" class"e…