題意:給定p和x,求最小的b,使 a≡
bx(modp)。
思路:先把式子進行轉化:
a≡bx(modp)
a=bx - pc
∵ 0 < a < b
∴ 0 < bx - pc < b
即 $\frac$ $\leq$ $\frac$
<
$\frac$
這樣就轉化為:求滿足值在所給的兩分數之間時,最小的分子分母是多少(可以用輾轉相除法求解)。
**:
1 #include2using
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...