Offer收割 程式設計練習賽30

2021-08-09 22:17:14 字數 2578 閱讀 7733

題解

簡單的模擬題,大家懂的

**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#define fin freopen("input.txt", "r", stdin)

#define fout freopen("output.txt", "w", stdout)

using

namespace

std;

typedef

long

long ll;

const

int maxn = 8e2 + 5;

const

int inf = 0x3f3f3f3f;

char s[maxn];

int main()

else}}

printf("\n");

}return

0;}

題解

為了讓自己賣出去的利潤最多,可以從後面往前面儲存從

i 開始到最後的最大值,然後一一處理就可以了

**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#define fin freopen("input.txt", "r", stdin)

#define fout freopen("output.txt", "w", stdout)

using

namespace

std;

typedef

long

long ll;

const

int maxn = 1e6 + 5;

const

int inf = 0x3f3f3f3f;

int a[maxn], n;

int mx[maxn];

int main()

memset(mx, 0, sizeof(mx));

for(int i = n - 1; i >= 0; i --)

int sum = 0;

int t = 0;

for(int i = 0;i < n;i ++)

}printf("%d\n", sum);

}return

0;}

題解

推出公式an

=3an

−1−a

n−2,所以用矩陣快速冪就可以了,列出變換矩陣∣∣

∣∣3−

1010

0010

∣∣∣∣

然後直接求就可以了,由於中間有減,所以可能為負所以最終答案要加上mod再取模

**

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#define fin freopen("input.txt", "r", stdin)

#define fout freopen("output.txt", "w", stdout)

using

namespace

std;

typedef

long

long ll;

const

int maxn = 1e6 + 5;

const

int inf = 0x3f3f3f3f;

const

int mod = 1e9 + 7;

typedef

long

long ll;

typedef

vector

vec;

typedef

vector

mat;

ll n;

mat mul(mat &a, mat &b)}}

return c;

}mat pow(mat a, ll n)

return b;

}int main()

return

0;}

Offer收割 程式設計練習賽1

做了三題,題目都比較暴力。a題 題意 給你乙個三階的幻方,三階幻方指的是將1 9不重複的填入乙個3 3的矩陣當中,使得每一行 每一列和每一條對角線的和都是相同的。現在準備將乙個三階幻方中的一些陣列抹掉 0代替 交給你來進行還原,並且希望她能夠判斷出究竟是不是只有一組解。如果只有一組解,輸出該三階幻方...

Offer收割 程式設計練習賽7

比較容易想到是o n 2 的解決方案,遍歷n種刪除可能,每次遍歷o n 時間求總高度。前者優化比較困難,因而想辦法優化每次遍歷求高度的時間。由前往後遍歷,當刪除第i個時,先前的排版是連續的,從而通過計數器等累加方法可以求得已完整行的總高度presum,以及當前未完整行的w,h。include def...

Offer收割 程式設計練習賽26

題解 按照條件求解出最大的三角形和最小的三角形,然後求重心即可。這裡求解面積有兩種方法 海 式 p p a p b p c 將三角形的每一條邊求解出來,然後進行處理 用有向向量進行計算,如果設a x0,y 0 b x1,y 1 c x2,y 2 三點為三角形三個頂點,a 為有向面積,那麼2a x0 ...