zoukankan      html  css  js  c++  java
  • SRM 536 div2

      昨晚正好赶上好时候,TC在8点到9点多有比赛。所以做了一下,发现没了IDE,我的编码习惯很有问题,最后调试1000pt时连括号都对不上号了。。。代码写的很乱,调试很费劲!这个坏毛病得改!折腾一晚上没做题,就给了20分,妹的!

    250pt:x不是0就是1,并且给出的系数ai也是不是0就是1。所以直接扫一遍就行。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    #include <stack>
    #include <vector>
    #include <map>

    using namespace std;


    class BinaryPolynomialDivTwo {
    public:
    int countRoots(vector <int> a) {
    int len = a.size();
    int i, ans, cnt = 0;

    if(a[0] == 0) cnt++;

    for(ans = 0, i = 0; i < len; ++i) {
    ans += a[i];
    }
    ans %= 2;
    if(ans == 0) cnt++;
    return cnt;
    }
    };

    500pt:思路是把数据换成int型,然后用二维数组存起来,先按每一行从小到打排序,然后找没一列一遍最大的,求和。

    ps:这题思路都没理清楚就开始写,中间改了好几次,检讨!检讨!

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    #include <stack>
    #include <vector>
    #include <map>

    using namespace std;

    class RollingDiceDivTwo {
    public:
    int minimumFaces(vector <string> rolls) {
    int i, l1, j;
    int l2 = 0, ans = 0;
    int m[100][100],a[50], t;
    l1 = rolls.size();
    for(i = 0; i < l1; ++i) {
    l2 = rolls[i].size();

    for(j = 0; j < l2; ++j) {
    t = rolls[i][j] - '0';
    a[j] = t;
    }
    sort(a, a + l2);
    for(j = 0; j < l2; ++j)
    m[i][j] = a[j];
    }
    for(j = 0; j < l2; ++j) {
    t = 0;
    for(i = 0; i < l1; ++i) {
    t = max(t, m[i][j]);
    }
    ans += t;
    }
    return ans;
    }
    };

    1000pt:思路:先按从小到大排序,a[i]表示i之前的所有数的和。f[i]表示i之前的左右数所能得到的最大利润。

    f[i] = max(f[i], (s[i] - s[j] + f[j])/(i - j + 1));

    看了pass的人的思路写了一段代码。

    #include <vector>
    #include <list>
    #include <map>
    #include <set>
    #include <queue>
    #include <deque>
    #include <stack>
    #include <bitset>
    #include <algorithm>
    #include <functional>
    #include <numeric>
    #include <utility>
    #include <sstream>
    #include <iostream>
    #include <iomanip>
    #include <cstdio>
    #include <cmath>
    #include <cstdlib>
    #include <ctime>

    using namespace std;


    class MergersDivTwo {
    public:
    double a[100], b[100], f[100];
    double findMaximum(vector <int> revenues, int k) {
    sort(revenues.begin(), revenues.end());
    int len = revenues.size();
    int i, j;
    for(i = 1; i <= len; ++i) {
    b[i] = revenues[i-1];
    a[i] = a[i-1] + b[i];
    }

    for(i = 1; i <= len; ++i) {
    f[i] = -1e9;
    if(i >= k) f[i] = a[i]/i;
    for(j = i - k + 1; j >= 1; --j) {
    f[i] = max(f[i], (a[i] - a[j] + f[j])/(i-j+1));
    }
    }
    return f[len];
    }
    };


    <%:testing-code%>
    //Powered by KawigiEdit 2.1.8 (beta) modified by pivanof!

    强烈建议用KawigiEdit这个插件,比Standard好用多了。。。



  • 相关阅读:
    实时27实战机器学习:图片验证码识别(Java实现)
    大屏26深度学习模型来从文档图片中自动化地提取出关键信息成为一项亟待解决的挑战
    f-string想必作为Python3.6版本开始引入的特性,通过它我们可以更加方便地向字符串中嵌入自定义内容
    大屏25JAVA+selenium+tess4j识别登陆验证码截图与识别
    前端12 highcharts和echarts选择
    大屏20基于 Selenium 的 Web 自动化测试框架完美版自动化解决方案 [开源项目]
    大屏24字典python+selenium的行为
    大屏23Tesseract字库训练Tesseract 3
    大屏21解决数据问题python-tesseract-ocr的安装及使用
    大屏22解决数据问题java浏览器源.docx
  • 原文地址:https://www.cnblogs.com/vongang/p/2385350.html
Copyright © 2011-2022 走看看