牛客周賽 Round 109 (小紅的直角三角形

小紅的直角三角形

思路:

當作向量來求,向量乘為0;

#include<bits/stdc++.h>
#define ll long long 
#define endl "\n"
using namespace std;
typedef pair<ll, ll> pll;
int n;
vector<pll> u;
void solve() {int x, y, l, r;cin >> x >> y >> l >> r;if (x * l + y * r == 0 || -x * (l - x) + (-y) * (r - y) == 0 || -l * (x - l) + (-r) * (y - r) == 0) {cout << "Yes" << endl;}else {cout << "No" << endl;}return;
}
int main(){ios::sync_with_stdio(false);        // 禁用同步std::cin.tie(nullptr),std::cout.tie(nullptr);             // 解除cin與cout綁定int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

小紅的好點對

思路:

因為在坐標軸上,所以只有同x軸/y軸相差為1才成立,(0,0)單獨討論與(1,0)(0,-1)(-1,0)(0,1)的情況;

#include<bits/stdc++.h>
#define ll long long 
#define endl "\n"
using namespace std;
typedef pair<int, int> pii;
int n;
void solve() {int n;cin >> n;vector<int>a, b;bool pan = false;int x, y;for (int i = 0; i < n; i++) {cin >> x >> y;if (x == 0 && y == 0) {pan = true;}else if(x==0) {a.push_back(y);}else {b.push_back(x);}}sort(a.begin(), a.end());sort(b.begin(), b.end());int ans = 0;if (!a.empty() && (a[0] == -1 || a[0] == 1)&&pan) {ans++;}for (int i = 1; i < a.size(); i++) {if (a[i] == 1 || a[i] == -1) {if (pan)ans++;}if (a[i] - a[i - 1] == 1) {ans++;}}if (!b.empty() && (b[0] == -1 || b[0] == 1) && pan) {ans++;}for (int i = 1; i < b.size(); i++) {if (b[i] == 1 || b[i] == -1) {if (pan)ans++;}if (b[i] - b[i - 1] == 1) {ans++;}}cout << ans << endl;return;
}
int main(){ios::sync_with_stdio(false);        // 禁用同步std::cin.tie(nullptr),std::cout.tie(nullptr);             // 解除cin與cout綁定int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

小紅的整數三角形

思路:

兩種情況,若y1!=y2,C點位(x1+(-)2,y1)或(x2+(-)2,y2)? S=2*|y1-y2|/2;

若y1=y1,C點位(x1,y+(-)21)或(x2,y2+(-)2)? ?S=2*|x1-x2|/2;

#include<bits/stdc++.h>
#define ll long long 
#define endl "\n"
using namespace std;
typedef pair<int, int> pii;
int n;
void solve() {ll x, y, l, r;cin >> x >> y >> l >> r;ll q = y - r;if (q != 0) {cout << l + 2 << " " << r << endl;}else {cout << l << " " << r+2 << endl;}return;
}
int main(){ios::sync_with_stdio(false);        // 禁用同步std::cin.tie(nullptr),std::cout.tie(nullptr);             // 解除cin與cout綁定int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

小紅的馬

思路:

兩個map,一個存可以吃到兵的所以點位+該點位可以吃幾個兵,第二個map存,兵的點位

最后遍歷第一個map,并舍去第二個map存在的點后,取最大值。

#include<bits/stdc++.h>
#define ll long long 
#define endl "\n"
using namespace std;
typedef pair<int, int> pii;
pii b[8] = { {-1,2},{-1,-2},{1,2},{1,-2},{-2,1},{-2,-1},{2,1},{2,-1} };
void solve() {int n;cin >> n;pii a;map<pii, int> f, pan;for (int i = 0; i < n; i++) {cin >> a.first >> a.second;pan.insert({ a, 0 });for (int j = 0; j < 8; j++) {auto it = f.find({ a.first + b[j].first,a.second + b[j].second });if (it == f.end()) {f.insert({ { a.first + b[j].first,a.second + b[j].second },1 });}else {(*it).second++;}}}int max_f = 0;pii g = { n,n };for (auto& it : f) {if (it.first.first < 1 || it.first.second < 1) {continue;}auto yy = pan.find(it.first);if (yy == pan.end()) {if (max_f < it.second) {g = it.first;max_f = it.second;}}}cout << g.first<<" "<<g.second << endl;return;
}
int main(){ios::sync_with_stdio(false);        // 禁用同步std::cin.tie(nullptr),std::cout.tie(nullptr);             // 解除cin與cout綁定int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

小紅的好矩形

思路:

  1. 預處理:將點按?x?坐標和?y?坐標分別排序,方便后續處理。
  2. 查找滿足條件的點:對于每個點,檢查是否存在?(x+1, y)?或?(x, y+1)
  3. 統計點對
    • 對于相同?x?坐標的點,統計滿足?(x+1, y)?存在的點數目,計算組合數。
    • 對于相同?y?坐標的點,統計滿足?(x, y+1)?存在的點數目,計算組合數。
  4. 去重處理:如果存在點同時滿足?(x+1, y)?和?(x, y+1),需要減去重復計數的情況。
#include<bits/stdc++.h>
#define ll long long 
#define endl "\n"
using namespace std;
typedef pair<int, int> pii;
int n;
vector<pii> u;
bool find(pii q) {q.first++;int l = 0, r = n - 1;while (l < r) {int mid = (l + r) / 2;if (u[mid] > q) {r = mid - 1;}else if(u[mid]<q) {l = mid + 1;}else {return true;}}if (u[l] == q) {return true;}else {return false;}
}
void solve() {cin >> n;vector<pii> a(n), b(n);for (int i = 0; i < n; i++) {cin >> a[i].first >> a[i].second;b[i].second = a[i].first, b[i].first = a[i].second;}sort(a.begin(), a.end());sort(b.begin(), b.end());ll ans = 0;int i = 0;u = a;while (i < n) {while (i<n&&!find(a[i])) {i++;}if (i >= n) {break;}pii w = a[i];i++;if (i >= n) {break;}ll sum = 1;for (; i < n&&w.first==a[i].first; i++) {if (find(a[i])) {sum++;}}ans += (sum - 1) * sum / 2;}i = 0;u = b;while (i < n) {while (i < n && !find(b[i])) {i++;}if (i >= n) {break;}pii w = b[i];i++;if (i >= n) {break;}ll sum = 1;for (; i < n && w.first == b[i].first; i++) {if (find(b[i])) {sum++;}}ans += (sum - 1) * sum / 2;}for (int i = 0; i < n; i++) {if (i + 1 < n && b[i].first == b[i + 1].first &&b[i+1].second-b[i].second==1&& find(b[i]) && find(b[i + 1])) {ans--;}}cout << ans << endl;return;
}
int main(){ios::sync_with_stdio(false);        // 禁用同步std::cin.tie(nullptr),std::cout.tie(nullptr);             // 解除cin與cout綁定int t = 1;//cin >> t;while (t--) {solve();}return 0;
}

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

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

相關文章

efcore 對象內容相同 提交MSSQL后數據庫沒有更新

一、efcore 對象內容相同 提交MSSQL后數據庫沒有更新在.net6EFcore6環境&#xff0c;遇到一個問題&#xff0c;當界面UI傳給EF的對象值沒有變化&#xff0c;它居然不去更新數據庫。那我有2個EFcore實例都在更新數據庫&#xff0c;值一直不變&#xff0c;程序就更新不到數據庫中…

DockerComposeUI+cpolar:容器管理的遠程可視化方案

前言&#xff1a;DockerComposeUI作為Docker容器的可視化管理工具&#xff0c;通過直觀的Web界面實現容器的啟動、暫停、終止等操作&#xff0c;支持鏡像管理和Compose文件編輯。特別適合開發團隊和運維人員&#xff0c;其圖形化操作簡化了復雜的命令行操作&#xff0c;狀態面板…

H5 頁面與 Web 頁面的制作方法

1. H5 頁面制作使用 HTML5、CSS3 和 JavaScript 技術&#xff1a;這些技術支持創建交互式和響應式 H5 頁面。使用 H5 編輯器或框架&#xff1a;如 Adobe Dreamweaver、Brackets 或 Ionic&#xff0c;這些工具提供了預先構建的模板和組件&#xff0c;簡化了開發過程。考慮移動設…

1.6、機器學習-決策樹模型(金融實戰)

決策樹是一種基于特征分割的監督學習算法,通過遞歸分割數據空間來構建預測模型。 1.1、決策樹模型基本原理 決策樹思想的來源樸素,程序設計中的條件分支結構就是 if-then結構,最早的決策樹就是利用這類結構分割數據的一種分類學習方法。為了更好理解決策樹具體怎么分類的,…

常見中間件的同步算法、CAP 默認傾向及自定義支持情況

文章目錄CAP 概念1、比較2、關鍵說明&#xff1a;CAP 概念 CAP 定理指分布式系統無法同時滿足??一致性&#xff08;C??onsistency&#xff09;、??可用性&#xff08;??A??vailability&#xff09;、??分區容錯性&#xff08;??P??artition Tolerance&#xf…

Spring 中處理 HTTP 請求參數注解全解析

在 Spring 框架的 Web 開發中&#xff0c;處理 HTTP 請求參數是一項基礎且重要的工作。除了 PathVariable、RequestParam 和 Valid RequestBody 外&#xff0c;還有一些其他注解也用于此目的。本文將對這些注解進行全面的區分和解析&#xff0c;幫助開發者在實際項目中更準確地…

【代碼隨想錄算法訓練營——Day11】棧與隊列——150.逆波蘭表達式求值、239.滑動窗口最大值、347.前K個高頻元素

LeetCode題目鏈接 https://leetcode.cn/problems/evaluate-reverse-polish-notation/ https://leetcode.cn/problems/sliding-window-maximum/ https://leetcode.cn/problems/top-k-frequent-elements/ 題解 150.逆波蘭表達式求值、 不能用tokens[i] > "0" &&…

Docker 容器化部署核心實戰——鏡像倉庫管理與容器多參數運行詳解

摘要&#xff1a; 在當今云原生技術迅速發展的背景下&#xff0c;Docker 已成為應用容器化的首選工具。本文作為“Docker 容器化部署核心實戰&#xff1a;從鏡像倉庫管理、容器多參數運行到 Nginx 服務配置與正反向代理原理解析”系列的第一篇&#xff0c;將深入探討 Docker 鏡…

ESP8266無法連接Jio路由器分析

我查了一下關于這些 Jio 路由器型號&#xff08;尤其是 JCOW414 和 JIDU6801&#xff09;的公開資料&#xff0c;下面是我能拿到的內容 對比這些型號可能帶來的問題&#xff0c;以及對你排障的補充建議。 路由器型號 & 公開已知特性 型號已知 / 可查特性和 ESP8266 的潛在…

傳智播客--MySQL

DAY01 MySQL入門 第一章 數據庫介紹 1.1 什么是數據庫 數據存儲的倉庫&#xff0c;本質上是一個文件系統&#xff0c;作用&#xff1a;方便管理數據的。 1.2 數據庫管理系統 數據庫管理系統&#xff08;DataBase Management System, DBMS&#xff09;&#xff1a;指一種操作和管…

[Dify] 實現“多知識庫切換”功能的最佳實踐

在構建知識驅動的問答系統或 AI 助手時,一個常見需求是:根據用戶問題所屬領域或上下文,切換使用不同的知識庫(Knowledge Base, KB)進行檢索。這樣可以提升回答的準確性、減少無關內容干擾,在多業務線或多主題應用中尤其有用。 本文將介紹: 為什么要做知識庫切換 Dify …

Jenkins運維之路(Jenkins流水線改造Day02-2-容器項目)

上篇文章中已經將絕大部分&#xff0c;Jenkins容器項目打包的相關功能改造完成了&#xff0c;這里在對構建部署后的告警類操作進行一些補充1.流水線告警1.1 安裝釘釘插件image-202509151111086851.2 配置釘釘插件image-20250915111235865image-202509151115328291.3 Pipeline釘…

64_基于深度學習的蝴蝶種類檢測識別系統(yolo11、yolov8、yolov5+UI界面+Python項目源碼+模型+標注好的數據集)

目錄 項目介紹&#x1f3af; 功能展示&#x1f31f; 一、環境安裝&#x1f386; 環境配置說明&#x1f4d8; 安裝指南說明&#x1f3a5; 環境安裝教學視頻 &#x1f31f; 二、數據集介紹&#x1f31f; 三、系統環境&#xff08;框架/依賴庫&#xff09;說明&#x1f9f1; 系統環…

N1ctf-2025-PWN-ez_heap近隊容器的禮儀

ez_heap 保護全開 程序邏輯&#xff1a; 讀入0x30的字符串&#xff0c;進行字符串校驗&#xff1a;以冒號為標志split&#xff0c;分成四份。最后輸入字符串形如&#xff1a; xor 0x111111111111111 validate badmin:p64(xor)b:Junior:111111創建0x180的chunk存放note 結構體…

縱深防御實踐:東方隱俠CI/CD安全體系構建全解析

前言:CI/CD安全的必要性 企業上云是近些年的潮流,但是風險如影隨形。之前有家電商平臺出了個大岔子——半夜自動發新版本的時候,因為流程里沒做安全檢查,直接導致系統故障,一天就損失了300多萬。這還不算完,某銀行測試人員通過未授權的自動發布流程把代碼推到了生產環境…

2025年滲透測試面試題總結-71(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 2. 滲透測試流程 & 內網滲透經驗 3. SQL注入報錯利用 4. XSS利用&#xff08;反射型/DOM型&#xff0…

基于Echarts+HTML5可視化數據大屏展示-茶園大數據平臺指揮艙

效果展示&#xff1a;代碼結構&#xff1a;主要代碼實現 index.html布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0&quo…

華為網路設備學習-33(BGP協議 八)BGP路由 選路規則

一、目標與背景BGP路由特性&#xff1a;支持豐富的路徑屬性選路規則多樣注&#xff1a;在BGP路由表中最優選&#xff0c;不一定是路由表中的最優選。有可能存在靜態路由或者ospf路由等&#xff0c;其優先級高于BGP路由。二、選路規則概述從1到12&#xff0c;依次對比優先級。一…

深度學習(七):梯度下降

梯度下降&#xff08;Gradient Descent&#xff09;是深度學習中最核心的優化方法之一&#xff0c;它通過迭代更新模型參數&#xff0c;使得損失函數達到最小值&#xff0c;從而訓練出性能良好的神經網絡模型。 基礎原理 損失函數 在深度學習中&#xff0c;損失函數 L(θ) 是衡…

常見巖性分類與油氣勘探意義筆記

常見巖性分類與油氣勘探意義筆記 相關科普視頻可查看【說說巖石的分類-嗶哩嗶哩】 一、巖石基本分類體系 根據成因&#xff0c;自然界巖石可分為三大類&#xff0c;其中沉積巖與油氣勘探關系最為密切&#xff1a; 1. 火成巖&#xff08;巖漿巖&#xff09; 由巖漿冷卻凝固…