noip2006 2 k進製數(高精度 進製)

2021-08-10 09:52:01 字數 1117 閱讀 3978

我是超連結

列了列柿子,如果這玩意用markdown實現的話得有多少大括號啊

每一位2^k進製數可以轉化為k位二進位制數

那麼我們可以分為兩種情況

一定可以討論的 – – – –位數<=w/k

不一定存在的– – – – –位數=w/k+1(只有w%k!=0才存在)

這個依次遞增的東西怎麼填數啊?誒?好像組合數就可以啊,在可以取的範圍中r找n位數,那不就是cn

r 【你從小到大取,他要是後來想要取小的就會發現已經取過了這種方案,就不會再取了】!

第一模擬較好討論,取數的範圍可以是1~2^k-1,找的位數可以迭代

主要來說第二類,當涉及首項的時候,首項不能太大啊,不然就超過了規定的位數,那最大可以是多大呢:【轉化為二進位制時最大只有w%k位】,第w%k+1位的數字是2^w%k(第1位的數字是2^0哦),那麼最大可以取到的數字就是2^w%k-1

這是首項的取值,後面的值要比ta大,那取數的範圍就是2k

−1−r

首 注意哦:

1、這個題目要用高精度!包括組合數也已經很大了也要用高精度!

2、你需要比較一下2^k-1和w/k的大小,如果w/k大於範圍也沒有那麼多數可以填,陣列也會炸掉

乙個總結的:

l為位數,r為可取數集

NOIP2006 2 k進製數

設r是個 2 k 進製數,並滿足以下條件 1 r至少是個2位的 2 k 進製數。2 作為2 k 進製數,除最後一位外,r的每一位嚴格小於它右邊相鄰的那一位。3 將r轉換為2進製數q後,則q的總位數不超過w。在這裡,正整數k 1 k 9 和w k w 30000 是事先給定的。問 滿足上述條件的不同的...

NOIP2006 2 k進製數

其實題目描述這麼長,就是嚇你的,其實就是個簡單的組合數問題或者是dp,只是要加上乙個高精而已。我們發現這個方案數等價於 wk i 2ci 2k 1 然後 w k 不整除的部分所餘留下來的部分等於 設r為剩餘的位數 2 r 1i 1c wk 2 k i 1 然後寫個高精,注意要壓位,跟普通的高精不同的...

noip2006 2 k進製數

描述 設r是個2 k 進製數,並滿足以下條件 1 r至少是個2位的2 k 進製數。2 作為2 k 進製數,除最後一位外,r的每一位嚴格小於它右邊相鄰的那一位。3 將r轉換為2進製數q後,則q的總位數不超過w。在這裡,正整數k 1 k 9 和w k w 30000 是事先給定的。問 滿足上述條件的不同...