題解 CF47A 【Triangular numbers】
這題其實就是高斯求和問題,即1+...+x=x(x+1)/2。
由此,我們就可以用遞推的思想來解決問題:
include<bits/stdc++.h>
using namespace std;
int main() {
//freopen("ask.in","r",stdin);
//freopen("ask.out","w",stdout);
long long n,r=0; cin>>n; for(int i=1;i<=999;++i) { r+=i; if(r==n) { cout<<"YES";//如果成立 return 0; } if(r>n) { cout<<"NO";//如果大於了n,則之後的r也必大於n,所以不成立。 return 0; } } return 0;
}
相關推薦
題解 CF47A 【Triangular numbers】
這題其實就是高斯求和問題,即1+...+x=x(x+1)/2。 由此,我們就可以用遞推的思想來解決問題: include<bits/stdc++.h> using namespace std; int main() { //freopen("ask.in","r",stdin);
題解 P1068 【分數線劃定】
floor brush highlight 序號 IT 定義 text 編輯 pre 由於涉及到排序和對應序號那就定義一個結構體結合STL模板中的sort日常沈迷sort提示:雖然我也是蒟弱sort是快速排序函數,有兩個或三個參數,兩個參數適用於平常的數字類型,即形sort
題解 UVA272 【TEX Quotes】
因此 bits 如何判斷 ets bsp light 有效 name std 本題的關鍵是,如何判斷一個雙引號是左雙引號還是右雙引號。 方法一:使用“fgetc(fin)”它讀取一個打開的文件fin讀取一個字符,然後返回一個int值。 如果把fgetc(fin)的返回值強制
luogu題解 P2184 【貪婪大陸】
代碼 線段 https reg ID date spa 鏈接 href 題目鏈接: https://www.luogu.org/problemnew/show/P2184 思路: 首先我想吐槽一下為什麽現有題解中的做法都是一樣的,而且還比較難以理解; 我就講下我的做
題解 P1050 【循環】
如果 次方 個數字 循環節 空間 div 數據 大小 高精度乘法 **題意分析**: 1.求整數n(1 <= n < $10^{100}$)的後k位的循環節 2.數據規模:1 <= n < $10^{100}
題解 P2196 【挖地雷】
方法: 作為一個剛剛接觸OI的蒟蒻,看到題目想都沒想就寫了一個搜尋,列舉每一個地窖作為起點再比較答案然後記錄下最優的,雖然此方法十分地暴力,但由於n<=20所以仍然能AC的 程式碼: #include <iostream> #include <vect
洛谷 題解 P1083 【借教室】
0x00 先看資料範圍 $ 1≤n,m≤10^6 $,第一反應 \(O(nlogn)\) 0x01 5 pts 直接輸出 '0' 即可。 不要問我怎麼知道輸出 '0' 可以拿 5 pts。 保持微笑.jpeg *1 0x02 40~50 pts 考慮暴力。 按照題意列舉即可。 核心虛擬碼如下
洛谷 Atcoder 題解 AT2585 【Colorful Leaderboard】
目測 普及/提高- 難度。 思路 將 9 種可能的等級儲存在數組裡,則 min 值為分數為 0 ~ 3199 的顏色種類個數,max 值為 min 值加上分數 >3200 的人數。 特判 若分數為 0 ~ 3199 的顏色種類個數為 0,分數 >3200 的人數大於 1,則min 值為 1
題解 CF550A 【Two Substrings】
為什麼我的做法跟別人如此不一樣啊qwq 思路:暴力判每一個"BA"出現的位置,二分查詢他前/後有沒有滿足條件的"AB",時間複雜度\(O(n\log_{2}n)\) # include <bits/stdc++.h> const int MaxN = 100010; std::vector
題解 P1034 【矩形覆蓋】
題面 在平面上有n個點(n≤50),每個點用一對整數座標表示。例如:當n=4時,4個點的座標分另為:p1(1,1),p2(2,2),p3(3,6),P4(0,7),見圖一。 這些點可以用k個矩形(1≤k≤4)全部覆蓋,矩形的邊平行於座標軸。當k=2時,可用如圖二的兩個矩形S1,s2覆蓋,81,S2面積和
題解 CF327C 【Magic Five】
這道題帶坑,假如沒有發現肯定會爆。 首先先搜尋一遍0和5,儲存在陣列a裡面。 那麼應當有2 ^ a1 +2 ^ a2 +...+ 2 ^ an。 然而這道題沒那麼簡單,數串還可以重複k次。 因此,需要在此基礎上在乘上1 + 2 ^ l + 2 ^ 2l +...+ 2 ^ (k - 1)l。其中l為數
題解 P2068 【統計和】
這是一道單點修改,區間查詢的線段樹。 需要實現的操作有三個:建樹,更新與查詢。 首先,線段樹用結構體維護,如下: 1 struct node { 2 int l, r; 3 int val; 4 } tree[maxn * 4]; 其中l, r表示節點所表示區
洛谷 題解 P5015 【標題統計】 NOIP2018 普及組 T1
stdio.h 理解 iso include %d num || code tdi 沒有人用 scanf("%c", &ch) != EOF 嗎? scanf 和 EOF 會傷心的。 思路:逐個讀入字符,遇到EOF中止,對於每個讀入的字符進行判斷
題解 CF939B 【Hamster Farm】
題目分析 實質上就是求餘數,找到n mod a[i] 的最小值,然後把 i 與 n/a[i] 輸出。就是一道純粹的模擬題,不過因為翻譯,要注意隱隱約約有10e18的資料範圍,一定要小心,用long long才行(一開始嚇得我想用高精(霧))。 主要思路 枚舉出每一個 a[i] 然後讓 n mod a[i
題解 CF938A 【Word Correction】
思想 首先判斷是否為母音,如果是,就去看後面有多少連續的母音,一併標記(刪除)然後去找下一個母音; 程式碼實現及註釋 #include<bits/stdc++.h> using namespace std; #define go(i,j,n,k) for(int i=j;i<=n;i+
題解 P1886 【滑動視窗】
線段樹優化做法 如果仔細讀過題的話,就會發現這是一個靜態的區間查詢最大值與最小值。 很多人(如果你學過線段樹的話)就會想到,我當年學線段樹的例題不就是區間加,然後求區間最大值嗎?何況還沒有區間加這一操作,豈不嗨皮哉??? 好的,看看資料範圍。 1*10^6??? 線段樹能過的去嗎?還需要維護兩個值,
題解 P2073 【送花】
毒瘤題目 主要思路:線段樹(權值線段樹) 可能很多同學做題之前會看一下題目標籤。 這題的題目標籤就是線段樹與平衡樹,然而寫不出來以後,一看題解裡全是STL,一臉茫然,,, 我這裡是一篇正了八經的線段樹解法。 首先我們要看清題: 1.操作的編號一定不能看倒,不能理所當然 2.記得是有這麼一句話:“
題解 P2296 【尋找道路】
主要思路:DFS + Dijkstra + 堆優化 + 反向思維 要不是寫程式碼的時間問題我就用線段樹優化了 首先,題目要求是路徑上的所有點的出邊所指向的點都直接或間接與終點連通。 我們可以先不考慮如何通過某點到達終點,我們想象如果通過一個點可以再到達終點,說明把邊反過來後,終點可以到達這個點。 那我
題解 P1966 【火柴排隊】
題目描述 涵涵有兩盒火柴,每盒裝有 n 根火柴,每根火柴都有一個高度。 現在將每盒中的火柴各自排成一列, 同一列火柴的高度互不相同, 兩列火柴之間的距離定義為: Σ(\(a_i\) - \(b_i\))² 其中a_i表示第一列火柴中第 i 個火柴的高度,b_i表示第二列火柴中第 i 個火柴的高度。 每列
題解 P1895 【數字序列】
題目背景 查詢數字 題目描述 在下列的無窮數字序列1121231234123451234561234567123456781234567891234567 8910123456789101112345678910......中,查詢第i個數字。 輸入輸出格式 輸入格式: 第一行為正整數t(1≤t≤