3.11-3.17 周记

3.11-3.17

这周比较水,周一满课,看了看单调队列优化dp,晚上准备英语演讲,做了些天梯赛的题目,周二几乎整天都在准备英语演讲。随手过了几个L1的题目。星期三结束了英语演讲之后,晚上怒刷L1。星期四将L1完结,开刷L2。周五看了看python,数据库,晚上继续L2。周六参加了西北大学校赛,跟sx大佬a了五个题,拿了全场第一个一血,太刺激了。最后过了五个题也还算完美。今天匆匆忙忙补完了作业,不敢拖拉,赶紧补上本周的总结

1. 天梯赛练习集-L1部分

L1-006 连续因子

#include 
using namespace std;
int n;
int main(){
    cin>>n;
    int max_len = sqrt(n);
    int res_begin = 0,res_len = 0;
    for(int i=2;i<=max_len;i++){
        if(n%i==0){
            int k = n,cnt = 0,now = i;
            while(k%now==0){
                k/=now;
                cnt++;
                now++;
            }
            if(cnt>res_len){
                res_len = cnt;
                res_begin = i;
            }
        }
    }
    if(res_len == 0){
        cout<<1<

L1-020 帅到没朋友

这个题比较坑,输出的id必须是5位,而且需要有前缀0

#include
#include
using namespace std;
int main()
{
    int n,p[100000]={0};
    cin>>n;
    for(int i=0;i>x;
        for(int j=0;j>y;
            if(x!=1) 
            p[y]=1;
            
        }
    }
    int m,sum=0,flag=1;
    cin>>m;
    for(int i=0;i>o;
        if(p[o]==0)
        {
            p[o]=1;
            sum++;
            if(flag==1)
            {
                printf("%05d",o);
                flag=0;
            }
            else
            {
                printf(" %05d",o);
            }
        }
    }
    if(sum==0)
    {
        cout<<"No one is handsome";
    }
    cout<

L1-023 输出GPLT

这个题也卡了一点时间,主要问题就是最后循环不到位,输出的不完全

#include 
using namespace std;
char s[10010];
int G,P,L,T;
int a[4];
char t[4] = {'G','P','L','T'};
int main(){
    cin>>s;
    int len = strlen(s);
    for(int i=0;i

L1-025 正整数A+B

  • 这个题理解错题意了,输入在一行给出A和B,中间是空格隔开,输入样例里面有一个多数字的,其实第一个空格之后的都属于B,简直坑惨了
#include 
using namespace std;
string A,B;
int a;int b;
int convert(string s){
    int res = 0;
    int len = s.length();
    if(len<1||len>4)return false;
    for(int i=0;i4)return false;
    for(int i=0;i1000||num<1)return false;
    return true;
}
char str1[1100],str2[1100];
int main(){
    char str1[1100], str2[1100];
    scanf("%s",str1);
    getchar();
    cin.getline(str2,sizeof str2);
    A = string(str1);
    B = string(str2);
    //cout<

L1-046 整除光棍

import java.util.Scanner;
import java.math.BigInteger;

public class Main {

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        String str = cin.next();
        BigInteger a = new BigInteger(str);
        BigInteger b = new BigInteger("1");
        BigInteger end = new BigInteger("0");
        int num = 1;
        while(true) {
            if(end.equals(b.remainder(a))) {
                break;
            }
            b = b.multiply(new BigInteger("10")).add(new BigInteger("1"));
            num++;
        }
        System.out.println(b.divide(a)+" "+num);
    }

}
  • 竖式除法自己没想出来
#include
using namespace std;
int main()
{
    int x,s=0,n=0;//定义除数,被除数,位数 
    cin>>x;
    while(s

L1-049 天梯赛座位分配

  • 这题逼我用bfs做,实在是无法正视
#include 
using namespace std;
int n,a[101];
int res[101][101];
struct node{
    int x,y;
};
int main(){
    cin>>n;
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    queue q;
    for(int i=1;i<=n;i++)q.push({i,1});
    int cnt = 0;
    while(!q.empty()){
        int x = q.front().x;
        int y = q.front().y;
        q.pop();
        res[x][y] = ++cnt;
        if(y

2.天梯赛练习集-L2部分

这部分放到下一周叭,就这么愉快的说定了。我要去补题了。

转载于:https://www.cnblogs.com/1625--H/p/10548249.html

你可能感兴趣的:(java,python,数据库)