Educational Codeforces Round 97 (Rated for Div. 2)
#include <bits/stdc++.h> using namespace std; int main () { int t; cin >> t; while(t--) { int l, r; cin >> l >> r; if(r <= 2 * l - 1) { cout << "YES" << endl; }else { cout << "NO" << endl; } } }
#include <bits/stdc++.h> using namespace std; int main () { int t; cin >> t; while(t--) { int n; cin >> n; string s; cin >> s; int temp1 = 0; int ans1 = 0; int temp2 = 0; int ans2 = 0; for(int i = 0; i < n; ++i) { if(s[i] == '1') { temp1++; ans2 += (temp2 == 0) ? 0 : temp2 - 1; temp2 = 0; } else { temp2++; ans1 += (temp1 == 0) ? 0 : temp1 - 1; temp1 = 0; } } ans1 += (temp1 == 0) ? 0 : temp1 - 1; ans2 += (temp2 == 0) ? 0 : temp2 - 1; cout << max(ans1, ans2) << endl; } }
#include <bits/stdc++.h> using namespace std; const int MAXN = 210; int dp[MAXN][MAXN]; int main () { int T; cin >> T; while(T--) { int n; cin >> n; std::vector<int> v(n + 1, 1e9); memset(dp, 0x3f3f3f3f, sizeof dp); for(int i = 1; i <= n; ++i){ cin >> v[i]; } sort(v.begin() + 1, v.end()); // dp[0][0] = 0; // for(int i = 1; i <= 2 * n; ++i) { // dp[i][0] = 0; // for(int j = n; j >= 1; --j) { // dp[i][j] = min(dp[i - 1][j], dp[i - 1][j - 1] + abs(v[j] - i)); // } // } // cout << dp[2 * n][n] << endl; //用一个数组实现: int HP[MAXN]; memset(HP, 0x3f3f3f3f, sizeof HP); HP[0] = 0; for(int i = 1; i <= 2 *n; ++i) { for(int j = n; j >= 1; --j) { HP[j] = min(HP[j], HP[j - 1] + abs(v[j] - i)); } } cout << HP[n] << endl; } }
#include <bits/stdc++.h> using namespace std; int main () { int t; cin >> t; while(t--) { int n; cin >> n; std::vector<int> v(n + 1); std::vector<int> hp(n + 1); for(int i = 1; i <= n; ++i) { cin >> v[i]; } int l = 1; hp[1] = 0; for(int i = 2; i <= n; ++i) { if(v[i] < v[i - 1]) { l++; } hp[i] = hp[l] + 1; } cout << hp[n] << endl; } }
作者:LightAc
出处:https://www.cnblogs.com/lightac/
联系:
Email: dzz@stu.ouc.edu.cn
QQ: 1171613053
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。