寒假第一天总结

寒假第一天总结

颓废的一天

emmm,寒假第一天有点颓废吧,没有按照计划来…
上午做了两个导数题,被坑的感到迷茫而无所适从…
另外捣鼓了一下凤凰安卓OS,依然和几个月之前的情况一样,卡在grub死活找不到引导文件…
于是背英语单词的计划就搁置了(一看就是借口,没必要非在Android上背单词吧…)
下午开始弄博客,把博客从gitee转到了coding,并且绑定了域名。
之后开始修gitment,被labels长度限制坑了好长时间,最终想出了方法成功解决,还汉化了一下。
然后就发了篇blog,写了一下解决办法。
期间还看了下今年省选round1和round2的题,和@HT008聊了一段时间,主要收获是:
1.不用线段树,用树状数组或者ZKW式,最普通的线段树常数太大。
2.精度误差主要是Sqrt和三角函数造成的,所以要慎用。
后来折腾搜索引擎、站长统计还有链接提交,加了个友链模块,博客到此除了搜索引擎还没配好其他的功能都比较完善了。
晚上临睡前计时写了一下dijkstra最短路,看了下自己之前一直是70分的dij最短路,发现原来是重载运算符的部分写挂了,一直没有意识到,当时还去问是怎么回事…
不过现在终于想明白为什么那么写了:

struct pd
{
    int fr,v;
    bool operator < (const pd rhs)const 
    {
        return rhs.v<v;
    }
};

因为是在结构体里,所以当前结构体的v是小于号前面的那个变量,rhs是小于号后面的那个变量。
按照正常顺序,priority_queue优先队列是小根堆,现在想要的是大根堆,所以如果v<rhs.v,就得返回false,那么只需将小于换成大于即可实现true和false的调换(相等的时候应该是无所谓吧…)
之后花了12分钟才写完dijkstra最短路,而且漏洞百出,确实是受3周+不敲代码的影响了。
问题主要反映在以下几点:
1.忘记加using namespace std;导致使用priority_queue报错。
2.结构体中的变量忘记声明类型,直接写的变量名,导致报错。
大概就是这样了,最后放上SDOI2017的分析:(来源:https://sulfur6.github.io/sdoi2017-ball/)
「SDOI2017」数字表格 莫比乌斯反演
「SDOI2017」树点涂色 LCT,线段树
「SDOI2017」序列计数 DP,矩阵乘法,线性筛
「SDOI2017」新生舞会 01分数规划,二分图最大权匹配
「SDOI2017」硬币游戏 KMP,高斯消元
「SDOI2017」相关分析 线段树
总体来说线段树比较重要,先学线段树,然后是数学(6T中3T是数学),之后图论和DP差不多均分天下。

就到这里吧。