2019牛客多校第7场总结

这次比赛是参加多校以来a题最多的一次了

 常常思索很久没有结果。这回算是比较愉快的体验了。

 首先两道水题是真的水到让人难以置信。

 首先是J题,题意是给两个数字a,b将两数字分别逆转相加后再逆转输出答案。

 明显拼手速啊这,还是放一下代码。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<string>
#include<algorithm>
#include<queue>
typedef long long ll;
const double eps=1e-10;
const double pi=acos(-1.0);
const int maxn=1e5+5;
int main()
{
    int T;
    scanf("%d",&T);
    while(T--)
    {
        ll a,b;
        scanf("%lld%lld",&a,&b);
        ll a1=0,b1=0;
        ll ans=0,ans1=0;
        while(a)
        {
            a1+=a%10;
            a1*=10;
            a/=10;
        }
        a1/=10;
        while(b)
        {
            b1+=b%10;
            b1*=10;
            b/=10;
        }
        b1/=10;
        ans=a1+b1;
        while(ans)
        {
            ans1+=ans%10;
            ans1*=10;
            ans/=10;
        }
        ans1/=10;
        printf("%lld\n",ans1);
    }
    return 0;
}

 然后发现D题过的人也很多啊!遂看D,题意给你一个n,代表要求的数x的位数,一个素数p,x要是p的倍数。

 这题也是很简单设p的位数为sum,如果n>sum的时候就不行,n<=sum的时候只要输出p,然后在后面输出n-sum个0就ok了。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<string>
#include<algorithm>
#include<queue>
typedef long long ll;
const double eps=1e-10;
const double pi=acos(-1.0);
const int maxn=1e5+5;
int main()
{
    int n,p,P,sum=0;
    scanf("%d%d",&n,&p);
    P=p;
    while(P)
    {
        P/=10;
        sum++;
    }
    if(sum>=n+1)
        printf("T_T\n");
    else
    {
        printf("%d",p);
        for(int i=0;i<n-sum;i++)
        {
            printf("0");
        }
        printf("\n");
    }
    return 0;
}

 其实B题要是知道某个性质的话也是水题。可惜我们并不知道?,题意是给你多项式的系数,问这个多项式能否分解为系数为实数的因数。

 天知道我和我队友看了多少篇论文,发现一些充分条件,啥艾森斯坦因判别法的。完全走偏!!!这道题浪费了我们大概3个小时。完全没头绪,看着榜内心“他们怎么都会,tql,明明都没有充要条件。”事实上是我们自己走偏了啊。不停的在百度。?后来直接找到原题了!!!甚至还有代码。。。。。。。。。。。。。。。。。。。。。原来三次以上的多项式一定是可以因式分解的。震惊!!!听说数学系的大一就学了。。。。。。。。。看来还是知道的太少了。结果想了这么久竟然是这么简单的东西。。。。。

#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>
using namespace std;
const int maxn = 300;
const double eps = 1e-8;
const int INF=1e9+7;
int a[25];
int main()
{
    int T,n;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%d",&n);
        for(int i=0;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        if(n>2)
            printf("No\n");
        if(n==2)
        {
            if(a[1]*a[1]>=4*a[0]*a[2])
                printf("No\n");
            else
                printf("Yes\n");
        }
        if(n>=0&&n<2)
        {
            printf("Yes\n");
        }
        
    }
    return 0;
}

 在a了B之前队友在wa了4发后过了A,具体咋过的我也不是很清楚。也是很强了。

 期间有看过C思索一番后觉得该用线段树,但是用法好像想的有点问题,最后只剩C题可做了,又觉得线段树一个小时里敲不出来,于是转战看H去了。。。。。。。到最后也没想出来。。。赛后一看题解,数位dp。。。。确认过眼神,是还不会的知识点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值