<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      高精度乘除低精度 + 微擾證明

      題目鏈接:

      https://www.acwing.com/problem/content/116/

      思路:

      通過微擾證明發現所有大臣要按照 \(a * b\) 的大小來排序,然后就是高精度的一個乘除了。

      代碼:

      #include <bits/stdc++.h>
      using namespace std;
      const int N = 1010;
      int n;
      pair <int, int> p[N];
      vector <int> mul(vector <int> a, int b){
      	vector <int> c;
      	int t = 0;
      	for (int i = 0; i < a.size(); i ++ ){
      		t += a[i] * b;
      		c.push_back(t % 10);
      		t /= 10;
      	}
      	while (t){
      		c.push_back(t % 10);
      		t /= 10;
      	}
      	return c;
      }
      vector <int> div(vector <int> a, int b){
      	vector <int> c;
      	bool f = true;	//去掉前導0 
      	for (int i = a.size() - 1, t = 0; i >= 0; i -- ){
      		t = t * 10 + a[i];
      		int x = t / b;
      		if (!f || x){
      			f = false;
      			c.push_back(x);
      		}
      		t %= b;
      	}
      	reverse(c.begin(), c.end());
      	return c;
      }
      vector <int> max_vec(vector <int> a, vector <int> b){
      	if (a.size() > b.size()) return a;
      	if (a.size() < b.size()) return b;
      	if ( vector <int> (a.rbegin(), a.rend()) > vector <int> (b.rbegin(), b.rend()) ) return a;
      	return b;
      }
      int main(){
      	cin >> n;
      	for (int i = 0; i <= n; i ++ ){
      		int a, b;
      		cin >> a >> b;
      		p[i] = {a * b, a};
      	}
      	sort(p + 1, p + n + 1);
      	vector <int> s(1, 1), ans(1, 0);
      	for (int i = 0 ; i <= n; i ++ ){
      		if (i) ans = max_vec( ans, div(s, p[i].first / p[i].second) );
      		s = mul(s, p[i].second);
      	}
      	for (int i = ans.size() - 1; i >= 0; i -- )
      		cout << ans[i];
      	cout << "\n";
      	return 0;
      }
      

      高精快速冪

      https://www.luogu.com.cn/problem/P1045

      輸入 \(p\),計算 \(2^p - 1\) 的位數和最后 500 位數字(用十進制高精度數表示)。

      #include <bits/stdc++.h>
      using namespace std;
      #define LL long long
      int ans[1010], a[1010], t[1010];
      void solve(){
      	memset(t, 0, sizeof t);
      	for (int i = 1; i <= 500; i ++ )
      		for (int j = 1; j <= 500; j ++ )
      			t[i + j - 1] += ans[i] * a[j];
      	for (int i = 1; i <= 500; i ++ ){
      		t[i + 1] += t[i] / 10;
      		t[i] %= 10;
      	}
      	memcpy(ans, t, sizeof ans);
      }
      void solvea(){
      	memset(t, 0, sizeof t);
      	for (int i = 1; i <= 500; i ++ )
      		for (int j = 1; j <= 500; j ++ )
      			t[i + j - 1] += a[i] * a[j];
      	for (int i = 1; i <= 500; i ++ ){
      		t[i + 1] += t[i] / 10;
      		t[i] %= 10;
      	}
      	memcpy(a, t, sizeof a);
      }
      int main(){
      	ios::sync_with_stdio(false);cin.tie(0);
      	int p;
      	cin >> p;
      	cout << (int)(log10(2) * p + 1) << "\n";
      	ans[1] = 1;
      	a[1] = 2;
      	while(p){
      		if (p & 1) solve();
      		p >>= 1;
      		solvea();
      	}
      	ans[1] -= 1;
      	for (int i = 500; i >= 1; i -- ){
      		if (i != 500 && i % 50 == 0) cout << "\n";
      		cout << ans[i];
      	}
      	return 0;
      }
      
      posted on 2022-04-13 15:47  Hamine  閱讀(31)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 亚洲人成小说网站色在线 | 999久久久免费精品播放| 亚洲人成电影网站色| 国产av亚洲精品ai换脸电影| 亚洲男人天堂一级黄色片| 免费99精品国产人妻自在现线| 封丘县| 国产av寂寞骚妇| 国产精品夫妇激情啪发布| 99在线视频免费观看| 亚洲第一福利网站在线观看| 和黑人中出一区二区三区| 国产精品久久精品| 国产av午夜精品福利| 人妻熟女一二三区夜夜爱| 国产精品午夜福利资源| 性xxxx视频播放免费| 吉川爱美一区二区三区视频| 亚洲av永久无码精品漫画| 日韩av裸体在线播放| 武装少女在线观看高清完整版免费| 免费无码高潮流白浆视频| 18无码粉嫩小泬无套在线观看 | 男人扒女人添高潮视频| 国产精品久久久久aaaa| 欧洲美熟女乱又伦免费视频| 亚洲精品一区二区在线播| 久久精品一偷一偷国产| 国产熟睡乱子伦视频在线播放| 成人亚洲国产精品一区不卡| 亚洲欧洲日产国码久在线| 国产95在线 | 欧美| 精品视频一区二区三区不卡| 亚洲男人的天堂久久香蕉| 又黄又爽又色的少妇毛片| 久久精品国产99久久久古代| 欧美三级a做爰在线观看 | 亚洲色最新高清AV网站| 无码人妻一区二区三区免费N鬼沢 亚洲国产精品自产在线播放 | 丰满人妻熟妇乱精品视频| 欧美国产日韩久久mv|