暑假集训cf50练之3

Codeforces Round #349 (Div. 2)

第一题直接算就行了为了追求手速忘了输出yes导致wa了一发。。。

第二题技巧题,直接sort,然后把最大的和其他的相减就是构成一条直线,为了满足条件就+1

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#define MIN(a,b) a<b ? a:b

using namespace std;

const double g=10.0,eps=1e-9;
const int N=100000+10,maxn=10000+10,inf=0x3f3f3f;

ll a[N];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    ll n,sum=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        sum+=a[i];
    }
    sort(a,a+n);
    cout<<2*a[n-1]-sum+1<<endl;
    return 0;
}

B

第三题没来的及写就打另一场去了。。。发现是道dp(我估计写了也写不对)用dp[i][0]表示i到i+2能否截取,dp【i】【1】表示i到i+3能否截取

然后从后向前扫一遍

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000")

using namespace std;

const double g=10.0,eps=1e-9;
const int N=10000+10,maxn=300,inf=0x3f3f3f;

bool dp[N][2];
set<string>ans;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    string s;
    cin>>s;
    for(int i=s.size()-1;i>=5;i--)
    {
        if(i+2==s.size())
        {
            dp[i][0]=1;
            ans.insert(s.substr(i,2));
            continue;
        }
        if(i+3==s.size())
        {
            dp[i][1]=1;
            ans.insert(s.substr(i,3));
            continue;
        }
        if(dp[i+2][1]||(dp[i+2][0]&&s.substr(i,2)!=s.substr(i+2,2)))
        {
            dp[i][0]=1;
            ans.insert(s.substr(i,2));
        }
        if(dp[i+3][0]||(dp[i+3][1]&&s.substr(i,3)!=s.substr(i+3,3)))
        {
            dp[i][1]=1;
            ans.insert(s.substr(i,3));
        }
    }
    cout<<ans.size()<<endl;
    set<string>::iterator it;
    for(it=ans.begin();it!=ans.end();it++)
        cout<<*it<<endl;
    return 0;
}

C

D,E待补

时间: 2024-10-06 21:30:50

暑假集训cf50练之3的相关文章

暑假集训cf50练之7

Codeforces Round #409 第一题很水但是wa了一发,因为没考虑K前面是K的情况 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #inclu

暑假集训cf50练之12

这是一场爆0的比赛...... 第一题wa了20发,longlong改double再改unsigned long long还是wa,最后判断的时候改成除,边界设为1e19就过了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<ca

暑假集训cf50练之19

Codeforces Round #388 (Div. 2) A水,总是忘记输出个数 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<

暑假集训cf50练之18

Codeforces Round #426 (Div. 2) A,判断向哪边旋转的,枚举过的=  =,感觉我的太复杂了,应该有更简单的方法 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include&

暑假集训cf50练之15

CodeForces 402A 水题,模拟 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<cstdlib> #include&

暑假集训cf50练之8

Codeforces Round #400 最近好像总是有点不想打,专题也刷不动,还是坚持这做了一场,虽然打到一半就没打了...(反正通常都只能做出两题) 感觉自己切水题越来越熟练了,然而难题还是不会做.. A题,水,用vector存下来就行了 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #in

暑假集训cf50练之14

Codeforces Round #425 (Div. 2) A超级水,三分钟1a #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<c

暑假集训cf50练之10

A水题,判断第一个,后面的全是0 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cstdio> #include<cassert> #include<iomanip> #include<cstdlib> #include<cs

「总结」2019暑假集训

啊,我最喜欢的暑假集训终究还是结束了. 感觉集训收获的还是挺大的,不管是在知识方面还是心态方面,感觉现在考试心态稳了很多,不管是考前考时考后,都可以很快的调整了.大概就是教练所说的考试心态调整的加速.最近感觉非常好,虽然水题还是老爆零,考得也不怎么样,不过我的确是飞快的在进步了,只要我在进步就好了,我很心满意足的. 总结一下接近30场的考试吧. 一开始的7场一直只有50分左右,而且还有两次没有交卷子,气得我把纸贴在电脑上提醒自己交卷子,虽然成绩并不怎么样,不过我还好在也不犯这个错误了. 然后就理