T2 電壓放大器(amp)

2021-10-05 20:00:42 字數 1520 閱讀 7604

這道題我比賽的時候選擇了最後做,不為什麼就為了他那(好似)搜尋過不了、dp也沒得做的特性……

好了,廢話不多說上題目:

題目描述

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

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

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

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

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

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

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

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

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

樣例輸入

5樣例輸出

22 1

資料範圍限制

20%的資料中 n<=1000

50%的資料中,n<=1000000

100%的資料如題。

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

題目概括……(好難啊)

給你乙個1,讓你經過多次操作(分兩種:2x+1&&2x-1)變為n這個數,求最少要多少步,並輸出操作序號。

主要思路(分兩種):

first.爆搜無極限,時間不允許啊(後面才知道我這句話是放屁)……

second.我們可以從奇偶性分析,一開始的1為奇數開始模擬一下所有步驟:

1.奇數×2+1=奇數

2.偶數×2+1=奇數

3.奇數×2-1=奇數

4.偶數×2-1=奇數

那這麼看來,這個變化中的序列肯定是個奇數序列了。那我們這時候可以拿個no solution的分了,只要n是偶數輸出no solution。

我們開始分析一下樣例:5

肯定是先第二種再第一種,這時我們反著推:(5+1)/2=3,(3-1)/2=1。

我們這時可以思考到:為什麼5只能+1再/2,而3可以-1再/2呢?我們可以先列乙個奇數表

表: 1 ,3 ,5 ,7 ,9 ,11 ,13 ,15 ,17 ,19……

標記 +1,-1,+1,-1,+1,-1, +1 ,-1, +1, -1……

我們可以發現+1,-1好像就是按他們在這個奇數數列中位置而變。那就是求項數mod 2==什麼了。

那這就好辦了每次去判斷現在他的項數為偶數就(x-1)/2否則就(x+1)/2。

code:

#include

using

namespace std;

int n;

void

putin()

intmain()

return0;

}

最後總結一下這道題:我一開始費什麼勁去鑽研這種方法,20分鐘打乙個爆搜他不香嗎?當然這道題除了爆搜還是有很多種方法(是不是大同小異呢?),但是我這種方法似乎還是難思考一點……

1604 電壓放大器(amp)

題目描述 西西需要把輸入的電壓1伏通過一系列電壓放大器放大成原來的n倍,然後輸出。西西現在手上有兩種放大器 第一種能夠把x伏的電壓放大成2x 1伏 第二種能夠把x伏的電壓放大成2x 1伏 放大器是串聯 即按順序放在一條線路上 的。現在西西手上有用不完的放大器,他希望能組出乙個電路,使用數量最少的放大...

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

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

運算放大器 輸入失調電壓Vos

1.1 定義 為了抵消運放內部的dc失調而必須加在兩個輸入端之間的dc電壓,單位 伏特.1.2vos通常被建模為乙個加在同相輸入端上的電壓源.1.3有兩種測試輸入失調電壓的方法.dut的全稱是 被測器件 1.4vos通常由於電壓反饋放大器的輸入差分對的特性,不同工藝有不同的特點.雙極輸入級要比cmo...