求 a 的 b 次方對 p取模的值。
輸入格式
三個整數 a,b,p,在同一行用空格隔開。
輸出格式
輸出乙個整數,表示a^b mod p的值。
資料範圍
1≤a,b,p≤109
輸入樣例:
3 2 7輸出樣例:
#include
using namespace std;
//考察快速冪
intmain()
cout << res << endl;
return0;
}
求 a 乘 b 對 p 取模的值。
輸入格式
第一行輸入整數a,第二行輸入整數b,第三行輸入整數p。
輸出格式
輸出乙個整數,表示a*b mod p的值。
資料範圍
1≤a,b,p≤1018
輸入樣例:
3 4 5輸出樣例:
#include
using namespace std;
typedef
unsigned
long
long ull;
intmain()
cout << res << endl;
return0;
}
給定一張 n個點的帶權無向圖,點從 0~n-1 標號,求起點0到終點n-1的最短hamilton路徑。 hamilton路徑的定義是從0到n-1不重不漏地經過每個點恰好一次。
輸入格式
第一行輸入整數n。
接下來n行每行n個整數,其中第i行第j個整數表示點i到j的距離(記為a[i,j])。
對於任意的x,y,z,資料保證 a[x,x]=0,a[x,y]=a[y,x] 並且 a[x,y]+a[y,z]>=a[x,z]。
輸出格式
輸出乙個整數,表示最短hamilton路徑的長度。
資料範圍
1≤n≤20
0≤a[i,j]≤107
輸入樣例:
0 2 4 5 1輸出樣例:2 0 6 5 3
4 6 0 8 3
5 5 8 0 5
1 3 3 5 0
#include
#include
#include
using namespace std;
const
int n =
20, m =
1<<20;
// m = 2^n
int n;
//多少個點
int f[m]
[n],weight[n]
[n];
//m表示點的狀態,m表示處在那乙個點,weight表示點和電之間的加權和
intmain()
演算法競賽高階指南 位運算
四種基本操作 與 或 非 異或 補碼 int 32位,最高位0代表為整數,最高位為1代表負數。x 00000000000000000000 32個0 就是x的補碼。x 1初始化 memset f,0x3f,sizeof f 每個位元組為0x3f,那麼每個int的數為4個位元組,就是0x3f3f3f3...
《演算法競賽高階指南》 防曬
有c頭奶牛進行日光浴,第i頭奶牛需要minspf i 到maxspf i 單位強度之間的陽光。每頭奶牛在日光浴前必須塗防曬霜,防曬霜有l種,塗上第i種之後,身體接收到的陽光強度就會穩定為spf i 第i種防曬霜有cover i 瓶。求最多可以滿足多少頭奶牛進行日光浴。輸入格式 第一行輸入整數c和l。...
《演算法競賽高階指南》蚯蚓
蛐蛐國最近蚯蚓成災了!隔壁跳蚤國的跳蚤也拿蚯蚓們沒辦法,蛐蛐國王只好去請神刀手來幫他們消滅蚯蚓。蛐蛐國裡現在共有 n 只蚯蚓,第 i 只蚯蚓的長度為 ai 所有蚯蚓的長度都是非負整數,即可能存在長度為0的蚯蚓。每一秒,神刀手會在所有的蚯蚓中,準確地找到最長的那乙隻,將其切成兩段。若有多隻最長的,則任...