赛后总结:

  T:今天比赛彭彭和金姐又来晚了。╭(╯^╰)╮然后我从最后开始看,最后一题又是熟悉的序列交换成有序数列,然后套一下我们的模板,然后就拿到首A了。接着跟榜看A题,花了几分钟搞一搞,然后因为爆int挖了一发,痛苦,以后要仔细看数据范围啊。然后金姐和彭彭看了E题做出来了,然后金姐看H题,听隔壁队伍口胡了快半小时。。。笑死我了。然后比他们先做出来了。最后我在看B题,组合数学题,不知道怎么处理大数阶乘,用java搞出来解,但是因为复杂度的问题,wa了,最后金姐和彭彭莫名其妙搞出了G题。太强了啊。如果会做更多组合数学题就好了呜呜。

      P:E题是一道水题,然而打的时候还是不必要的WA了一次(傻的判断条件写错了。。还自己没找到,金姐看到的)。G题首先的想法以为只会有两种不同的数字,然而思路是错的,被金姐推翻。后来。。就跟这道题杠上了,然后突发奇想,逆向思维向上推,受金姐启发,在思路不完全清晰的情况下,找到了能够应征大家之前所有例子的正确解,然后金姐就打了,就A了之后都还不是特别明白为什么。直到结束,问了隔壁队。

  J:H题也是一道水题,但是刚开始样例没看懂,结果听隔壁队口胡,突然就看懂了,但是后来想复杂了,想到万一水不够木块浮起来怎么办,把隔壁队也给带歪了,最后看到A了那么多人,应该没那么复杂,就A了

 

 

 

题解:

A - A Count Task

 HDU - 6480 

简单字符串题

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<set>
#include<string>
#include<vector>
#include<ctime>
#include<map>
#include<unordered_map>
#include<time.h>
#include<random>
#include<stack>
#include<cstdlib>
using namespace std;
typedef long long ll;
#define mm(a,b) memset(a,b,sizeof(a))
const int maxn = 1e6 + 50;
#define MAXN 1100
#define mod 100000007
const double eps = 1e-5;
int main()
{
    int T;
    scanf("%d", &T);
    while (T--)
    {
        string a;
        cin >> a;
        ll ans = 0;
        for (int i = 0; i < a.length(); )
        {
            ll count = 1;
            char now = a[i];
            for (int j = i + 1; j < a.length(); j++)
            {
                if (a[j] == now) count++;
                else break;
            }
            i += count;
            //if (count > 1)
            {
                ans += ((count + 1)*count) / 2;
            }
        }
        printf("%lld\n", ans);
    }
    return 0;
}

 

E - A Hard Allocation

 HDU - 6484 

题解:最优的解法是将蛋糕均分给大家,直到没有蛋糕,如果蛋糕是人数的倍数就是差值为0,否则差值为1

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstdio>
 4 #include<cstring>
 5 #include<cmath>
 6 #include<queue>
 7 #include<set>
 8 #include<string>
 9 #include<vector>
10 #include<ctime>
11 #include<map>
12 #include<unordered_map>
13 #include<time.h>
14 #include<random>
15 #include<stack>
16 #include<cstdlib>
17 using namespace std;
18 typedef long long ll;
19 #define mm(a,b) memset(a,b,sizeof(a))
20 const int maxn = 1e6 + 50;
21 #define MAXN 1100
22 #define mod 100000007
23 const double eps = 1e-5;
24 int main()
25 {
26     int T;
27     scanf("%d", &T);
28     while (T--)
29     {
30         int n, m;
31         scanf("%d %d", &n, &m);
32         if (n%m==0)
33             printf("0\n");
34         else
35             printf("1\n");
36     }
37     return 0;
38 }
View Code

相关文章: