1604 電壓放大器(amp)

2021-10-05 21:37:09 字數 2534 閱讀 8548

題目描述

西西需要把輸入的電壓1伏通過一系列電壓放大器放大成原來的n倍,然後輸出。

西西現在手上有兩種放大器:

第一種能夠把x伏的電壓放大成2x-1伏

第二種能夠把x伏的電壓放大成2x+1伏

放大器是串聯(即按順序放在一條線路上)的。

現在西西手上有用不完的放大器,他希望能組出乙個電路,使用數量最少的放大器,使得電壓被放大了剛好n倍。

輸入

一行乙個正整數n(1<=n<=2*10^9)

輸出

如果無法組成電路則輸出一行no solution

否則輸出兩行,第一行乙個整數表示最少的放大器個數k,第二行k個用空格隔開的1或2,表示放大器序列。1表示第一種,2表示第二種,其中左邊為輸入端。如果有多解輸出任意一組。

樣例輸入5

樣例輸出2

2 1

資料範圍限制

50%的資料中,n<=1000000

100%的資料如題。

提示

先經過放大器2,1*2+1=3,然後經過1,3*2-1=5。滿足要求

先講怎麼判斷no solution。我們發現從1開始,因為奇數*2=偶數(嫑跟我說你不知道),偶數+1=奇數,偶數-1等於奇數,too.so,無論用第一種放大器還是第二種,放大後的電壓始終都是奇數。所以所有奇數都是有解的,偶數都是無解的。

第一腫方法:暴力搜尋

我比賽時想的方法,70分,本來有80分的,oj竟然乙個no solution 都沒有,我加了乙個no solution 的判斷後,有乙個資料點又剛好過不了了(就差這一點點)。

怎麼暴力算放大器序列呢?如果觀察過就會發現n1

3579

1113

1517

1921

2325

2729

3133

3537

...k01

2233

3344

4444

4455

5...放大器

序列22 12 2

2 1 1

2 1 2

2 2 1

2 2 2

2 1 1 1

2 1 1 2

2 1 2 1

2 1 2 2

2 2 1 1

2 2 1 2

2 2 2 1

2 2 2 2

2 1 1 1 1

2 1 1 1 2

2 1 1 2 1

...k為0的只有1乙個,1的也只有3乙個,2的有兩個,3的有四個,4的有八個……也就是說,除了1之外,所有k=floor(log2n),floor意思是向下取整,log計算不懂的去這裡

和這裡看看。而放大器序列只用暴力dfs求長度為k的第n-2k個組合

第二腫方法:倒推法

正解√。我們可以用倒推法求解。怎麼個倒推法?即從n開始倒推,一直到n=1結束。可是我們怎麼知道每一次要用那種放大器?n1

3579

1113

1517

1921

2325

2729

3133

3537

...放

大器序列

22 1

2 22 1 1

2 1 2

2 2 1

2 2 2

2 1 1 1

2 1 1 2

2 1 2 1

2 1 2 2

2 2 1 1

2 2 1 2

2 2 2 1

2 2 2 2

2 1 1 1 1

2 1 1 1 2

2 1 1 2 1

...轉化成如下**:

當前n135

791113

1517

1921

2325

2729

3133

3537

...使用的放大器22

1212

1212

1212

1212

1我們發現當n在奇數序列裡的位置是偶數時(如3、7、11……)只能用第2種放大器,是奇數時(如5、9、13……)則只能用第2種放大器(1除外)。因為是倒推,所以用第一種放大器要變成(n+1)/2,第二種變成(n-1)/2。可以用乙個變數來儲存計算的次數,即為k,遞迴完在逆序輸出序列。因為是倒推,所以記得逆序哈。

T2 電壓放大器(amp)

這道題我比賽的時候選擇了最後做,不為什麼就為了他那 好似 搜尋過不了 dp也沒得做的特性 好了,廢話不多說上題目 題目描述 西西需要把輸入的電壓1伏通過一系列電壓放大器放大成原來的n倍,然後輸出。西西現在手上有兩種放大器 第一種能夠把x伏的電壓放大成2x 1伏 第二種能夠把x伏的電壓放大成2x 1伏...

電壓放大器應用 如何使用諧振技術驅動高頻電磁體

諸如繼電器,螺線管,電感器,亥姆霍茲線圈,電磁體和電動機的電磁線圈通常需要大電流和高頻操作。在低頻下,使用波形放大器,可以直接驅動高電流通過線圈。線圈的電感足夠低,可以直接由放大器驅動,如圖1所示。線圈可以建模 簡單模型 作為與理想電感串聯的寄生電阻。寄生電阻一般較小。圖1.波形放大器直接驅動具有寄...

放大器初探

在電子電路中,放大電路是基本的電路形式,它的作用是將微弱的電訊號 電壓,電流,功率 在允許的失真範圍內放大到需要的幅度。在自動控制,電子測量,計算機,通訊,預報,鐵路,電視,廣播等許多領域中都需要將微弱訊號放大。微弱訊號通常由一些非電物理量如溫度,壓力,速度,位移,震動,聲音,影象等經過器件轉換成微...