演算法分享之關於atcoderbeginner166E的講解

来源:https://www.cnblogs.com/cryforbrightfuture/archive/2020/05/25/12960863.html
-Advertisement-
Play Games

序言:博客是為了別人寫?還是自己寫。在我看來,博客可以幫助我記錄自己的知識的歡愉,以別人的角度去審視自己的想法,博客幫助我記錄自己的成長,也等待著一位位有緣人。好了,不多說了,進入正題。回去做了做coderbeginner166的題,看到了一串非常有感覺的代碼,還是一樣的簡潔明瞭。此處,原題鏈接ht... ...


序言:博客是為了別人寫?還是自己寫。在我看來,博客可以幫助我記錄自己的知識的歡愉,以別人的角度去審視自己的想法,博客幫助我記錄自己的成長,也等待著一位位有緣人。

好了,不多說了,進入正題。回去做了做coderbeginner166的題,看到了一串非常有感覺的代碼,還是一樣的簡潔明瞭。此處,原題鏈接

https://atcoder.jp/contests/abc166/tasks/abc166_e

原題解析在此

clip_image002

解析:滿足題目要求的可能性就是這樣,數理化分析後,在左邊(較小數)和右邊對應較大數分別有一個單變數表達式,找到相等的就可以了。

代碼如下:

#include<stdio.h>
int main(){
int i,n,a[200002],b[200002]={0};
long long c=0;
scanf("%d",&n);
for(i=0;i<n;i++)scanf("%d",&a[i]);
for(i=0;i<n;i++){
    if(i+a[i]<=n)b[i+a[i]]++; //較小數的算式
    if(i-a[i]>=0)c+=b[i-a[i]];//較大數算式與較小數算式相等時,加上這些可能,由於較大數在較小數後面出現,不會出現漏記的情況,同時
//極大的節省了計算時間和記錄空間,完美,這是我給出的圖解(ps:不要計較美術,問就是靈魂畫師)
}atcoder166E
printf("%lld",c);
}


今天也要加油噢(ง •_•)ง!CRY

今日贈言:習慣細節決定成敗(對於我這種太過潦草的人來說,制約非常大)


陽菜37a1beeb2db

感謝一路有你相伴

滿意的話給我點個贊b( ̄▽ ̄)d把。(瘋狂暗示)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Java的前世今生 "我的個人博客" "本文視屏" 前言 這一期來講故事 你說為啥這杯咖啡能喝這麼多年還這麼香 讓我們一起來看看這杯咖啡的魔力 現如今一提到 Java開發 就完完全全是spring的事情 一談學習就是 springboot springcloud 好像沒有什麼事情是spring全家桶 ...
  • 定義要求一個子系統的外部與其內部的通信必須通過一個統一的對象進行。 門面模式提供一個高層次的介面, 使得子系統更易於使用。結構Facade:門面(外觀)角色,將收到的請求委派給相應的子系統Subsystem:子系統角色,處理請求,並不知道門面的存在,只是一個正常的客戶端優點減少系統的相互依賴提高靈活 ...
  • 在講工廠模式的時候,我將講一個早餐店創業故事來慢慢的引入簡單工廠模式,工廠方法模式和抽象工廠模式以及他們各自的區別。 創業初期,由於資金不足,最開始早餐店就賣一種商品包子,包子的種類有3種,肉包,菜包,和糖包,現在我們不用工廠模式來實現下這個代碼: 包子介面: public interface St ...
  • 我們都知道面向對象編程有三大特征:封裝,集成和多態,那我們如何在實際開發中去靈活運用它呢,今天我給大家聊一聊簡單工廠設計模式。簡單工廠設計模式的一個核心思想就是高內聚,低耦合,使具體的業務邏輯實現功能和效果展示分離開來。 先給大家舉一個沒有應用到工廠設計模式的例子: 題目:要求設計一個計算器程式,輸 ...
  • SunnyUI.Net, 基於 C# .Net WinForm 開源控制項庫、工具類庫、擴展類庫、多頁面開發框架 Blog: https://www.cnblogs.com/yhuse Gitee: https://gitee.com/yhuse/SunnyUI GitHub: https://git ...
  • #nginx功能 反向代理,負載均衡,緩存靜態資源,如圖片、CSS、JS #正向代理和反向代理 ##正向代理 代理客戶端,代客戶端發出請求,客戶端知道要訪問的真實地址,如vpn ##反向代理 代理服務端,代服務端接收請求,客戶端不知道要訪問的真實地址 #win10 docker部署nginx對dot ...
  • SunnyUI控制項庫安裝,其實也是常規的Winform控制項庫安裝方法。 ...
  • Entity Framework Core配置DbContext的兩種方式 ​ 使用Entity Framework 遷移過程 中遇到過一個問題,在這裡拿出來曬曬。 Unable to create an object of type 'xxxContext'. For the different ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...