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

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

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

      牛客周賽 Round 98題解

      A、B、C、D略

      E、小紅與gcd和sum

      題意:

      在一個數組中,選擇長度為k的子序列,使得\(gcd(a_1 + ... + a_k) * \sum_{i=1}^{k} a_i\)的值最大

      思路:

      枚舉每一個值(gcd)與其所對應的sum最大值相乘的結果

      代碼

      #include <bits/stdc++.h>
      using namespace std;
      using int64 = long long;
      
      int main() {
          ios::sync_with_stdio(false);
          cin.tie(nullptr);
      
          const int MAXA = 1'000'000;
          vector<int> cnt(MAXA + 1, 0);
      
          int n;
          if (!(cin >> n)) return 0;
          for (int i = 0, x; i < n; ++i) {
              cin >> x;
              ++cnt[x];
          }
      
          int64 answer = 0;
          // 枚舉每一個可能的 gcd 值 d
          for (int d = 1; d <= MAXA; ++d) {
              int64 sum = 0;
              // 累加所有 d 的倍數
              for (int m = d; m <= MAXA; m += d) {
                  if (cnt[m]) sum += 1LL * m * cnt[m];
              }
              if (sum) answer = max(answer, 1LL * d * sum);
          }
      
          cout << answer << '\n';
          return 0;
      }
      
      
      

      F、小紅與天使貓貓醬

      題意:

      推公式

      思路:

      經過一系列計算,可得最后要求計算公式:

      \[\left(\frac{400(100^n - 1)}{81 \cdot 99} + \frac{280(10^n - 1)}{81 \cdot 9} + \frac{49n}{81})\right)\mod MOD \]

      注意點
      ①求逆元:

      \[x^{-1} \equiv x^{P-2} \pmod{P} \]

      ②歐拉降冪:

      \[a^k \mod p = a^{k \mod (p-1)} \mod p \]

      ③代碼中的注釋處

      代碼

      #include<bits/stdc++.h>
      #define ll long long
      #define ce cerr
      #define ull unsigned long long
      #define lll __int128
      using namespace std;
      
      const int inf = 0x3f3f3f3f;
      const ll iinf = 1e18;
      const int mod = 998244353;
      
      //cin.ignore(std::numeric_limits< streamsize >::max(), '\n');
      int t;
      
      ll ksm (ll a, ll b) {
      	 ll res = 1;
      	 while (b) {
      	 	 if (b & 1) res = res * a % mod;
      	 	 b >>= 1;
      	 	 a = a * a % mod;
      	 }
      	 return res;
      }
      void solve() {
      	 ll n;
      	 cin >> n;
      	 ll one = 400 * (ll)(ksm (100, n % (mod - 1)) + mod - 1) % mod * ksm (81, mod - 2) % mod * ksm (99, mod - 2) % mod;//+mod : 防止變成負數
           ll two = 280 * (ll)(ksm (10, n % (mod - 1)) + mod - 1) % mod * ksm (81, mod - 2) % mod * ksm (9, mod - 2) % mod;
           ll three = (49 * (n % mod)) % mod * ksm (81, mod - 2) % mod;//49 * n爆ll
           ll res = (one + two + three) % mod;
           cout << res << "\n";
           
      }
      int main() {
      	 ios::sync_with_stdio (false);
      	 cin.tie(NULL);
      	 cout.tie(NULL);
      	 t = 1;
      	 //cin >> t;
      	 while (t --) {
      	 	 solve();
      	 }
      	 return 0;
      }
      

      CF1035C. A Good Problem

      題意:

      構造一個字典序最小的序列,滿足For every \(1 \leq i \leq n\), \(l \leq a_i \leq r\). Additionally, \(a_1 \& a_2 \& \ldots \& a_n = a_1 \oplus a_2 \oplus \ldots \oplus a_n\)

      思路:

      ①n為奇數時,顯然全填l一定滿足
      ②n為偶數時,當n=2時,一定不滿足。否則只考慮\(a_{n-1}\)\(a_n\)兩位(其他位填l,字典序一定最小),發現當\(a_{n-1}=a_{n}\)時,有\(a_1 \oplus a_2 \oplus \ldots \oplus a_n=0\),故只用考慮如何構造\(a_n\),使得\(a_n \& l = 0\)。設x為l最高位1的位置,發現若\(r>=2^{x+1}\),一定有解。否則一定無解。
      另一種判法:

      	if (__builtin_clzll(l) == __builtin_clzll(r)) {
      		puts("-1");
      		return;
      	}
      
      builtin_clzll:返回前導0個數
      	以下輸出均為2
      	
      	int x=3;
          cout<<32-__builtin_clz(x)<<endl;
         	
          
          long long x=3;
          cout<<64-__builtin_clzll(x)<<endl;
      

      代碼

      #include<bits/stdc++.h>
      #define ll long long
      #define ce cerr
      #define ull unsigned long long
      #define lll __int128
      using namespace std;
      
      const int inf = 0x3f3f3f3f;
      const ll iinf = 1e18;
      
      //cin.ignore(std::numeric_limits< streamsize >::max(), '\n');
      int t;
      
      void print (__int128 x) {
      	 if (x < 0) {
      	 	 x = -x;
      	 	 cout << "-";
      	 }
      	 if (x > 9) {
      	 	 print (x / 10);
      	 }
      	 cout << (char) (x % 10 + '0');
      }
      void solve() {
      	 ll n, l, r, k;
      	 cin >> n >> l >> r >> k;
      	 if (n & 1) cout << l << "\n";
      	 else {
      	 	 if (n == 2) {
      	 	 	 cout << "-1" << "\n";
      	 	 }else{
      	 	 	 int cnt = 0;
      	 	 	 for (int i = 63; i >= 0; --i) {
      	 	 	 	 if ((l >> i) & 1) {
      	 	 	 	 	 cnt = i;
      	 	 	 	 	 break;
      	 	 	 	 }
      	 	 	 }
      	 	 	 cnt ++;
      	 	 	 __int128 val = (ll)1 << cnt;
      	 	 	 if (val > r) {
      	 	 	 	 cout << "-1" << "\n";
      	 	 	 }else if (k <= n - 2) {
      	 	 	 cout << l << "\n";
      	 	      }else{
      	 	 	 	 print (val);
      	 	 	 	 cout << "\n";
      	 	 	 }
      	 	 }
      	 }
      }
      int main() {
      	 ios::sync_with_stdio (false);
      	 cin.tie(NULL);
      	 cout.tie(NULL);
      	 t = 1;
      	 cin >> t;
      	 while (t --) {
      	 	 solve();
      	 }
      	 return 0;
      }
      
      posted @ 2025-07-13 03:48  Li_Yujia  閱讀(8)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 久久99精品久久久大学生| 国产99青青成人A在线| 色伦专区97中文字幕| 激情五月开心婷婷深爱| 色欲综合久久中文字幕网| 亚洲精品天堂在线观看| 亚洲人妻系列中文字幕| 黄男女激情一区二区三区| 亚洲国产精品综合久久20| 国产麻豆精品手机在线观看| 国产永久免费高清在线观看| 国产免费无遮挡吸奶头视频| 人妻中文字幕一区二区视频| 成A人片亚洲日本久久| 狠狠干| 利川市| 国产精品午夜福利在线观看| 精品少妇无码一区二区三批| 亚洲精品成人区在线观看| 人妻少妇久久中文字幕| 日本不卡的一区二区三区| 亚洲色婷婷久久精品av蜜桃久久| 热久久这里只有精品国产| 国产初高中生在线视频| 国产伦精品一区二区三区| 午夜激情小视频一区二区| √天堂中文www官网在线| 在线无码av一区二区三区| 亚洲国产一区二区三区久| 欧美成人aaa片一区国产精品 | 国产亚洲制服免视频| 福利视频一区二区在线| 免费人成视频网站在线观看18| 国产精品视频一区二区不卡 | 亚洲色欲久久久久综合网| 亚洲成在人天堂一区二区| 亚洲成人av高清在线| 偷拍美女厕所尿尿嘘嘘小便| 高潮迭起av乳颜射后入| 亚洲国产精品一区二区第一页 | 亚洲gv天堂无码男同在线观看|