2020牛客寒假演算法基礎集訓營2

2021-10-02 14:50:28 字數 3440 閱讀 8135

兩兩取最小值相加,注意要開成long long

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

intmain

(void

)

減去第乙個6,判斷能組成多少個16

#include

#include

#include

#include

#include

using

namespace std;

string s;

intmain

(void

) a--

; cout <<

min(a, b)

<< endl;

return0;

}

這道題本菜雞還不會qaq

#include

using

namespace std;

const

int n =

2005

, mod =

1e9+7;

long

long n, p[n]

, f[n]

[n];

intmain()

for(

int i =

0; i <= n;

++i)

cout << f[n]

[i]<<

' ';

return0;

}

最讓我不可思議的是這道題o(n

3)

o(n^3)

o(n3)能過

一開始以為這道題用到的是極角排序,結果可以直接用三重迴圈進行列舉,先判斷三點是否共線,再判斷三角形是否是鈍角三角形

判斷鈍角三角形的方法有兩種:

1、求出三邊a、b

、c

a、b、c

a、b、

c,存在一邊邊長的平方大於另外兩邊邊長的平方和,如a

2>b2

+c

2a^2>b^2+c^2

a2>b2

+c22、求出三邊的向量,存在兩邊的點乘小於0(因為這種方法對向量的方向有要求,所以需要求出六個向量,不推薦這種方法)

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

int x[

505]

, y[

505]

;int

main

(void)}

} cout << ans << endl;

return0;

}

原式平方後得到i+j

+2ij

=k

i+j+2\sqrt=k

i+j+2i

j​=k

,當i jij

ij為完全平方數時,才有對應的k

kk,題目中給出了ijij

ij的範圍,正好可以列舉完全平方數,再求完全平方數有多少對因數,即為答案。

很巧妙的做法,複雜度是o(n

)o(n)

o(n)

#include

#include

using

namespace std;

intmain

(void

) ans--;}

cout << ans << endl;

return0;

}

這道題題目給了一點暗示,要使自己和對方的價值差距最大,所以要選當前a + b最大的物品

題解:

#include

#include

using

namespace std;

const

int n =

2e5+5;

struct goodsarr[n]

;bool

cmp(goods x, goods y)

intmain

(void

)for

(int i =

1; i <= n; i++

)sort

(arr +

1, arr + n +

1, cmp)

;for

(int i =

1; i <= n; i +=2

) cout << endl;

for(

int i =

2; i <= n; i +=2

) cout << arr[i]

.id <<

' ';

cout << endl;

return0;

}

這道題本人是沒有讀太懂,題解說只要取模後相等就可以,但是我在題目中並沒有讀出這個意思。

拼人品題,取乙個合適的模就可以通過

#include

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

ll m =

1e9+1;

ll mod_pow

(ll x, ll n, ll mod)

return res;

}int

main

(void

)return0;

}

這道題本菜雞還不會qaq

#include

using

namespace std;

const

int n =

3e5+7;

int dp[n]

, pre, a[n]

, n, k;

intmain()

cout << dp[n]

;return0;

}

2020牛客寒假演算法基礎集訓營

長期更新,補完為止 2 g 判正誤 題意 t組資料。判斷a d b e c f是否等於g。1e9 a,b,c,g 1e9,0 d,e,f 1e9。保證不會出現指數和底數同為 0 的情況。思路 硬算會tle或mle。快速冪取模,為了增加過題概率,多取幾個模數判斷。includeusing namesp...

2020牛客寒假演算法基礎集訓營1

找規律,推公式 三角形個數為2 m n m n m 1 n 1 2 m n mn m 1 n 1 2 m n mn m 1 n 1 include include include include using namespace std typedef long long ll const int m...

2020牛客寒假演算法基礎集訓營1

h題 突然發現h題可以用好多種方法做的。方法一 雙指標,維護乙個修改次數小於等於k的區間 include using namespace std typedef long long ll const int mod 1e9 7 const int n 1e5 5 const int inf 0x3f...