zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 97 (Rated for Div. 2)

    A. Marketing Scheme

    #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;
    		}
    	}
    }
    

     B. Reverse Binary Strings

    #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;
    	}
    }
    

     C. Chef Monocarp

    #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;
    	}
    }
    

     D. Minimal Height Tree

    #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;
    	}
    }
    
  • 相关阅读:
    jquery select取值,赋值操作
    数据库性能监测工具
    Redis集群搭建与简单使用
    Docker安装指南
    yum常用操作
    centos6.8 安装Python2.7后, yum出现“No module named yum”错误
    Docker使用阿里云docker镜像加速
    高并发缓存架构
    mysql主从复制-方案1
    redis队列操作
  • 原文地址:https://www.cnblogs.com/lightac/p/13905392.html
Copyright © 2011-2022 走看看