a - joysticks
題意:注意ab同為11時停止。
#include
using
namespace std;
intmain()
cout<}
b - beautiful paintings
題解:題目要求最大的相鄰的公升序對數,那麼先公升序一遍,然後將相同的數繼續公升序,不斷繼續這個過程。資料不大,直接暴力。
#include
using
namespace std;
int a[
1010
],vis[
1010];
intmain()
cout<}
c - watchmen
題解;兩個式子相等化簡得到(|x1-x2|)(|y1-y2|)=0,即只要x相同或者y相同就能取,n個點裡取兩個點,即cn2,但是完全相同即重複的點不能取,需要減去。設x相同有cx個,y相同有cy個,都相同有sa個,則答案為cx*(cx-1)/2+cy*(cy-1)/2-sa*(sa-1)/2。
順帶乙個pair用法的學習:
作用:將兩個值當作乙個值。
用法(用於map標記的):pairp;
map[p,ll]mp;
mp[p(a,b)]++;
#include
#include
using
namespace std;
typedef
long
long ll;
typedef pairp;
ll x[
200010
],y[
200010];
intmain()
for(i=
0;i) cout<(cx-1)
/2+cy*
(cy-1)
/2-sa*
(sa-1)
/2<}
4 16思維訓練
a 題意 將一根棒子分成四份,成為乙個矩形但不能是正方形,求方法數。題解 矩形對邊相等,有兩對相同的長和寬,即棒子的長度必須是偶數,是偶數才能對半分。然後手推幾組資料可以知道n 2為奇數的時候答案為n 2,偶數n 2 1 include using namespace std intmain b 題...
5 6思維訓練
a guest from the past 題解 暴力迴圈會超時。買玻璃瓶有返還,而塑料瓶沒有,應當優先考慮玻璃瓶。玻璃瓶的實際 為b c,但當前 要 b才能買。設買了n瓶,先減去最後一瓶的錢 不包括返還 然後前面的瓶一定能買下並且 為b c。然後剩餘的錢買塑料瓶即可。include using n...
5 7思維訓練
a far relative s birthday cake 題解 每行每列cn2加起來即可。include include using namespace std char a 110 110 intmain for j 0 j cout b far relative s problem 題解 開...