P10413 [藍橋杯 2023 國 A] 圓上的連線

題意:

給定一個圓,圓上有?n=2023?個點從?1?到?n?依次編號。

問有多少種不同的連線方式,使得完全沒有連線相交。當兩個方案連線的數量不同或任何一個點連接的點在另一個方案中編號不同時,兩個方案視為不同。

答案可能很大,請將答案對?2023?求余后提交。

思路:

首先是卡特蘭數,然后沒了,G32 卡特蘭數_嗶哩嗶哩_bilibili,如果不理解,可以看這個視頻,這道題其實就是視頻中的拓展,加了個組合數選多少個點而已。

理解:? ? 首先這個理解很可能有問題,如果你有更好的想法,請一定要在評論里告訴我,因為我現在都還是不太確定我的理解是否正確。

我看了很多關于卡特蘭數的,看完之后感覺都像是感覺,沒有一個確切的說怎么怎么樣就是卡特蘭數,因此我目前把卡特蘭數歸納為
一個問題在任何子集情況下,違規操作的條件是不變動的,執行違規操作后,無論后面是什么樣的,一定是錯誤,那么就是卡特蘭數的使用范疇。
例如這道選點,違規操作就是不能選擇穿越區間的點,無論你進行到哪一步怎么劃分都是這個條件,即不能穿過上一條線選點。
如果是出入棧問題,那么無論你進行了多少步,只要出棧操作次數超過入棧那么就是錯誤,無論在哪個子集,哪一步,都是這個條件。
如果是二叉樹,無論進行到哪一步,都不能連接已經連接過的點,這就是違規操作。
如果是連接頂點,無論到哪一步,都必須在選好一個節點去連新的邊,只要不符合這個要求,就會錯。
如果是斜線問題,無論到那一步,目前移動到的點不能超過斜邊。
無論在哪個自己情況下,條件不能發生變動,他是固定的。不需要分情況討論,無論在什么情況下都是一個要求,那就會是卡特蘭數。
判斷方式就是一道題的成功構造,是不是被一個固定條件限制住了,如果限制住,那很可能是卡特蘭數。

請注意:該方法完全是類似于數學歸納法,看了一些之后自己想出來的一個方式,本人完全想不出數學或者說正經的方式,而網上大抵也沒找到幾個嚴格指出的,都是感覺,或者類比,但是本人思維理解不了是怎么歸到一類的。比如這個圓圈選點跟斜線,我看不出相同點,所以自己思考歸納出來的這個相同點。非常不嚴格,請不要沿用這個方式。

說出這個歸納僅僅是希望后來有能力的人看到后,請來指正我,告訴我到底應該怎么思考更正確。
有參考:
1.
題解:P10413 [藍橋杯 2023 國 A] 圓上的連線 - 洛谷專欄
2.「算法入門筆記」卡特蘭數 - 知乎
個人認為2的想法非常好,很有說服力,但是我認為這個圓上選點,我很難聯系到這個+1,-1,所以引出了這個自己的思考方法,其實跟+1,-1也挺像的……我只是覺得那個圓圈選點歸納到選棧真的有點異想天開的趕腳,有一點強行……

那么回到代碼,非常簡單,預處理組合數和卡特蘭數,卡特蘭數是一個遞推公式,至于怎么推導出來的……我也不會。
組合數預處理方式是帕斯卡法則,這里順帶推薦一下用到這個性質的好題【補題】Codeforces Global Round 21 E. Placing Jinas-CSDN博客
組合數的累加、楊輝三角就可以往這個方向思考
代碼:

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define int128 __int128
#define endl '\n'
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
const int N = 2e5+10;
const int INF = 1e18;
const int MOD = 2023;int C[2025][2025];
int H[2025];void solve(){int n=2023;for(int i=0;i<=2023;i++) C[i][0]=C[i][i]=1;for(int i=0;i<=2023;i++){for(int j=1;j<=i;j++){C[i][j]=(C[i-1][j]+C[i-1][j-1])%2023;}}H[0]=H[1]=1;for(int i=2;i<=2023;i++){for(int j=0;j<i;j++){H[i]=(H[i]+(H[j]*H[i-j-1]+MOD)%MOD)%MOD;}}int res=0;for(int i=0;i<=2023;i+=2){res=(res+(C[2023][i]*H[i/2]%MOD))%MOD;}cout << (res+MOD)%MOD << endl;
}signed main(){IOS;int t=1;
//	cin >> t;while(t--){solve();}
}

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

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

相關文章

鴻蒙5.0 非桌面頁面,設備來電后掛斷,自動返回桌面

1.背景 其實在Android上面打開一個應用,然后設備來電后掛斷應該是返回到前面打開的這個應用的,但是在鴻蒙里面現象是直接返回桌面,設計如此 2.分析 這個分析需要前置知識,鴻蒙的任務棧頁面棧,具體參考如下鏈接: zh-cn/application-dev/application-models/page-missio…

智能Todo協作系統開發日志(二):架構優化與安全增強

&#x1f4c5; 2025年4月14日 | 作者&#xff1a;Aphelios380 &#x1f31f; 今日優化目標 在原Todo單機版基礎上進行三大核心升級&#xff1a; 組件化架構改造 - 提升代碼可維護性 本地數據加密存儲 - 增強隱私安全性 無障礙訪問支持 - 踐行W3C標準 一、組件化架構改造 …

linux電源管理(二),內核的CPUFreq(DVFS)和ARM的SCPI

更多linux系統電源管理相關的內容請看&#xff1a;https://blog.csdn.net/u010936265/article/details/146436725?spm1011.2415.3001.5331 1 簡介 CPUFreq子系統位于drivers/cpufreq目錄下&#xff0c;負責進行運行過程中CPU頻率和電壓的動態調整&#xff0c;即DVFS (Dynami…

mysql 數據庫localhost密碼忘記

使用此查詢語句&#xff1a; SELECT user, authentication_string FROM mysql.user WHERE user root; 復制對應的密碼&#xff1a; 密碼是通過md5加密后的 md5在線解密破解,md5解密加密 將密碼輸入進來 就可以直接破解了

05、Docker run命令實戰:數據卷與掛載的完整指南(下)

5.1、深度剖析 docker run 命令:原理闡釋與數據持久化實踐探究 1、更換國內yum源2、更換國內docker源3、卸載舊版docker4、docker安裝5、鏡像加速器6、鏡像下載7、docker run命令交互式啟動-it非交互式后臺運行其他參數mysql綜合案例8、持久化存儲目錄掛載數據卷掛載數據同步1…

macOS 上使用 Homebrew 安裝和配置 frp 客戶端

macOS 上使用 Homebrew 安裝和配置 frp 客戶端 (frpc) 指南 frp (Fast Reverse Proxy) 是一款高性能的反向代理應用&#xff0c;常用于內網穿透。本文將介紹在 macOS 上使用 Homebrew 安裝 frpc&#xff0c;并進行配置和管理。 一、安裝 frpc 使用 Homebrew 安裝&#xff08;…

泊松分布詳解:從理論基礎到實際應用的全面剖析

泊松分布詳解&#xff1a;從理論基礎到實際應用的全面剖析 目錄 引言&#xff1a;事件的罕見性與隨機計數泊松分布的歷史源流泊松分布的數學定義與性質 概率質量函數 (PMF)累積分布函數 (CDF)期望、方差與其他矩矩生成函數 (MGF) 與特征函數 (CF) 泊松分布的嚴格推導 極限推導…

紅寶書第三十六講:持續集成(CI)配置入門指南

紅寶書第三十六講&#xff1a;持續集成&#xff08;CI&#xff09;配置入門指南 資料取自《JavaScript高級程序設計&#xff08;第5版&#xff09;》。 查看總目錄&#xff1a;紅寶書學習大綱 一、什么是持續集成&#xff1f; 持續集成&#xff08;CI&#xff09;就像咖啡廳的…

python 辦公自動化------ excel文件的操作,讀取、寫入

一、excel文件的讀取 需要安裝的包&#xff1a;xlrd&#xff1a;讀取&#xff1b;xlwt&#xff1a;寫入&#xff1b;xlutils&#xff1a;分割、復制、篩選 sudo&#xff1a;表示以管理員身份運行命令&#xff08;mac系統中使用&#xff09; >sudo pip install xlrd xlwt x…

JAVA Web_定義Servlet2_學生登錄驗證Servlet

題目 頁面StudentLogin.html中有一HTML的表單代碼如下&#xff1a; <form action"studentLogin" method"post">學生姓名&#xff1a;<input type"text" name"stuName" value""><br>登錄密碼&#xff1a;…

爬蟲: 一文掌握 pycurl 的詳細使用(更接近底層,性能更高)

更多內容請見: 爬蟲和逆向教程-專欄介紹和目錄 文章目錄 一、PycURL概述1.1 PycURL介紹1.2 基本安裝1.3 安裝依賴(Linux/macOS)1.4 常用選項參考二、基本使用2.1 簡單 GET 請求2.2 獲取響應信息2.3 設置請求頭2.4 超時設置2.5 跟隨重定向三、高級功能3.1 POST 請求3.2 文件上…

利用 限制torch線程數與異步方法提升聲紋識別效率

引言 聲紋識別作為生物識別技術的重要分支,在安防、金融、智能助手等領域應用廣泛。隨著數據量的增長和應用場景的復雜化,提高聲紋識別效率成為關鍵問題。本文將詳細介紹如何通過 torch.set_num_threads 以及異步方法來優化聲紋識別的性能。 聲紋識別效率瓶頸分析 在聲紋…

軟考高級系統架構設計師-第12章 系統質量屬性與架構評估

【本章學習建議】 根據考試大綱&#xff0c;本章不僅考查系統架構設計師單選題&#xff0c;預計考11分左右&#xff0c;而且案例分析和論文寫作也是必考&#xff0c;對應第二版教材第8章&#xff0c;屬于重點學習的章節。 12.1 軟件系統質量屬性 12.1.1 質量屬性概念 軟件系…

SecProxy - 自動化安全協同平臺

本人為甲方安全人員&#xff0c;從事甲方工作近6年&#xff1b;針對在甲方平時安全工作的一些重復、復雜、難點的工作&#xff0c;思考如何通過AI、腳本、或者工具實現智能且自動化&#xff0c;于是花平時空閑時間準備將這些能力全部集中到一個平臺&#xff0c;于是有了這個東西…

CSI-external-provisioner

main() 這段Go代碼是一個CSI&#xff08;容器存儲接口&#xff09;Provisioner&#xff08;供應器&#xff09;的實現&#xff0c;用于在Kubernetes集群中動態提供持久卷。代碼涉及多個組件和步驟&#xff0c;下面是對關鍵部分的解釋&#xff1a; 初始化和配置 命令行標志和…

react中通過 EventEmitter 在組件間傳遞狀態

要在 Reply 組件中通過 statusChangeEvent 發送狀態值&#xff0c;并在 Select 組件中接收這個狀態值 status&#xff0c;你可以按照以下步驟實現&#xff1a; //Event.jsimport EventEmitter from events;export const statusChangeEvent new EventEmitter();// 工單狀態切換…

1534. 統計好三元組

1534. 統計好三元組 - 力扣&#xff08;LeetCode&#xff09; 給你一個整數數組 arr &#xff0c;以及 a、b 、c 三個整數。請你統計其中好三元組的數量。 如果三元組 (arr[i], arr[j], arr[k]) 滿足下列全部條件&#xff0c;則認為它是一個 好三元組 。 0 < i < j &l…

如何配置AWS EKS自動擴展組:實現高效彈性伸縮

本文詳細講解如何在AWS EKS中配置節點組&#xff08;Node Group&#xff09;和Pod的自動擴展&#xff0c;優化資源利用率并保障應用高可用。 一、準備工作 工具安裝 安裝并配置AWS CLI 安裝eksctl&#xff08;EKS管理工具&#xff09; 安裝kubectl&#xff08;Kubernetes命令…

FPGA_UART

1.UART 概述 &#xff08;通用異步收發傳輸器&#xff09; 1. 基本定義 UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;是一種常見的串行通信協議&#xff0c;用于在設備間通過異步串行通信傳輸數據。它不依賴獨立的時鐘信號&#xff0c;而是通過預…

openwrt軟路由配置4--文件共享

1.安裝samba opkg update opkg install luci-app-samba4安裝好之后重啟設備&#xff0c;系統界面服務下面會多一個network shares 2.創建磁盤分區并掛載到共享目錄 openwrt剛剛安裝的時候空間都是很小的&#xff0c;共享目錄我是打算用來存放一些電影視頻之類的大文件。所以我…