• Codeforces Round #583 (Div.1+Div.2)


    不太友好的一场。

    题目链接:https://codeforces.com/contest/1214


    A:

    想了很久优美做法,发现还不如直接一发暴力正确。

     1 /* basic header */
     2 #include <bits/stdc++.h>
     3 /* define */
     4 #define ll long long
     5 #define dou double
     6 #define pb emplace_back
     7 #define mp make_pair
     8 #define sot(a,b) sort(a+1,a+1+b)
     9 #define rep1(i,a,b) for(int i=a;i<=b;++i)
    10 #define rep0(i,a,b) for(int i=a;i<b;++i)
    11 #define eps 1e-8
    12 #define int_inf 0x3f3f3f3f
    13 #define ll_inf 0x7f7f7f7f7f7f7f7f
    14 #define lson (curpos<<1)
    15 #define rson (curpos<<1|1)
    16 /* namespace */
    17 using namespace std;
    18 /* header end */
    19 
    20 int n, d, e;
    21 
    22 int main() {
    23     scanf("%d%d%d", &n, &d, &e);
    24     int dollarUnit = d, euroUnit = e * 5, ans = n;
    25     for (int numOfDollar = 0; numOfDollar <= n / dollarUnit; numOfDollar++) {
    26         int remainRubles = n - numOfDollar * dollarUnit;
    27         remainRubles -= remainRubles / euroUnit * euroUnit;
    28         ans = min(ans, remainRubles);
    29     }
    30     for (int numOfEuro = 0; numOfEuro <= n / euroUnit; numOfEuro += 5) {
    31         int remainRubles = n - numOfEuro * euroUnit;
    32         remainRubles -= remainRubles / dollarUnit * dollarUnit;
    33         ans = min(ans, remainRubles);
    34     }
    35     printf("%d
    ", ans);
    36     return 0;
    37 }
    View Code

    B:

    比A简单多了的傻题。

     1 /* basic header */
     2 #include <bits/stdc++.h>
     3 /* define */
     4 #define ll long long
     5 #define dou double
     6 #define pb emplace_back
     7 #define mp make_pair
     8 #define sot(a,b) sort(a+1,a+1+b)
     9 #define rep1(i,a,b) for(int i=a;i<=b;++i)
    10 #define rep0(i,a,b) for(int i=a;i<b;++i)
    11 #define eps 1e-8
    12 #define int_inf 0x3f3f3f3f
    13 #define ll_inf 0x7f7f7f7f7f7f7f7f
    14 #define lson (curpos<<1)
    15 #define rson (curpos<<1|1)
    16 /* namespace */
    17 using namespace std;
    18 /* header end */
    19 
    20 int b, g, n;
    21 
    22 int main() {
    23     scanf("%d%d%d", &b, &g, &n);
    24     ll ans = 0;
    25     for (int i = 0; i <= b; i++)
    26         if (n - i >= 0 && n - i <= g) ans++;
    27     printf("%lld
    ", ans);
    28     return 0;
    29 }
    View Code

    C:

    check一次看看是否合法即可。

     1 /* basic header */
     2 #include <bits/stdc++.h>
     3 /* define */
     4 #define ll long long
     5 #define dou double
     6 #define pb emplace_back
     7 #define mp make_pair
     8 #define sot(a,b) sort(a+1,a+1+b)
     9 #define rep1(i,a,b) for(int i=a;i<=b;++i)
    10 #define rep0(i,a,b) for(int i=a;i<b;++i)
    11 #define eps 1e-8
    12 #define int_inf 0x3f3f3f3f
    13 #define ll_inf 0x7f7f7f7f7f7f7f7f
    14 #define lson (curpos<<1)
    15 #define rson (curpos<<1|1)
    16 /* namespace */
    17 using namespace std;
    18 /* header end */
    19 
    20 const int maxn = 2e5 + 10;
    21 int n;
    22 char s[maxn];
    23 
    24 int main() {
    25     scanf("%d", &n);
    26     scanf("%s", s + 1);
    27     if (n & 1) return puts("No"), 0;
    28     stack<int>st;
    29     while (!st.empty()) st.pop();
    30     for (int i = 1; i <= n; i++) {
    31         if (s[i] == '(') st.push(0);
    32         if (s[i] == ')') {
    33             if (!st.empty() && st.top() == 0) st.pop();
    34             else st.push(1);
    35         }
    36     }
    37     if (st.empty()) return puts("Yes"), 0;
    38     else {
    39         if ((int)st.size() != 2) return puts("No"), 0;
    40         int tmp1 = st.top(), tmp2;
    41         st.pop();
    42         tmp2 = st.top();
    43         if (tmp1 != tmp2) return puts("Yes"), 0;
    44         else return puts("No"), 0;
    45     }
    46     return 0;
    47 }
    View Code

    D:

    大模拟。(跑了

    E:

    SB构造题。

     1 /* basic header */
     2 #include <bits/stdc++.h>
     3 /* define */
     4 #define ll long long
     5 #define dou double
     6 #define pb emplace_back
     7 #define mp make_pair
     8 #define sot(a,b) sort(a+1,a+1+b)
     9 #define rep1(i,a,b) for(int i=a;i<=b;++i)
    10 #define rep0(i,a,b) for(int i=a;i<b;++i)
    11 #define eps 1e-8
    12 #define int_inf 0x3f3f3f3f
    13 #define ll_inf 0x7f7f7f7f7f7f7f7f
    14 #define lson (curpos<<1)
    15 #define rson (curpos<<1|1)
    16 /* namespace */
    17 using namespace std;
    18 /* header end */
    19 
    20 const int maxn = 2e5 + 10;
    21 
    22 pair<int, int>a[maxn];
    23 vector<int>s;
    24 int n;
    25 
    26 int main() {
    27     scanf("%d", &n);
    28     for (int i = 1; i <= n; i++)
    29         scanf("%d", &a[i].first), a[i].second = 2 * i - 1;
    30     sort(a + 1, a + n + 1);
    31     reverse(a + 1, a + n + 1);
    32     s.resize(1);
    33     for (int i = 1; i <= n; i++) s.push_back(a[i].second);
    34     for (int i = 1; i <= n - 1; i++) printf("%d %d
    ", a[i].second, a[i + 1].second);
    35     for (int i = 1; i <= n; i++) {
    36         int j = i + a[i].first - 1;
    37         printf("%d %d
    ", a[i].second + 1, s[j]);
    38         if (j == (int)s.size() - 1) s.push_back(a[i].second + 1);
    39     }
    40     return 0;
    41 }
    View Code
  • 相关阅读:
    为什么新买的音响连接上电脑后有很强的杂音(电流声)?
    USB2.0 Camera驱动
    如何重命名多张图片的名称
    网络共享:[25]组策略
    线刷宝“华为荣耀畅玩7 (DUA-AL00)”刷机教程
    电信手机卡被锁,忘记了PIN码,怎么办?
    [转]glyphicons-halflings-regular字体 图标
    牛年祝福语大全
    HYQiHei GES字体汉仪旗黑全套字体
    得实AR-530K打印机驱动 vB5.5官方版
  • 原文地址:https://www.cnblogs.com/JHSeng/p/11461581.html
Copyright © 2020-2023  润新知