zoukankan      html  css  js  c++  java
  • Test 2019.5.19

    日常学校考试,这次试卷大致是 一道字符串处理 + 一道二分 + 一道看起来十分像DFS的动规,期望值210,实际180,100+80+0.好吧还是看下试卷.

    T1: 传送门

    T2: 传送门

    T3: 传送门

    T1:

    一道简单的字符串处理 (模拟),也就打了一个小时。原理和现实生活相近,类似于智能推荐的输入按键。模拟题意,逐个判断(简单易懂)。这道题认真模拟,注意最后输出的换行顺序就好。

    本题思路

    • 先输入n个,目的地名称,再输入已经输进去的字母
    • 然后对于每一个输入进去的字母都进行判断是否和目的地一致(只要有一个不一样就做标记,在最后搜索时跳过)
    • 对于每一个目的地,只要没被做过标记那么他的没输入的下一个字母就在输出的表数组上记录
    • 最后输出一个表​

    AC代码

    #include<bits/stdc++.h>
    using namespace std;
    char f[60][110],c[259];
    int i,n,ans[27],k=-1,l;
    bool b[90];
    void print(){
        printf("***");
        for(i=1;i<=26;i++){
            if(ans[i])cout<<char(i+64);
            else printf("*");
            if((i+3)%8==0 && i>4)cout<<endl;
        }
        printf("***");
    }
    int main(){
        cin>>n;
        for(i=1;i<=n;i++)cin>>f[i];
        cin>>c;
        l = strlen(c);
        while(++k < l){
            for(i=1;i<=n;i++){
                if(!b[i])if(f[i][k] != c[k])b[i]=true;
            }
        }
        for(i=1;i<=n;i++){
            if(!b[i])ans[f[i][l]-64]=1;
        }
        print();
        return 0;
    }
    View Code

    T2:

    自己用暴力做的80分,正解二分,没什么多说的了。

    暴力代码

    #include<bits/stdc++.h>
    #define maxn 100003
    using namespace std;
    int a,b,c,i,j,k;
    long long ans;          //此题的大坑点,无数打正解的人都wa在这
    int cake1[maxn],cake2[maxn],cake3[maxn];
    int main(){
        scanf("%d%d%d",&a,&b,&c);
        for(i=1;i<=a;i++)cin>>cake1[i];
        for(i=1;i<=b;i++)cin>>cake2[i];
        for(i=1;i<=c;i++)cin>>cake3[i];
        for(i=1;i<=a;i++){
            for(j=1;j<=b;j++){
                if(cake1[i]>=cake2[j])continue;
                for(k=1;k<=c;k++){
                    if(cake2[j]>=cake3[k])continue;
                    ans+=1;
                }
            }
        }
        printf("%d",ans);
        return 0;
    }
    View Code

    T3:

    一道动规题,当初做时以为是DFS,结果爆0了.......

    #include<bits/stdc++.h>
    using namespace std;
    #define maxn 5000
    #define inf 0xfffffff
    int sc[maxn+5],n,l,r,ans=-inf,f[maxn+5];
    int main(){
        cin>>n>>l>>r;
        for(int i=1;i<=n;i++){
            cin>>sc[i];
            f[i]=-inf;
        }
        f[1]=sc[1];
        for(int i=2;i<=n;i++){
            for(int j=l;j<=r;j++){
                if(i-j > 0)f[i]=max(f[i],f[i-j]);
            }
            if(f[i]!=-inf)f[i]+=sc[i];
            if(i+l>=n)ans=max(ans,f[i]);
        }
        cout<<ans;
        return 0;
    }
    View Code
  • 相关阅读:
    【原】WPF客户端只能启动一次
    【转载】U3D 游戏引擎之游戏架构脚本该如何来写
    【转载】u3d游戏客户端架构(---)
    【转载】asp.net 后台弹出提示框
    【转载】浅谈Excel开发:一 Excel 开发概述
    MyBatis 学习
    windows下关闭指定端口服务,解决tomcat端口占用问题
    中文用户名的js检验正则
    演讲稿
    面向对象和面向过程,python中的类class,python中程序的入口——main方法,
  • 原文地址:https://www.cnblogs.com/jiangfengyang/p/10922765.html
Copyright © 2011-2022 走看看