解題報告 Function

2022-06-04 02:30:09 字數 2533 閱讀 8274

function

description

我們定義如下函式:,給出x的初始值x0,通過不斷地代入x可以求得新的x'、x'',通過x'和x''代入公式又可以得到新的4個值。

給出a1,b1,d1,a2,b2,d2,初始值x0,問你迭代多次後得到的第n小的值是多少。

input format

第一行兩個數,為x0和n,第二行為a1,b1,d1,第三行為a2,b2,d2。

output format

乙個正整數,表示第n小的數的值。

sample input

3 10

4 3 3

17 8 2

sample output

【hint】

1、c=3

2、f1(3)=4×3/3+3    :7

3、f1(7)=4×7/3+3    :12

4、f1(12)=4×12/3+3  :19

5、f1(19)=4×19/3+3  :28

6、f2(3)=17×3/2+8   :33

7、f1(28)=4×28/3+3  :40

8、f1(33)=4×33/3+3  :47

9、f1(40)=4×40/3+3  :56

10、f1(47)=4×47/3+3 :65

data

對於100%的資料

x0≤100n≤4000000

a1b1d1a2b2d2≤20

涉及到的所有數字都將是整數。

這是一種經典的解題方法,首先設定兩個指標,分別指向 x0 經過函式 1 和 函式 2 所得出來的值,然後,從這兩個值中選乙個比較小的,然後擴充套件出兩個值,入隊,然後,將這兩個值中較小的那個指標加一。如果相同的話,兩個指標都加一。這樣依次類推,當總共入隊的值的數量達到 n 的時候,輸出。

注意一定要開乙個佇列,開兩個佇列不好判重,話說我就是 wa 在這了。

program _function(input,output);

varq:array[0..4000000] of int64;

n,p1,p2,tail,a1,a2,b1,b2,d1,d2:longint;

c,c1,c2:int64;

begin

assign(input,'function.in'); reset(input);

assign(output,'function.out'); rewrite(output);

readln(c,n);

readln(a1,b1,d1,a2,b2,d2);

tail:=1;

q[1]:=c;

p1:=1;

p2:=1;

while tailbegin

c1:=q[p1]*a1 div d1+b1;

c2:=q[p2]*a2 div d2+b2;

if (c1q[tail]) then

begin

inc(tail);

inc(p1);

q[tail]:=c1;

end else

if (c2q[tail]) then

begin

inc(tail);

inc(p2);

q[tail]:=c2;

end else

if (c1=c2)and(c1>q[tail]) then

begin

inc(tail);

q[tail]:=c1;

inc(c1);

inc(c2);

end else

if c1if c1>c2 then inc(p2) else

begin

inc(p1);

inc(p2);

end;

end;

writeln(q[n]);

close(input); close(output);

end.

Function執行報告

在我們的日常生活中,有很多時候都需要去列印具體的function的使用時長和記憶體消耗,以此來達到優化的目的,雖然 簡單,但是每每要去重新改動function,卻是一件很繁瑣的事情,我個人以此就封裝了乙個fuse類達到此目的,只需引用,然後呼叫run方法即可。方法功能 執行function 方法引數...

Block Voting 解題報告

這道題做的有點狼狽,效率不高,差一點就tle的ac了。看status裡的,ac的時間大多數都是0ms的。肯定有乙個更有效率的演算法的。下面說下我的狼狽演算法。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1223 問題描述 求每個party的權值。第i...

Safebreaker 解題報告

又是吉林大學一道acm題目,題目很簡單,直接暴力解決。出處 http acm.jlu.edu.cn joj showproblem.php?pid 1718 問題描述 對乙個給定數0000 9999 根據一系列猜測,判斷這個數是否存在,存在的話,是否唯一 例如 3321,給定數 作出猜測,1223 ...