思路:一開始遞推推錯了,改用dfs
**:
#includeusing namespace std;
int ans;
void dfs(int x, int sum)
//記住i從x開始搜的這一剪枝,不僅僅可以提公升效率
//更重要的是可以保證搜尋出來的結果不會重複,是有序的
for(int i = x; i <= 10 - sum; i++)
}int main()
在蒜國,有 n 戶漁民住在海岸線上,整齊的排列成一條直線。每個漁民的房子我們用乙個座標 pi 來表示,每個漁民的活動半徑為 d。也就是說兩個距離小於等於 d 的房子,這兩戶漁民相互認識,是好友。
那麼在蒜國,有多少對漁民相互認識?
第一行輸入兩個整數 n,d。
第二行輸入 n 個整數 pi,表示每個漁民房子的座標(存在座標相同的 pi)。
輸出乙個整數,表示有多少對漁民相互認識。
對於 50% 的資料範圍:1≤n≤10^3。
對於 100% 的資料範圍:1≤n≤10^5,1≤d≤10^4,1≤pi≤10^8。
樣例輸入複製
5 10樣例輸出複製10 12 16 37 40
4思路:
一開始用暴力,雙重for迴圈列舉所有的答案
看了題解才知道我是個弟弟,這麼好用的upper_bound二分我竟然沒想到用
awsl
**:
#include#include#define ll long long
using namespace std;
int n, d;
int p[101000]; //這題還有兩個坑點,乙個是陣列要開到1e6
ll sum; //第二個就是sum不用ll會爆
int main()
sort(p, p + n); //前提是有序
for(int i = 0; i < n; i++)
cout << sum << endl;
return 0;
}
計蒜客藍橋杯模擬賽心得
1.有趣的數字 我們稱乙個數是質數,而且數字 現了 55 的數字是有趣的。例如 5,59,457 都是有趣的,而 15,7 不是。求 1 到 100000 中有趣的數的個數。思路 其實很簡單,1 判斷是否為素數 2 位數是否含有5 注意點 剛開始以為要總數減去1,就是15這個數,後來才發現15不是素...
計蒜客藍橋杯省賽模擬五
a.了解進製轉換原理 b.熟練掌握求數字中各個位置數的方法 includeusing namespace std int check int a return re int main void printf lld n ans return 0 c.做法一 費馬小定理的運用,若a和b互質,則a的 b...
藍橋杯 計蒜客2017模擬賽A習題整理
輸出的不老練,還是分開自己在加一下吧。includeusing namespace std int main for int i 1 i 20 i printf lld n sum printf f s 0.5 return 0 沒啥說的,暴力就行了。includeusing namespace s...