小資料作為解題關鍵

2022-05-24 01:30:09 字數 734 閱讀 4765

天津賽區網路賽的兩道題目

1:題意:給你乙個k (0 < k < 2^31) ,求正整數x,y,z滿足 x^z + y^z + xyz = k,有多少組。(x < y, z > 1)

思路:如果暴力列舉的話,肯定會超時。這裡關鍵是31.因為1<=x < y 所以y>=2所以z<31;對於x他最大肯定小於5000(因為50000^2 > 2^31)

所以我們只要列舉x和z然後在區間[x + 1,5000]二分查詢即可o(50000*31*log(50000))

2:題意:pp要在a城市旅遊,a城市有n個地點,給出m條路,及其花費,他從中選出h個城市必須去。由於資金的限制,有時他必須通過花掉d的金錢取得打工證書,然後打工掙取c的金錢以保證他能夠走完這h個城市。對已屬於h的城市i他可以選擇只訪問不打工,也可以選擇打工掙錢。

思路:n (n <= 100)  m (m <= 5000) 

暴力的肯定會超時,我們通過floyd將這h個點與點1重現建邊,這個就形成了乙個只包含1和h個點的圖,這樣就形成了16個點的圖。然後就是如何求乙個路線從1經過這h個點後再到達1的路線了。才開始暴力dfs的話是o(15!)沒想出好辦法就寫了,結果tle不過賽後看著好像有dfs過得,可能我寫的太搓了。正確解法是狀態壓縮。

dp[i][j]表示以j結尾的i路線到達j節點是的金錢量當然我們貪心的選取剩餘金錢量最大的路線了。dp[now][k] = max(dp[now][k],dp[i][j] - mp[u][v] - p[k].d + p[k].c)新增k到j的邊。

小資料作為解題關鍵

天津賽區網路賽的兩道題目 1 題意 給你乙個k 0 k 2 31 求正整數x,y,z滿足 x z y z xyz k,有多少組。x y,z 1 思路 如果暴力列舉的話,肯定會超時。這裡關鍵是31.因為1 x y 所以y 2所以z 31 對於x他最大肯定小於5000 因為50000 2 2 31 所以...

MyBatis如何實現資料庫關鍵字作為表字段的更新

最近需要操作別人的一張表,該錶直接將mysql的關鍵字作為表字段,使用mybatis插入資料時一直報錯。開始一直以為是sql語句的問題,後來排查到原來是使用了mysql關鍵字作為字段,導致更新出錯。神奇的是,別人更新這張表一點問題都沒有 最後才發現他自己都不使用這個字段 解決這個問題很簡單,使用my...

硬碟小資料

今天我們來研究下硬碟。簡單敘述,我也不太知道的硬碟歷史,據說第一塊硬碟是1956年,很大,從那時候ibm就建立了硬碟的基本架構。那些古老的硬碟架構我沒去了解過,不管那麼多。就說現在的機械硬碟。結構如圖,不多說 磁頭 磁頭其實就是乙個電磁鐵,線圈 鐵芯,如圖 原理 這裡我要多說的是這個磁碟的讀寫原理。...