hdu6624 fraction 輾轉相除法

2022-08-17 14:30:19 字數 903 閱讀 9317

題意:給定p和x,求最小的b,使 a≡

bx(modp)。

思路:先把式子進行轉化:

a≡bx(modp)

a=bx - pc

∵ 0 < a < b

∴ 0 < bx - pc < b

即 $\frac$ $\leq$ $\frac$

<

$\frac$

這樣就轉化為:求滿足值在所給的兩分數之間時,最小的分子分母是多少(可以用輾轉相除法求解)。

**:

1 #include2

using

namespace

std;

3 typedef long

long

ll;4

//滿足 a/b <= x/y < c/d 的最小的x和y

5void solve(ll a,ll b,ll c,ll d,ll &x,ll &y)

11 a-=b*(z-1),c-=d*(z-1

);12

solve(d,c,b,a,y,x);

13 x+=y*(z-1

);14}15

intmain()

1627

return

0;

28 }

hdu6624 fraction 數論,迭代

hdu6624 fraction 多校第5場1001 題目描述 傳送門找到最小正整數的b使得存在正整數a 思路 本題除了a bx mod p 這個條件,還有許多大小關係的條件,是本題的特殊點和突破口,分析一下即 0plus.一般求最值如果不能直接推出答案 據說大佬都是直接推出答案 基本都要迭代或者用...

hdu1285 hdu4857 拓撲排序

一 原題內容 problem description 有n個比賽隊 1 n 500 編號依次為1,2,3,n進行比賽,比賽結束後,裁判委員會要將所有參賽隊伍從前往後依次排名,但現在裁判委員會不能直接獲得每個隊的比賽成績,只知道每場比賽的結果,即p1贏p2,用p1,p2表示,排名時p1在p2之前。現在...

樹狀陣列 hdu2689 hdu2838

題意 給定乙個正整數n,和乙個1 n的乙個排列,每個數可以和旁邊的兩個數的任意乙個交換,每交換一次總次數就要加一,問將這個排列轉換成乙個遞增的排列需要多少次交換?題意可以轉換成求這個排列的逆序對數。include include include include using namespace std...