2025 河北ICPC( D. 金泰園(二分)-- C.年少的誓約(公式轉化))

文章目錄

  • 2025 河北ICPC
    • D. 金泰園(二分)
    • C.年少的誓約(公式轉化)
    • 總結

2025 河北ICPC

題目鏈接:

Attachments - The 9th Hebei Collegiate Programming Contest - Codeforces

sdccpc20250522 - Virtual Judge

賽時:5道

D. 金泰園(二分)

沒想到二分,偶然間聽到,還沒想出怎么二分,此題借助題解和其他人代碼。

  • 二分對象是誰?

? 本題,如果二分答案即和的最小值,check函數怎么寫呢?

? 似乎解決不了。那還可以二分什么呢?

? 二分找到所選擇的k對中的最大差值

  • check函數怎么寫?

    對于x ,如果差值小于等于x的對數大于等于 k ,說明最小差值小于等于 x。

  • 怎么查找差值小于等于x的對數

    對于排好序的數組,如果a[i+p]-a[i]<=x,p是滿足條件的最大值,

    那么對于a[i+1+t]-a[i+1]<=x 滿足條件的 t 一定大于 p。

    易知,所有滿足的下標值是不斷增大的,最大為 n 。

    循環計算每個a[i],所構成的對數。

  • 已知x,再通過前綴和 計算 差值小于等于 x 的和

  • 用cnt記錄滿足條件的對數有多少個

  • 最大差值為 x ,不代表所有差值等于 x 都需要選擇。用cnt-k,就是多計算的。

int a[N],n,k,pre[N];
bool check(int x)
{int sum=0,p=1;for(int i=1;i<=n;i++){while(p<=n&&a[p]-a[i]<=x) p++;sum+=p-i-1;}return sum>=k;
}
void solve()
{cin>>n>>k;fir(i,1,n)cin>>a[i];sort(a+1,a+n+1);int l=1,r=1e8;//找到前k個的最大差值while(l<r){int mid=(l+r)>>1;if(check(mid))r=mid;else l=mid+1;}fir(i,1,n)pre[i]+=pre[i-1]+a[i];int ans=0,cnt=0,p=1;for(int i=1;i<=n;i++){while(p<=n&&a[p]-a[i]<=l)p++;ans+=pre[p-1]-pre[i]-a[i]*(p-i-1);cnt+=p-i-1;//計算有幾個>=l}ans-=(cnt-k)*l;//減去多余的cout<<ans;
}

C.年少的誓約(公式轉化)

請添加圖片描述

有幾個坑:

  • n*x<m ,輸出NO。不然可能WA/RE
  • 數據范圍 :__int128

對所有的c-b*k進行排序,按順序分配 x , x , x , m%x , 0 , 0 , 0

int a[N];
void solve()
{ int n,m,k,x;cin>>n>>m>>k>>x;__int128 sum=0,ans=0;fir(i,1,n){int xx,yy;cin>>xx>>yy;a[i]=yy-k*xx;      sum+=xx*yy;}  if(n*x<m){cout<<"NO\n";return;}  int f=m/x,g=m%x;ans+=(__int128)x*x*k*f+(__int128)g*g*k;sort(a+1,a+n+1,greater<int>());fir(i,1,f){ans+=(__int128)a[i]*x;}ans+=(__int128)a[f+1]*g;if(ans<=sum)cout<<"NO\n";else cout<<"YES\n";}

總結

賽時C、D題沒寫出來,太可惜了。雖然目前只過了7道題,不過也還可以。

今天是CCPC訓練賽第一天,我們隊穩扎穩打,凡是過的題,都沒有WA

就是慢了一點,但目前不構成影響。

希望明天訓練賽,大腦在線。

今天D題竟然沒看出二分!!!每次的二分都意料之外,雖然現在看來不過如此,沒A也是事實。

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

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

相關文章

QT學習一

對于選擇qmake還是cmake&#xff0c;現在寫的暫時先用qmake 1.命名規范和快捷鍵 2.按鈕控件常用API //創建第一個按鈕QPushButton * btn new QPushButton;//讓btn對象 依賴在mywidget窗口中btn->setParent(this);//顯示文本btn->setText("第一個按鈕");//創建…

【Elasticsearch】給所索引創建多個別名

Elasticsearch 是可以給索引創建多個別名的。 為什么可以創建多個別名 1. 靈活性 - 別名可以為索引提供一個更易于理解的名稱&#xff0c;方便用戶根據不同的業務場景或用途來引用同一個索引。例如&#xff0c;一個索引可能同時服務于多個不同的應用程序或服務&#xff0c;通…

使用 OpenCV 實現哈哈鏡效果

在計算機視覺和圖像處理領域&#xff0c;OpenCV 提供了非常強大的圖像幾何變換能力&#xff0c;不僅可以用于糾正圖像&#xff0c;還能制造各種“有趣”的視覺效果。今天&#xff0c;我們就來實現一個經典的“哈哈鏡”效果&#xff0c;讓圖像像在游樂園里一樣被拉伸、壓縮、扭曲…

AI|Java開發 IntelliJ IDEA中接入本地部署的deepseek方法

目錄 連接本地部署的deepseek&#xff1a; IntelliJ IDEA中使用deepseek等AI&#xff1a; 用法一&#xff1a;讓AI寫代碼 用法二&#xff1a;選中這段代碼&#xff0c;右鍵&#xff0c;可以讓其解釋這段代碼的含義。這時顯示的解釋是英文的。 連接本地部署的deepseek&#…

如何使用兩塊硬盤作為 Ubuntu24 的系統盤,實現壞掉一塊不影響系統運行。

最近我想使用Ubuntu組一個NAS系統&#xff0c;想實現系統盤冗余&#xff0c;各位大佬可以給點建議嗎。 Deep Seek 為了實現兩塊硬盤作為 Ubuntu 24 系統盤的冗余配置&#xff08;RAID 1&#xff09;&#xff0c;確保一塊硬盤損壞時系統仍可運行&#xff0c;以下是詳細步驟&am…

【2025最新】虛擬機安裝macos,VMware在Windows11上安裝macOS 15完整圖文教程 - 新手也能輕松上手

引言 想體驗蘋果系統但不想買Mac電腦&#xff1f;別擔心&#xff01;本教程將手把手教你如何在Windows11環境下&#xff0c;通過VMware虛擬機安裝macOS Sequoia15系統。即使你是零基礎小白&#xff0c;按照這個步驟操作&#xff0c;也能輕松搞定&#xff01; 準備工作 在開始…

論文閱讀筆記——Emerging Properties in Unified Multimodal Pretraining

BAGEL 論文 商業閉源系統與學術/開源模型的差距很大&#xff0c;BAGEL 旨在通過開源統一架構大規模交錯數據主要解決&#xff1a; 架構割裂&#xff1a;理解/生成分屬兩條網絡&#xff0c;信息被壓縮在少量條件 token 中&#xff0c;長上下文推理受限。數據貧乏&#xff1a;主…

Go 語言基礎1 Slice,map,string

更多個人筆記見&#xff1a; github個人筆記倉庫 gitee 個人筆記倉庫 個人學習&#xff0c;學習過程中還會不斷補充&#xff5e; &#xff08;后續會更新在github上&#xff09; 文章目錄 stirng 字符串區分 rune&#xff0c;byte&#xff0c;string字符串操作strings 庫相關 f…

C# AI(Trae工具+claude3.5-sonnet) 寫前后端

這是一個AI 寫的前后端分離項目,通過AI編程&#xff0c;開發電商管理系統&#xff08;登陸、注冊&#xff09; 使用的AI工具為 Trae工具(字節國際版)claude3.5-sonnet(目前代碼最強模型) 前端為 vue3Bootstrap 后端為 C# net5.0(因為我電腦里面已經安裝了這個新版更好) do…

10G/25G PCS only mode for CoaXPress Over Fiber

背景 在CoaXPress Over Fiber的需求中, 需要利用XGMII的PCS 實現25G 數據速率的穩定傳輸&#xff0c;也就是不需要其MAC層&#xff0c;只保留PMA PCS層&#xff0c;借用其物理端口 線纜&#xff0c;實現其它協議的數據傳輸。 25G PCS 25GMII 的 TX/RX 時鐘頻率在 DDR&#xff…

掌握聚合函數:COUNT,MAX,MIN,SUM,AVG,GROUP BY和HAVING子句的用法,Where和HAVING的區別

對于Java后端開發來說&#xff0c;必須要掌握常用的聚合函數&#xff1a;COUNT&#xff0c;MAX&#xff0c;MIN&#xff0c;SUM&#xff0c;AVG&#xff0c;掌握GROUP BY和HAVING子句的用法&#xff0c;掌握Where和HAVING的區別&#xff1a; ? 一、常用聚合函數&#xff08;聚…

無人機飛行間隔安全智能評估、安全風險評估

無人機空中安全飛行評估需結合改進碰撞模型、蒙特卡洛仿真、安全間隔反推及動態避障策略&#xff0c;通過多機型分類與實時數據融合&#xff0c;實現從理論建模到實際部署的全流程管控&#xff0c;為城市低空密集飛行提供安全保障。 需求 無人機飛行間隔安全智能評估 無人機…

pdf圖片導出(Visio和Origin)

一、Visio 導入pdf格式圖片 1. 設計->大小&#xff0c;適應繪圖。 2. 文件->導出&#xff0c;導出為pdf格式。 上面兩部即可得到只包含圖的部分的pdf格式。 如果出現的有默認白邊&#xff0c;可以通過以下方式設置&#xff1a; 1. 文件->選項->自定義功能區->…

實現一個帶有授權碼和使用時間限制的Spring Boot項目

生成和驗證授權碼記錄授權時間和過期時間實現授權邏輯 以下是具體的實現方法&#xff1a; 1. 生成和驗證授權碼 可以使用加密技術生成和驗證授權碼。授權碼中可以包含有效期等信息&#xff0c;并使用密鑰進行簽名。 示例代碼&#xff1a; java復制代碼 import javax.crypt…

官方SDK停更后的選擇:開源維護的Bugly Unity SDK

騰訊Bugly&#xff0c;為移動開發者提供專業的異常上報和運營統計&#xff0c;幫助開發者快速發現并解決異常&#xff0c;同時掌握產品運營動態&#xff0c;及時跟進用戶反饋。 但是&#xff0c;免費版的Unity SDK已經很久不更新了&#xff0c;會有一些問題和特性缺失&#xff…

Spring Boot分頁查詢進階:整合Spring Data REST實現高效數據導航

目錄&#xff1a; 引言分頁查詢基礎回顧 2.1 Spring Data JPA分頁接口 2.2 Pageable與Page的使用 2.3 常見分頁參數設計Spring Data REST簡介 3.1 HATEOAS與超媒體驅動API 3.2 Spring Data REST核心功能 3.3 自動暴露Repository接口整合Spring Boot與Spring Data REST 4.1 項目…

[Datagear] [SQL]實現分組統計同時帶匯總行的兩種方式對比分析

在進行數據可視化開發時,我們經常會遇到用戶提出的需求:除了展示按某字段分組統計的數據外,還希望看到一個“整體總計”的數據行。這種匯總行在報表、圖表展示中極為常見,可以幫助用戶快速理解全局數據水平。 實現這一功能的方法主要有兩種:一種是使用 SQL 的 GROUP BY ..…

Docker常用命令介紹

Docker常用命令 1、本地鏡像管理 save 命令 將一個或多個 Docker 鏡像保存到一個 tar 歸檔文件中&#xff0c;以便在其他環境中分發或備份。 # 語法&#xff1a;docker save [OPTIONS] IMAGE [IMAGE...]# 保存單個鏡像到文件 docker save -o myimage.tar myimage:latest# 保…

09 接口自動化-用例管理框架pytest之allure報告定制以及數據驅動

文章目錄 一、企業級的Allure報告的定制左邊的定制&#xff1a;右邊的定制&#xff1a;1.用例的嚴重程度/優先級2.用例描述3.測試用例連接的定制4.測試用例步驟的定制5.附件的定制 二、企業中真實的定制有哪些&#xff1f;三、allure報告如何在本地訪問四、allure中的數據驅動裝…

DDoS防護實戰——從基礎配置到高防IP部署

一、基礎防護&#xff1a;服務器與網絡層加固 Linux內核優化&#xff1a; 調整TCP協議棧參數&#xff0c;緩解SYN Flood攻擊&#xff1a; # 啟用SYN Cookie并減少超時時間 echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout…