2021-03-20

本周周末总结

构造函数和贪心算法

本周学习了构造函数 个人感觉构造函数和普通的函数没两样 ,要说差别 ,也就是 前者没有返回值了;
但是构造函数又分有参无参;所以有无参数。调用的时候形式也不一样;个人感觉规则较多,能不用则不用。

构造函数与普通函数的区别:

1一般函数是用于定义对象应该具备的功能。而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初始化内容。

2构造函数是在对象建立时由jvm调用, 给对象初始化。一般函数是对象建立后,当对象调用该功能时才会执行。

3 普通函数可以使用对象多次调用,构造函数就在创建对象时调用。

4构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。

5 构造函数没有返回纸

构造函数要注意的细节:

1当类中没有定义构造函数时,系统会指定给该类加上一个空参数的构造函数。这个是类中默认的构造函数。当类中如果自定义了构造函数,这时默认的构造函数就没有了。
2在一个类中可以定义多个构造函数,以进行不同的初始化。多个构造函数存在于类中,是以重载的形式体现的。因为构造函数的名称都相同。

复制构造函数
调用复制构造函数的三种情况
1当用一个对象去初始化同类的另一个对象时,会引发复制构造函数被调用。例如,下面的两条语句都会引发复制构造函数的调用,用以初始化 c2。其中c1是已知的类的对象。

Complex c2(c1);
Complex c2 = c1;

2如果函数 F 的参数是类 A 的对象,那么当 F 被调用时,类 A 的复制构造函数将被调用。换句话说,作为形参的对象,是用复制构造函数初始化的,而且调用复制构造函数时的参数,就是调用函数时所给的实参。

// An highlighted block
#include<iostream>
using namespace std;
class stu{
public:
    stu(){};
    stu(stu & a){
        cout<<"Copy"<<endl;
    }
};
void Func(stu a){ }
int main(){
    stu a;
    Func(a);
    return 0;
}

结果就是 Copy 因为调用Func的时候给stu创建了一个型参 这个时候系统会自动调用复制构造函数;
3 函数A的返回值是类类型的时候;

贪心算法思路

本周做了几个贪心算法的题目 真的很难想到真正的贪心标准

1当我做fj泥浆池的题目的时候 我一开始的思路是这样的 所有泥浆池的长度加起来 除去木板长度L,然后在ceil一下 因为你要把所有的泥浆池都覆盖 ;但是我遗忘了 当覆盖一个泥浆池的时候 如果木板盖完该泥浆池的时候多出来的部分是可以接着用的 但不能锯下来 也就是说,当两个泥浆池距离足够近的时候 可以用剩下的部分
我改变了思路
把每一个泥浆池当成一个环节 ;每次覆盖泥浆池的用的板数最少,加起来就最少;所以给泥浆池的右端点排升序;

2删数字的问题
这个问题一开始我接触过;n位数 删掉m位数 ,使剩下的数顺序不变并且最小
我一开始认为呢删掉m个数 我删位置靠前的 而且大的数;但是遇到0 就很特殊;思路就中断了;
上课时老师讲到了这个题 正着想不好做;可以反着想;删掉m个数就相当于从n位数中取出n-m个位数 使它最小;
但是我下课后想着,如果从左向右开始 第一位的数要是比后面的数大 就删掉它 然后再从删剩下的n-1位数开始 再从第一位开始比较 这样下来 结果和反着想一样 但是不用在意取数的范围 反而比取数这个反着想更简单
感觉 贪心算法 真的关键是思路 有点思路千百行 而且超时,有的思路很巧妙;
几十行就成功ac。花
3 与数学代数有关
有的题目并不是找规律问题 而是需要通过代数式计算化简后 比较得到贪心的标准;
例如 牛吃花的问题 预习的时候真的一头雾水 不知如何下手 因为影响结果的因素有点多 位置 和吃花的速度;没有思路;
后来知道 要取两个相邻的牛来假设比较一下 分别列出牵a 和牵b的所被吃掉的花 然后做差比较
还有碰撞合二为一的题 也是通过代数运算来比较;发现大质量的多碰撞 碰撞后的结果就小;并且涉及到动态规划的领域 所以用优先队列来存储;大质量和大质量先碰,碰后的结果当成新的质量存入优先队列 ,在这之前pop掉两个要碰撞的大质量 push进去一个两者的碰撞后的质量;一次类推。

2021-03-26 20:54:33,596 - Model - INFO - Epoch 1 (1/200): 2021-03-26 20:57:40,380 - Model - INFO - Train Instance Accuracy: 0.571037 2021-03-26 20:58:16,623 - Model - INFO - Test Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Best Instance Accuracy: 0.718528, Class Accuracy: 0.627357 2021-03-26 20:58:16,623 - Model - INFO - Save model... 2021-03-26 20:58:16,623 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 20:58:16,698 - Model - INFO - Epoch 2 (2/200): 2021-03-26 21:01:26,685 - Model - INFO - Train Instance Accuracy: 0.727947 2021-03-26 21:02:03,642 - Model - INFO - Test Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Best Instance Accuracy: 0.790858, Class Accuracy: 0.702316 2021-03-26 21:02:03,642 - Model - INFO - Save model... 2021-03-26 21:02:03,643 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 2021-03-26 21:02:03,746 - Model - INFO - Epoch 3 (3/200): 2021-03-26 21:05:15,349 - Model - INFO - Train Instance Accuracy: 0.781606 2021-03-26 21:05:51,538 - Model - INFO - Test Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,538 - Model - INFO - Best Instance Accuracy: 0.803641, Class Accuracy: 0.738575 2021-03-26 21:05:51,539 - Model - INFO - Save model... 2021-03-26 21:05:51,539 - Model - INFO - Saving at log/classification/pointnet2_msg_normals/checkpoints/best_model.pth 我有类似于这样的一段txt文件,请你帮我写一段代码来可视化这些训练结果
02-06
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值