隨筆 邀請賽前訓 Duff and Meat

2022-09-17 16:54:12 字數 808 閱讀 4076

題目的意思是給你多組清單,每組包含所需食物的數量,和當天食物的單價,可以囤積食物。求花最少的錢完成清單。

解決這道題目的策略是從頭到尾掃瞄一遍這些清單,再遇到更便宜的**前都用之前最便宜的**買食物,再更新當前最便宜的**,以此類推下去。

陣列a[ ]代表各天地食物需求

陣列b[ ]代表各天地食物單價

變數cheap代表當前最便宜的單價是哪天

#include#include

#include

using

namespace

std;

#define max(x,y) (((x)>(y)) ? (x) : (y))

#define min(x,y) (((x) < (y)) ? (x) : (y))

#define abs(x) ((x)>0?(x):-(x))

const

int inf = 0x7fffffff

;const

int n=100000+10

;int

a[n];

intb[n];

intmain()

int cheap=0

;

int cnt=a[0

];

long

long ans=0

;

for(int i=1; i)

else

//cout<<"ans= "<}

ans += b[cheap]*cnt;

cout

return0;

}

隨筆 邀請賽前練 Duff in Love

題意 給乙個數,求最大的乙個因子,這個因子還要滿足不能有平方數是他的因子。我的解法幾乎是暴力的,應該可以用數學的方法不暴力 或者說不那麼 暴力 求出來。我的解法是 include include include include include include using namespace std ...

湘潭邀請賽A

哥德 猜想 任一大於2的偶數,都可表示成兩個素數之和。是世界上最著名的未解問題之一,但是下面的反哥德 猜想 任一大於11的奇數,都可表示成兩個合數之和。確很容易證明。定義反哥德 分拆數g n 表示將大於11的奇數n分解為兩個合數之和的方案數。再定義sg n sum 即所有不大於n的奇數的反哥德 分拆...

通化邀請賽 I Difference

這個題目現場賽的時候沒過,想得過於簡單了。主要條件如下 a ai t for all i and b vi,vj in e ai aj t,首先,如過存在邊,那麼ai和aj必然一正一負。所以第一步就是黑白染色。之後不妨假設黑色的為正,白色為負,此時條件b中的絕對值號就可以去掉了。對於一堆的大於等於的...