头像

Enal

武汉工程大学




离线:9小时前


最近来访(49)
用户头像
attract_914
用户头像
miracle0594
用户头像
eyetofreedom
用户头像
itdef
用户头像
教练....我想学算法
用户头像
做AC梦
用户头像
otohana
用户头像
RainFestival
用户头像
limie
用户头像
Hustle
用户头像
Eureka_7
用户头像
汤圆大小姐
用户头像
流苏贺风
用户头像
anji
用户头像
song666
用户头像
Randolph
用户头像
1..
用户头像
bxiao0801
用户头像
ljhs
用户头像
Belous


Enal
8个月前

题面:有$n$个正整数,$\forall i \in [1,n],a_i \in [1,m]$,问这$n$个正整数之和恰好为$k$的方案数。
$(1,6),(6,1)$算两种不同的方案。
输入规模:最多$2000$组测试用例。$n,m,k$均为正整数,$1 \leq n,m \leq30$,$1 \leq k \leq 3000$
时间限制:2s。
输入样例:

2
1 6 1
2 6 7

输出样例:

1
6

我的代码:

#include<bits/stdc++.h>
using namespace std;
const int MOD=1e9+7;
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        int n,m,k;
        scanf("%d%d%d",&n,&m,&k);
        int dp[15][1005]={0};
        for(int i=1;i<=k;++i){
            dp[1][i]=1;
        }
        for(int i=2;i<=n;++i){
            for(int j=1;j<=k;++j){
                if(j<i){
                    dp[i][j]=0;
                }else{
                    for(int k_=max(j-m,i-1);k_<=j-1;++k_){
                        dp[i][j]=(dp[i][j]+dp[i-1][k_])%MOD;
                    }
                }
            }
        }
        printf("%d\n",dp[n][k]);
    }
    return 0;
}

这个代码错在哪儿?




Enal
9个月前

一、Java

1.equals方法和hashcode方法的区别。
2.Java四种引用类型。
3.Hashmap的实现。

二、计算机网络

1.描述一下HTTP。
2.HTTP的请求头格式。
3.GET请求和POST请求的区别。
4.什么是HTTPS?
5.对对称加密算法和非对称加密算法了解多少?

三、多线程

1.进程与线程的区别?
2.杀死一个进程,会杀死它的所有线程吗?
3.你对进程通信了解多少?

四、设计模式

1.你了解哪些设计模式?
2.能写出单例模式的代码吗?

五、Android

1.Activity生命周期。
2.Android组件有哪些?

六、项目经历

七、数据库

一个sql查询。

八、算法

输入一个网址,将它各级域名倒序,然后按照域名的格式输出。

输入 www.toutiao.com.cn
输出 cn.com.toutiao.www

有没有空间复杂度是$O(1)$的算法?

//Enal当时写的
#include <bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin>>s;
    int state=0;
    stack<string> st;
    string word;
    for(int i=0;i<s.size();++i){
        if(s[i]=='.' && state==0){
            state=1;
            st.push(word);
            word="";
        }else if(s[i]!='.'){
            word+=s[i];
            state=0;//先写完时,面试官提醒我没有把state置0
        }
    }
    if(word!=""){
        st.push(word);
    }
    while(st.size()){
        cout<<st.top();
        st.pop();
        if(st.size()){
            cout<<'.';
        }
    }
    return 0;
}

这个算法的空间复杂度是O(n)别骂了别骂了



新鲜事 原文

Enal
9个月前
没想到面试的时候,我的麦克风出了问题,发不出声音。但是我之前测试过了,没有发现问题。而且牛客网站在面试之前也有检测麦克风的步骤,我是通过了的。
图片


新鲜事 原文

Enal
9个月前
准备字节安卓实习生面试了_(:з」∠)_


新鲜事 原文

Enal
2020-11-14 23:51
y总生日快乐!感谢您对我算法的指导!@[yxc]
图片


新鲜事 原文

Enal
2020-10-23 16:01
祝各位程序员节快乐!
图片


新鲜事 原文

Enal
2020-10-16 23:40
蓝桥杯rp++;
图片


活动打卡代码 AcWing 1050. 鸣人的影分身

Enal
2020-10-13 18:07
#include<cstdio>
using namespace std;
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
        int m,n;
        scanf("%d%d",&m,&n);
        int f[150][150]={0};
        f[0][0]=1;
        for(int i=0;i<=m;++i){
            for(int j=1;j<=n;++j){//i is sum, j is num
                f[i][j]=f[i][j-1];
                if(i>=j)f[i][j]+=f[i-j][j];
            }
        }
        printf("%d\n",f[m][n]);
    }
    return 0;
}


新鲜事 原文

Enal
2020-10-13 17:54
马上要打蓝桥杯了,C++荒废了好久,得捡起来了。


新鲜事 原文

Enal
2020-10-12 15:48
你们是通过什么途径了解到有AcWing的?