好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CodeforcesRound#294(Div.2)

519A A and B and Chess /*********************************************** * Author: fisty * Created Time: 2015/2/28 21:12:09 * File Name : A.cpp *********************************************** */#include iostream#include cstring#include dequ

519A

A and B and Chess

/***********************************************
 * Author: fisty
 * Created Time: 2015/2/28 21:12:09
 * File Name   : A.cpp
 *********************************************** */
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include 
#include 
using namespace std;
#define Debug(x) cout   P;
#define FOR(i, a, b) for(int i = a;i  > s;
        for(int j = 0;j  = 'A'){
                white += _white(s[j]);
            }else if(s[j]  = 'a'){
                black += _black(s[j]);
            }
        }
    }
    //Debug(white);
    //Debug(black);
    if(white > black){
        cout  
519B

A and B and Compilation Errors

A和B 比较,B和C比较。全部排序,遇到第一个不同数字 输出并跳出比较
/***********************************************
 * Author: fisty
 * Created Time: 2015/2/28 21:43:51
 * File Name   : 294B.cpp
 *********************************************** */
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include 
#include 
using namespace std;
#define Debug(x) cout   P;
#define FOR(i, a, b) for(int i = a;i  > n;
    Memset(a, 0);
    Memset(b, 0);
    Memset(c, 0);
    FOR(i, 0, n){
        cin >> a[i];
    }
    FOR(i, 0, n-1){
        cin >> b[i];
    }
    FOR(i, 0, n-2){
        cin >> c[i];
    }
    sort(a, a + n);
    sort(b, b + n-1);
    sort(c, c + n-2);
    for(int i = 0;i  


519C

A and B and Team Training

如果n > m 那么采取 n 取两个m 取一个的方案,


/***********************************************
 * Author: fisty
 * Created Time: 2015/2/28 21:54:12
 * File Name   : 294C.cpp
 *********************************************** */
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include 
#include 
using namespace std;
#define Debug(x) cout   P;
#define FOR(i, a, b) for(int i = a;i  > n >> m;
    int ans = 0;
    while(n >= 1 && m >= 1 && m + n >= 3){
        ans++;
        if(n > m){
            n -= 2;
            m--;
        }else{
            m -= 2;
            n--;
        }
    }
    cout  

519D

A and B and Interesting Substrings

首先维护前缀和,mp[i][v]表示以字符i结束的前缀和为V出现了几次

根据题目要求,如果字符u 和 v 中间值为零 那么两者的前缀和相等.

/***********************************************
 * Author: fisty
 * Created Time: 2015/2/28 22:46:13
 * File Name   : 294D.cpp
 *********************************************** */
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#include 
#include 
using namespace std;
#define Debug(x) cout   P;
#define FOR(i, a, b) for(int i = a;i   mp[MAX_N];
int main() {
    //freopen("in.cpp", "r", stdin);
    cin.tie(0);
    ios::sync_with_stdio(false);
    for(int i = 0;i  > a[i];
    }
    cin >> s;
    int n = s.length();
    LL ans = 0;
    LL v = 0;
    for(int i = 0;i  

查看更多关于CodeforcesRound#294(Div.2)的详细内容...

  阅读:54次