題目一:
乙個序列的平衡點是這樣的,它的左邊的所有的元素的和應該等於右邊的所有的元素的和,比如在下面的序列a:
a[0] = -7 a[1] = 1 a[2] = 5 a[3] = 2 a[4] = -4 a[5] = 3 a[6] = 0
3是乙個平衡點因為:
6也是乙個平衡點因為: (零個元素的和是零) 索引7不是平衡點,因為它不是序列a的有效索引。如果你仍然不是很清楚,那麼這裡給出了明確的定義:0 ≤ k < n 並且 sum[i=0]k-1 a[i] =sum[i=k+1]n-1 a[i]。時, 整數k是序列a[0], a[1], ..., a[n−1] 的平衡點,這裡我們假定零個元素的和為零。
請寫乙個函式
int solution(vector&a);返回給定序列的平衡點(任意乙個)如果沒有平衡點則返回−1,假設這個序列可達到非常大。
假定:
複雜度: 輸入陣列中的元素可以修改.**如下:
#include #include using namespace std;
int solution(vector& a)
if (left_sum == right_sum) return 0;
for (size_t i = 1; i < a.size(); i++)
} return -1;
}int main()
a.clear();
} return 0;
}
變形題目二:
給定乙個元素個數至少為5的正整數陣列,兩個索引將陣列分為三段(其中索引指定的元素不計算在段內),並且每段都至少有乙個元素。求是否有這樣的索引對使得這三段元素中每段之和都相等。若存在這樣索引對,則返回1,否則返回0。
#include #include using namespace std;
int solution(vector& a)
while (head < tail - 1)
} else if (left_sum < right_sum) else
} return 0;
}int main()
cout << solution(a) << endl;
a.clear();
} return 0;
}
平衡點 balance 題解
現有一張無限大的桌子 二維平面 桌面上有n個洞,每個洞有一根繩子穿過掛著乙個重物,質量為wi,洞的座標為 xi,yi 這n根繩子有個公共的繩結,求系統平衡後繩結的座標。輸入第一行為乙個正整數n 1 n 10000 表示洞的數目。接下來n行,每行三個整數xi,yi,wi,表示第i個重物的橫座標,縱座標...
奇妙 P1337 JSOI 平衡點
機房的dalao們還在樹裡面搖擺,平衡來平衡去的 我不喜歡冗長的 於是不想看。一不小心看到了 模擬退火 這個詭異名稱 結果發現這演算法給的例題有毒。但是一不小心在洛谷找到了乙個號稱是用這個演算法做的題。我拿著我自己沒a過題的對模擬退火的理解,理解了這道題的題解 覺得好像思路還是可以借鑑的。其實,就是...
簡記平衡點問題的實現及改進
從論壇上看到乙個平衡點的考題,問題如下 quote 1.平衡點問題 平衡點 比如int numbers 25前面的總和為24,25後面的總和也是24,25這個點就是平衡點 假如乙個陣列中的元素,其前面的部分等於後面的部分,那麼這個點的位序就是平衡點 要求 返回任何乙個平衡點 quote 跟帖中有人採...