1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 using namespace std; 5 6 const int maxm = 1e5 + 5; 7 int n, m, ans; 8 pair<int, int> p[maxm]; 9 10 int main() { 11 ios_base::sync_with_stdio(0); 12 cin.tie(0); 13 14 cin >> n >> m; 15 for (int i = 1; i <= m; i++) { 16 cin >> p[i].first >> p[i].second; 17 } 18 p[++m] = {n + 1, n + 1}; 19 sort(p + 1, p + 1 + m); 20 for (int i = 1, last = 1, pos; i <= m; i = pos + 1){ 21 if (p[i].first > last) { 22 cout << -1 << endl; 23 return 0; 24 } 25 pos = i; 26 int tmp = p[pos].second; 27 while (pos < m && p[pos + 1].first <= last) { 28 tmp = max(tmp, p[++pos].second); 29 } 30 last = tmp + 1; 31 ans++; 32 if (last > n) break; 33 } 34 cout << ans << endl; 35 return 0; 36 }
1 #include <cstdio> 2 #include <cmath> 3 4 typedef long long ll; 5 int T; 6 ll a, b, p; 7 8 inline ll ksc(ll a, ll b, ll mod) { 9 return ((a * b - (ll)((long double)a / mod * b) * mod) % mod + mod) % mod; 10 } 11 12 inline ll ksm(ll a, ll b, ll p) { 13 ll res = 1ll; 14 for (; b; b >>= 1) { 15 if (b & 1) res = ksc(res, a, p); 16 a = ksc(a, a, p); 17 } 18 return res; 19 } 20 21 int main() { 22 for (scanf("%d", &T); T; T--) { 23 scanf("%lld %lld %lld", &a, &b, &p); 24 printf("%lld\n", ksm(a % p, b, p)); 25 } 26 }
1 #include <cstdio> 2 3 typedef long long ll; 4 const int maxn = 13e6 + 5; 5 const int mod = 1e9 + 7; 6 int n, primes[maxn], tot, val[maxn]; 7 ll ans; 8 bool vis[maxn]; 9 10 int ksm(int a, int b) { 11 int res = 1ll; 12 for (; b; b >>= 1) { 13 if (b & 1) res = (ll)res * a % mod; 14 a = (ll)a * a % mod; 15 } 16 return res; 17 } 18 19 void pre(int n) { 20 val[1] = 1; 21 for (int i = 2; i <= n; i++) { 22 if (!vis[i]) { 23 val[i] = ksm(i, n); 24 primes[++tot] = i; 25 } 26 for (int j = 1; j <= tot && primes[j] * i <= n; j++) { 27 vis[primes[j] * i] = true; 28 val[primes[j] * i] = (ll)val[primes[j]] * val[i] % mod; 29 if (i % primes[j] == 0) break; 30 } 31 } 32 } 33 34 int main() { 35 scanf("%d", &n); 36 pre(n); 37 for (int i = 1; i <= n; i++) 38 ans = ans ^ val[i]; 39 printf("%lld\n", ans); 40 return 0; 41 }