2020牛客國慶集訓派對day5

2021-10-09 23:59:37 字數 3992 閱讀 8048

題目ab

cdef

ghij

ksolved--

✔?--

-✔--

✔✔:比賽時通過;?:賽後通過;⚪:比賽時嘗試了未通過;-:比賽時未嘗試

solved by sstee1xd. 3:31(+7)

題意:問你在1−n

1-n1−

n中有多少個數字在k

kk進製與−k-k

−k進製表示下結果相同。

題解:轉換一下就是要求正負進製下只有奇數字有數字的數字有多少個。轉換過程中記錄下最後一位出現數字的偶數字在**,之後所有的奇數字都可以變成k−1

k-1k−

1,然後分別計算當前位限制的最大數字情況下和其他情況下數字的數量,注意最後一位直接加上數字+1+1

+1。做這道題目和隊友有分歧,導致卡了很久。

題意:有乙個x(1 ≤ x ≤ 1018)單位重量的物品,你有n個箱子,每個箱子裡有q個10k單位重量的砝碼。如果能用箱子裡的砝碼準確稱出物品的重量,請用最少的箱子並輸出其編號(1到n)。否則輸出-1.

題解:通過圖我們就要很明確一點,小砝碼數量足夠多時可以替代大砝碼,而大砝碼無法替代小砝碼。所以我們需要從x的個位,逐位尋找合適砝碼。可將10k單位重量的砝碼放入k佇列中,為滿足使用最少的箱子的原則,給所有的箱子都做上是否開啟的標記,已開啟的優先使用,其次是砝碼數量較多的優先使用。而k位上用剩下的砝碼,則可以插入k+1佇列中使用。

#include

#include

#include

using

namespace std;

typedef

long

long ll;

const

int inf =

0x3f3f3f3f

;#define endl "\n"

#define dbg(x...) \

do while (0)

void

err(

)template

<

classt,

class..

. ts>

void

err(

const t& arg,

const ts&..

. args)

const

int n =

1e5+10;

ll x, n, res[24]

;int cnt, sum, ans[n]

;struct box };

priority_queue q[24]

;void

run())

;}ll tmp =1;

while

(x)for

(int i =

0; i < cnt; i++))

;}else

}else);

}}if(res[i])}

printf

("%d\n"

, sum)

;for

(int i =

0; i < sum; i++

)printf

("%d "

, ans[i]);

}int

main()

solved by tryna.00:10:21(+)

#include

using

namespace std;

typedef

long

long ll;

const

int inf =

0x3f3f3f3f

;#define endl "\n"

#define dbg(x...) \

do while (0)

void

err(

)template

<

classt,

class..

. ts>

void

err(

const t& arg,

const ts&..

. args)

int n, f[

1010];

char ch[

1010][

15], st[15]

;int

main()

int cnt = n;

for(

int i =

1; i <= n; i++)}

} cout << cnt << endl;

for(

int i =

1; i<= n; i++

)return0;

}

solve by sstee1xd. 00:29(+1)

#include

using

namespace std;

typedef

long

long ll;

const

int inf =

0x3f3f3f3f

;#define endl "\n"

#define dbg(x...) \

do while (0)

void

err(

)template

<

classt,

class..

. ts>

void

err(

const t& arg,

const ts&..

. args)

int n, m, ql, qr, t;

int l[

1050

], r[

1050];

void

solve()

while

(m--)if

(tmp >= ql && tmp <= qr) ans++;}

cout << ans << endl;}}

intmain()

2020牛客國慶集訓派對day4 補題

2020牛客國慶集訓派對day4 b 題意 題意 求最長等差序列的長度。dp 攤派了我講不明白,參考下這兩篇部落格吧 捂臉 傳送門1 傳送門2 include include include include include include include using namespace std ty...

2020牛客國慶集訓派對day3(補題)

補題j flowers 題目鏈結 tot 為花的貢獻和 本題給出資料n,m,n為花卉種類,m為每束花應該有m種,check中的x為x束花,假設有x束花,則應該有xm朵花,在n種花中,check過程 如果a i x則說明花的數量大於花束的數量,這種花可以用在每一種,而且還多出來,tot中加上x,反之第...

牛客國慶集訓派對Day1

a 看樣例過題 include include include include include using namespace std typedef long long ll typedef pairpii const int maxn 1e5 10 vectorg maxn int a 10 i...