当前位置:网站首页>Codeforces Round #768 (Div. 1)(A-C)
Codeforces Round #768 (Div. 1)(A-C)
2022-07-03 22:09:00 【eyuhaobanga】
a
AC Code :
#pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #include <iostream> #include <queue> #include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> #include <cstring> #include <string> #include <cctype> #include <map> #include <vector> #include <deque> #include <set> #include <stack> #include <numeric> #include <iomanip> #include <functional> using namespace std; #define lowbit(x) ((x) & -(x)) #define IOS1 ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); #define IOS2 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); typedef vector<int> vi; typedef vector<long long> vll; typedef vector<char> vc; template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } template<class T> T power(T a, int b) { T res = 1; for (; b; b >>= 1, a = a * a) { if (b & 1) { res = res * a; } } return res; } template <typename T> inline void read(T& x) { x = 0; int f = 1; char ch = getchar(); while (!isdigit(ch)) { if (ch == '-') f = -1; ch = getchar(); } while (isdigit(ch)) { x = x * 10 + ch - '0', ch = getchar(); } x *= f; } /* Tips: 1.int? long long? 2.don't submit wrong answer 3.figure out logic first, then start writing please 4.know about the range 5.check if you have to input t or not 6.modulo of negative numbers is not a%b, it is a%b + abs(b) */ const int INF = 0x3f3f3f3f; const int mod = 1000000007; const double PI = acos(-1.0); void solve() { int n, k; cin >> n >> k; if (k == 0) { for (int i = 0; i < n / 2; i++) { cout << i << " " << n - i - 1 << endl; } } else if (k < n - 1) { cout << k << " " << n - 1 << endl; cout << n - 1 - k << " " << 0 << endl; for (int i = 1; i < n / 2; i++) { if (i != k && i != n - k - 1) { cout << i << " " << n - i - 1 << endl; } } } else if (n == 4) { cout << -1 << endl; } else { cout << n - 2 << " " << n - 1 << endl; cout << 1 << " " << 3 << endl; cout << n - 4 << " " << 0 << endl; for (int i = 2; i < n / 2; i++) { if (i != 3) { cout << i << " " << n - i - 1 << endl; } } } } int main() { IOS1; //IOS2; int __t = 1; cin >> __t; for (int _t = 1; _t <= __t; _t++) { solve(); } return 0; } /* */b
AC Code :
/* Tips: 1.int? long long? 2.don't submit wrong answer 3.figure out logic first, then start writing please 4.know about the range 5.check if you have to input t or not 6.modulo of negative numbers is not a%b, it is a%b + abs(b) */ #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #include <iostream> #include <queue> #include <cstdio> #include <cstdlib> #include <algorithm> #include <cmath> #include <cstring> #include <string> #include <cctype> #include <map> #include <vector> #include <deque> #include <set> #include <stack> #include <numeric> #include <iomanip> #include <functional> using namespace std; #define lowbit(x) ((x) & -(x)) #define IOS1 ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); #define IOS2 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); typedef vector<int> vi; typedef vector<long long> vll; typedef vector<char> vc; typedef long long ll; template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } template<class T> T power(T a, int b) { T res = 1; for (; b; b >>= 1, a = a * a) { if (b & 1) { res = res * a; } } return res; } template <typename T> inline void read(T& x) { x = 0; int f = 1; char ch = getchar(); while (!isdigit(ch)) { if (ch == '-') f = -1; ch = getchar(); } while (isdigit(ch)) { x = x * 10 + ch - '0', ch = getchar(); } x *= f; } const int INF = 0x3f3f3f3f; const int mod = 1000000007; const double PI = acos(-1.0); const double eps = 1e-6; inline int sgn(double x) { return x < -eps ? -1 : x > eps; } // Computational geometry // vector //struct Point { // double x, y; // Point operator - (Point a) {// Vector addition // return { x - a.x,y - a.y }; // } // Point operator + (Point a) {// Vector subtraction // return { x + a.x,y + a.y }; // } // double operator * (Point a) {// Point multiplication // return x * a.x + y * a.y; // } // double operator % (Point a) {// Cross riding // return x * a.y - y * a.x; // } // bool operator == (Point a) {// Whether the two points coincide // return !sgn(x - a.x) && !sgn(y - a.y); // } // long double len() {// Returns the module of a vector // return hypot(x, y); // } // Point rot(long double arg) {// Vector rotation // long double Cos = cos(arg), Sin = sin(arg); // return { x * Cos - y * Sin,x * Sin + y * Cos }; // } //}; // A straight line or ray //struct Line { // Line() {} // Line (Point s,Point e): s(s),e(s){} // Point s, e; //}; void solve() { int n, k; cin >> n >> k; vector<int> a(n); for (int j = 0; j < n; j++) { cin >> a[j]; a[j]--; } vector<int> cnt(n, 0); for (int j = 0; j < n; j++) { cnt[a[j]]++; } int x = 0, y = n; int R = 0; int sum = 0; for (int L = 0; L < n; L++) { while (R < n && sum - (n - sum) < k) { sum += cnt[R]; R++; } if (sum - (n - sum) >= k) { if (y - x > R - L) { x = L; y = R; } } sum -= cnt[L]; } vector<int> S(n + 1, 0); for (int j = 0; j < n; j++) { S[j + 1] = S[j]; if (x <= a[j] && a[j] < y) { S[j + 1]++; } else { S[j + 1]--; } } vector<int> p(k + 1, -1); for (int j = 0; j <= n; j++) { if (0 <= S[j] && S[j] <= k) { if (p[S[j]] == -1) { p[S[j]] = j; } } } p[k] = n; cout << x + 1 << ' ' << y << "\n"; for (int j = 0; j < k; j++) { cout << p[j] + 1 << ' ' << p[j + 1] << "\n"; } } int main() { IOS1; //IOS2; int __t = 1; cin >> __t; for (int _t = 1; _t <= __t; _t++) { solve(); } return 0; } /* */You can pass with ordinary arrays , use vector can't make a good living , It's weird
AC Code :
/* Tips: 1.int? long long? 2.don't submit wrong answer 3.figure out logic first, then start writing please 4.know about the range 5.check if you have to input t or not 6.modulo of negative numbers is not a%b, it is a%b + abs(b) */ #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #include<bits/stdc++.h> using namespace std; #define lowbit(x) ((x) & -(x)) #define endl '\n' #define IOS1 ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); #define IOS2 ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); typedef vector<int> vi; typedef vector<long long> vll; typedef vector<char> vc; typedef long long ll; template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a; } template<class T> T lcm(T a, T b) { return a / gcd(a, b) * b; } template<class T> T power(T a, int b) { T res = 1; for (; b; b >>= 1, a = a * a) { if (b & 1) { res = res * a; } } return res; } template <typename T> inline void read(T& x) { x = 0; int f = 1; char ch = getchar(); while (!isdigit(ch)) { if (ch == '-') f = -1; ch = getchar(); } while (isdigit(ch)) { x = x * 10 + ch - '0', ch = getchar(); } x *= f; } const int INF = 0x3f3f3f3f; const int mod = 1000000007; const double PI = acos(-1.0); const double eps = 1e-6; inline int sgn(double x) { return x < -eps ? -1 : x > eps; } int a[200010], pos[200010], dp[200010]; void solve() { int n; cin >> n; memset(dp, 0x3f, sizeof(dp)); // vector<int> a(200010); // vector<int> pos(200010); // vector<int> dp(200010, 0x3f); for (int i = 1; i <= n; i++) { cin >> a[i]; pos[a[i]] = i; } dp[0] = 0; int cur = pos[a[1]]; for (int i = 1; i <= n; i++) { dp[i] = min(dp[i - 1] + 1, dp[i]); cur = max(cur, pos[a[i]]); dp[cur] = min(dp[i] + 1, dp[cur]); } cout << n - dp[n] << endl; return; } int main() { IOS1; //IOS2; int __t = 1; // cin >> __t; for (int _t = 1; _t <= __t; _t++) { solve(); } return 0; } /* */
边栏推荐
- Remember the experience of automatically jumping to spinach station when the home page was tampered with
- 2022 electrician (elementary) examination questions and electrician (elementary) registration examination
- DR-NAS26-Qualcomm-Atheros-AR9582-2T-2R-MIMO-802.11-N-5GHz-high-power-Mini-PCIe-Wi-Fi-Module
- Memory analyzer (MAT)
- Development trend and market demand analysis report of China's energy storage battery industry Ⓩ 2022 ~ 2028
- This time, thoroughly understand bidirectional data binding 01
- Bluebridge cup Guoxin Changtian single chip microcomputer -- hardware environment (I)
- Decompile and modify the non source exe or DLL with dnspy
- Go language slice interview real question 7 consecutive questions
- 2022 G3 boiler water treatment registration examination and G3 boiler water treatment examination papers
猜你喜欢

gslb(global server load balance)技術的一點理解

Persistence of Nacos

Team collaborative combat penetration tool CS artifact cobalt strike

Control loop of program (while loop)

gslb(global server load balance)技术的一点理解

Mysql database - Advanced SQL statement (I)

Tidb's initial experience of ticdc6.0

The post-90s resigned and started a business, saying they would kill cloud database

Décompiler et modifier un exe ou une DLL non source en utilisant dnspy

Awk getting started to proficient series - awk quick start
随机推荐
Why use pycharm to run the use case successfully but cannot exit?
Compréhension de la technologie gslb (Global Server load balance)
How PHP adds two numbers
Blue Bridge Cup Guoxin Changtian single chip microcomputer -- led lamp module (V)
Décompiler et modifier un exe ou une DLL non source en utilisant dnspy
Remember the experience of automatically jumping to spinach station when the home page was tampered with
MySQL——JDBC
Awk getting started to proficient series - awk quick start
Functions and differences between static and Const
Investment planning analysis and prospect prediction report of China's satellite application industry during the 14th five year plan Ⓑ 2022 ~ 2028
常用sql集合
gslb(global server load balance)技術的一點理解
China's Call Center Industry 14th five year plan direction and operation analysis report Ⓔ 2022 ~ 2028
Analysis report on the development trend and Prospect of global and Chinese supercontinuum laser source industry Ⓚ 2022 ~ 2027
Common SQL sets
China HDI market production and marketing demand and investment forecast analysis report Ⓢ 2022 ~ 2028
Control loop of program (while loop)
How to obtain opensea data through opensea JS
Investment analysis and prospect trend prediction report of China's boron nitride industry Ⓨ 2022 ~ 2028
LeetCode 1647. Minimum deletion times of unique character frequency