貪心 高精度 洛谷P1080

2021-08-29 04:50:50 字數 1148 閱讀 1813

此篇文章的**來自@chlience,未經允許私自借用,十分不好意思。

拿到這個題目,我根本沒有注意到資料範圍竟然會超long long,真的是第一次做這種貪心題竟然需要寫高精度。(做的題太少了,所以沒見過,所以蒻)

簡化一下問題,假如只有國王和兩個大臣,總共三個人:如下圖

king

a0b0

p1a1

b1p2

a2b2

此時ans1 = max(a0/b1,(a0*a1)/b2)

king

a0b0

p2a2

b2p1

a1b1

此時ans2 = max(a0/b2,(a0*a2)/b1)

顯然可以化簡為ans1 = max(k1,k2)

ans2 = max(k3,k4)

則有 k2>k3, k4>k1

若ans1則 k4>k2

則 (a0*a2)/b1>(a0*a1)/b2

變換得:a1*b1至此,我們得出了cmp()函式的寫法。

然後,在此奉上@chlience的**:

#include using namespace std;

int now[20010],sum[20010],ans[20010],add[20010];

struct node node[1010];

void times(int x)

for(int i=1;i<=ans[0]+4;i++)

if(ans[i]!=0)

}return ;

}int divition(int x)

q%=x;

}return 0;

}bool compare()

return ;

}bool cmp(node a,node b)

sort(node+1,node+n+1,cmp);

ans[0]=1,ans[1]=1;

for(int i=1;i<=n;i++)

}for(int i=sum[0];i>=1;i--)

printf("%d",sum[i]);

return 0;

}

自己還是太蒻了,高精度板子會寫(抄),放在實際的應用裡面就一團亂。

洛谷P1080 國王遊戲 貪心 高精度

p1080 國王遊戲 啊啊啊,剛才已經寫了一次了,但是edge瀏覽器不知道為什麼卡住了,難受。好吧,其實是一道可做題,分析得到的貪心策略就是就是將a b小的放在前面 其他的懶得說了 主要還是要會高精度,要不然寫不出來。ac 借鑑題解大佬的,我自己寫不出來,主要是高精度不太會 include incl...

洛谷P1080 國王遊戲 高精度

題目鏈結 題目描述恰逢 h h 國國慶,國王邀請 n role presentation n n 位大臣來玩乙個有獎遊戲。首先,他讓每個大臣在左 右手上面分別寫下乙個整數,國王自己也在左 右手上各寫乙個整數。然後,讓這 n n 位大臣排成一排,國王站在隊伍的最前面。排好隊後,所有的大臣都會獲得國王獎...

洛谷 P1080 國王遊戲(貪心 高精 排序)

題目 標籤 貪心 高精 排序 題解 參考dalao的推導過程 有中間兩個人 i 和 i 1,顯然他們倆怎麼排對後面沒有影響 因為只跟乘積有關 記 p 為國王到 i 1 個人的 左手數的乘積 所以若不換的話,顯然 max max 否則換更優 即不換的最大值 換的最大值 兩邊都除以p得 max max ...