1.17每日总结

1 早上

1 洛谷题 (2h)

 

#include<stdio.h>
​
//using namespace std;
​
int n,a[1000001];
​
void fast(int l,int r)
{
    int mid = a[(l + r) / 2];
    int i = l,j = r;
    do{
        while(a[i] < mid) i ++;
        while(a[j] > mid) j --;
        if(i <= j)
        {
            //swap(a[i],a[j]);
            int t = a[i];
            a[i] = a[j];
            a[j] = t;
            i ++;
            j --;
        }
    }while(i <= j);
    if(l < j) fast(l,j);
    if(i < r) fast(i,r);
}
int main()
{
    //cin >> n;
    scanf ("%d",&n);
    for(int i = 1;i <= n;i ++) scanf ("%d",&a[i]);
    fast(1,n);
    for(int i = 1;i <= n;i ++) printf ("%d ",a[i]);
    
}

因时间拆限制,so用二分法的思想

二 下午

1 看大话数据结构 了解了二叉树(1h)

2 洛谷题 美国总统(2h)

#include <bits/stdc++.h>
​
using namespace std;
​
void fun (string pre,string in)
{
    if (in.size() > 0){
        char root = pre[0];
        int a = in.find(root);  //在字符串s中查找第一个字符的位置,返回下标
        //cout << a << endl;
        pre.erase(pre.begin());       在字符串中删除指针()所指向的字符
        fun (pre.substr(0,a),in.substr(0,a));  //切割
        fun (pre.substr(a),in.substr(a + 1));
        cout << root;
    }
    
}
​
int main ()
{
    string in, pre;
    cin >> in >> pre;
    fun (pre,in);
    
    return 0;
}

3 洛谷题 (2h)

#include <bits/stdc++.h>
​
using namespace std;
​
void fun (string in,string post)
{
    if (in.size() > 0){
        char a = post[post.size() - 1];
        cout << a;
        int b = in.find(a);    //找到a所在的位置
        fun (in.substr(0,b),post.substr(0,b));        //substr  切割    递归左子树
        fun (in.substr(b + 1),post.substr(b,in.size() - b - 1));  //递归右子树
    }
}
int main ()
{
    string in;
    string post;
    cin >> in >> post;
    fun (in,post);
    
    return 0;
}

三晚上

看关于并查集的视频 (1h)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值