2024 吉林 CCPC

文章目錄

  • 2024 吉林 CCPC
    • L. Recharge(思維、分配)
    • G. Platform Game(模擬)
    • E. Connect Components (排序、思維)
    • D. Parallel Lines

2024 吉林 CCPC

題目鏈接:

Dashboard - The 2024 CCPC National Invitational Contest (Changchun) , The 17th Jilin Provincial Collegiate Programming Contest - Codeforces

L. Recharge(思維、分配)

  • 如果k是偶數,(x+y*2)/k
  • k為奇數,優先使用y+x的組合

G. Platform Game(模擬)

按照 y 進行排序,由于數據范圍比較小,可以直接枚舉找到小球接下來

落到的平臺。

E. Connect Components (排序、思維)

看到連通塊第一想到的就是并查集,但實際上用不到。

將公式變換,以a[i]-i 從小到大排序,此時前面的i-b[i] 同樣小于后面的就可以

聯通。

可以用一個對頂堆來維護。

每次將后面大于當前的點,加入并查集,并彈出。

但是這樣會漏掉。

如果以a[i]-ib[i]-i分別排序,進行兩次就可以過。

不確定是不是卡過去,大概率不是

這里可以用小頂堆或者棧,如果后續出現一個較大的值,就將所有小于a[ i ].se的彈出去,

他們都可以形成連通塊,再將最小值給推進去,這樣保證每次都可以用最小值來連接。

int mod=998244353;
struct node{int l,r;
}a[N];
bool cmp(node u,node v){if(u.l==v.l)return u.r<v.r;return u.l<v.l;
}
void solve(){int n;cin>>n;for(int i=1;i<=n;i++){int x,y;cin>>x>>y;a[i].l=x-i;a[i].r=i-y;}sort(a+1,a+1+n,cmp);stack<int>q;q.push(a[1].r);for(int i=2;i<=n;i++){int f=0,tt;if(q.size()) tt=q.top();while(!q.empty()&&a[i].r>=q.top()){f=1;q.pop();}if(f==1){q.push(tt);}else{q.push(a[i].r);}}cout<<(int)q.size()<<'\n';
}  

D. Parallel Lines

題意:k條平行線 n個點。判斷每一條平行線上,點的x坐標


先暴力用第一個點和所有點,計算斜率。其中必有一個斜率是平行線斜率。

  • 判斷有哪幾個點在一條平行線上:

可以用直線方程, y=kx+b 將 k ,x , y 帶入,如果b值相同,說明在同一條直線上。

由于直接求斜率會有誤差,可以兩邊同乘 (x1-x2)

  • 剪枝:當 b 值 大于 k 個的時候,說明這個斜率是錯誤的
  • 注意:一條直線上至少有兩個點。
PII a[N];
void solve()
{int n,k;cin>>n>>k;fir(i,1,n)cin>>a[i].fi>>a[i].se;fir(i,2,n){int dx=a[i].fi-a[1].fi,dy=a[i].se-a[1].se;map<int,vector<int> > mp;fir(i,1,n){int x=a[i].fi*dy-a[i].se*dx;mp[x].push_back(i);if(mp.size()>k) break; }if(mp.size()==k){int f=0;for(auto it:mp){if(it.se.size()==1) f=1;}if(f) continue;for(auto it:mp){cout<<it.se.size()<<' ';for(auto ii:it.se){cout<<ii<<' ';}cout<<'\n';}return;}}         
}

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

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

相關文章

day13 leetcode-hot100-24(鏈表3)

234. 回文鏈表 - 力扣&#xff08;LeetCode&#xff09; 1.轉化法 思路 將鏈表轉化為列表進行比較 復習到的知識 arraylist的長度函數&#xff1a;list.size() 具體代碼 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode ne…

Vim文本編輯器快捷鍵用法以及簡單介紹

目錄 vim文本編輯器 簡介&#xff1a; 語法&#xff1a; vim模式介紹&#xff1a; 模式切換&#xff1a; 用法&#xff1a; 編輯模式&#xff1a; 一般模式&#xff1a; 命令模式&#xff1a; vim文本編輯器 簡介&#xff1a; 在命令行界面下&#xff0c;最常用的文本…

從 0 到 1:Spring Boot 與 Spring AI 深度實戰(基于深度求索 DeepSeek)

在人工智能技術與企業級開發深度融合的今天&#xff0c;傳統軟件開發模式與 AI 工程化開發的差異日益顯著。作為 Spring 生態體系中專注于 AI 工程化的核心框架&#xff0c;Spring AI通過標準化集成方案大幅降低 AI 應用開發門檻。本文將以國產大模型代表 ** 深度求索&#xff…

[Windows] 摸魚小工具:隱藏軟件(重制版)

由吾愛大神寫的摸魚工具&#xff1a; 數據存放路徑為C:\Users\用戶名\AppData\Local\HideSoft&#xff0c;如果不想用時&#xff0c;刪除軟件及此路徑下的HideSoft文件夾。如添加了開機啟動&#xff0c;刪除啟動菜單文件夾的快捷方式即可&#xff0c;或者刪除前在軟件中取消設置…

C++ 判斷文件的編碼類型

大多數文本編輯器&#xff0c;都會在文本文件的頭部插入一部分特殊的字節&#xff0c;用于輔助文本編輯器來判斷該文件的字符集編碼類型。 如&#xff1a;記事本 目前支持的字符集類型&#xff0c;通常為三種&#xff1a; Unicode、UTF8、UnicodeBIG、CP_ACP&#xff08;默認…

時間序列噪聲模型分析軟件推薦與使用經驗

最近在論文大修2024年投稿的一篇文章&#xff0c;大修了2輪&#xff0c;最后一次還是重新投稿&#xff0c;其中有一個問題一直被審稿人懟&#xff0c;他認為我計算時間序列的趨勢的時候&#xff0c;沒有考慮時間的相關性&#xff0c;即對噪聲模型的估計不合理&#xff0c;會影響…

【redis實戰篇】第六天

摘要&#xff1a; 本文介紹了基于Redis的秒殺系統優化方案&#xff0c;主要包含兩部分&#xff1a;1&#xff09;通過Lua腳本校驗用戶秒殺資格&#xff0c;結合Java異步處理訂單提升性能&#xff1b;2&#xff09;使用Redis Stream實現消息隊列處理訂單。方案采用Lua腳本保證庫…

【Java Web】速通HTML

參考筆記: JavaWeb 速通HTML_java html頁面-CSDN博客 目錄 一、前言 1.網頁組成 1 結構 2 表現 3 行為 2.HTML入門 1 基本介紹 2 基本結構 3. HTML標簽 1 基本說明 2 注意事項 4. HTML概念名詞解釋 二、HTML常用標簽匯總 + 案例演示 1. 字體標簽 font (1)定義 (2)案例 2…

Oracle/openGauss中,DATE/TIMESTAMP與數字日期/字符日期比較

ORACLE 運行環境 openGauss 運行環境 0、前置知識 ORACLE&#xff1a;DUMP()函數用于返回指定表達式的數據類型、字節長度及內部存儲表示的詳細信息 SELECT DUMP(123) FROM DUAL; -- Typ2 Len3: 194,2,24 SELECT DUMP(123) FROM DUAL;-- Typ96 Len3: 49,50,51 -- ASCII值&am…

[學習]C++ 模板探討(代碼示例)

C 模板探討 文章目錄 C 模板探討一、模板基礎概念二、函數模板三、類模板1. 類模板的定義與使用2. 成員函數模板3. 類模板的靜態成員與繼承 四、模板進階特性1. 非類型模板參數2. 可變參數模板&#xff08;Variadic Templates&#xff09;3. 模板元編程&#xff08;TMP&#xf…

人工智能-訓練AI模型涉及多個步驟

訓練AI模型涉及多個步驟&#xff0c;包括數據預處理、選擇合適的模型、訓練模型以及評估模型性能。下面是一個詳細的流程&#xff0c;以常見的機器學習任務——分類問題為例&#xff0c;展示如何使用Python中的scikit-learn庫來訓練一個簡單的AI模型。 步驟 1: 導入所需的庫 …

LVS+Keepalived 高可用

目錄 一、核心概念 1. LVS&#xff08;Linux Virtual Server&#xff09; 2. Keepalived 二、高可用架構設計 1. 架構拓撲圖 2. 工作流程 三、部署步驟&#xff08;以 DR 模式為例&#xff09; 1. 環境準備 2. 主 LVS 節點配置 &#xff08;1&#xff09;安裝 Keepali…

TCP 三次握手過程詳解

TCP 三次握手過程詳解 一、TCP握手基礎概念 1.1 什么是TCP握手 TCP三次握手是傳輸控制協議(Transmission Control Protocol)在建立連接時的標準過程,目的是確保通信雙方具備可靠的雙向通信能力。 關鍵結論:三次握手的本質是通過序列號同步和能力協商建立可靠的邏輯連接。 …

李宏毅NLP-7-CTC/RNN-T文本對齊

LAS LAS&#xff08;Listen, Attend and Spell &#xff09;模型&#xff0c;在語音識別中的解碼和訓練過程&#xff0c;具體內容如下&#xff1a; 解碼&#xff08;Decoding&#xff09; 公式 Y ? arg ? max ? Y log ? P ( Y ∣ X ) Y^* \arg\max_Y \log P(Y|X) Y?ar…

jQuery和CSS3卡片列表布局特效

這是一款jQuery和CSS3卡片列表布局特效。該卡片布局使用owl.carousel.js來制作輪播效果&#xff0c;使用簡單的css代碼來制作卡片布局&#xff0c;整體效果時尚大方。 預覽 下載 使用方法 在頁面最后引入jquery和owl.carousel.js相關文件。 <link rel"stylesheet&qu…

Microsoft 推出 Magentic-UI,多智能體引領網頁人機協作變革

當前&#xff0c;現代生產力與網頁操作緊密相連&#xff0c;信息檢索、表單填寫、儀表盤導航等網頁任務已成為工作流程的重要環節。然而&#xff0c;大量網頁任務仍依賴人工重復操作&#xff0c;效率低下且易出錯。與此同時&#xff0c;許多 AI 智能體雖追求自主運行&#xff0…

2023年6級第一套長篇閱讀

畫名詞概念&#xff0c;動詞概念 多處定位原詞加同義改寫 畫關鍵詞&#xff0c;多處定位直接就可以選A了 沒有定位的句子先比沒匹配到的段落&#xff0c;再匹配長的段落先易后難

登山第二十三梯:有序點云平面快速分割——35Hz幀速前進

文章目錄 一 摘要 二 資源 三 內容 一 摘要 3D 點云中的實時平面提取對于許多機器人應用至關重要。作者提出了一種新穎的算法&#xff0c;用于在從 Kinect 傳感器等設備獲得的有組織的點云中實時可靠地檢測多個平面。通過在圖像空間中將這樣的點云均勻地劃分為不重疊的點組&…

【北京盈達科技】GEO優化:引領AI時代內容霸權,重塑行業生態

盈達科技GEO優化&#xff1a;引領AI時代內容霸權&#xff0c;重塑行業生態 在人工智能飛速發展的今天&#xff0c;生成式AI已經深刻改變了人們獲取信息的方式。從ChatGPT到文心一言&#xff0c;再到各種智能問答系統&#xff0c;AI生成的內容正在成為信息傳播的新主流。然而&a…

安卓端智能耗材柜系統可行性方案(基于uniapp + Vue3)

一、系統架構設計 1. 技術棧&#xff1a; 前端框架&#xff1a;uniapp Vue3 TypeScript狀態管理&#xff1a;Pinia&#xff08;分層設計&#xff0c;模塊化Store&#xff09;硬件交互&#xff1a;Android原生插件&#xff08;Java/Kotlin封裝&#xff09;通信協議&#xff…