2020-11训练总结

本月重点学习了图论中的最短路问题、强连通分量、割点、双联通分量、2-SAT问题以及网络流等,并通过实践提升了解题和调试能力。复习了差分约束系统,探讨了动态规划的灵活运用,同时注意到了编程细节如数组越界和建图误区。下月计划深入学习网络流并刷题巩固。
摘要由CSDN通过智能技术生成

收获

  • 练习了将一个二元组当做图上的一个点(即拆点),然后建图求最短路的问题以及其它几个非模板的最短路问题;
  • 复习并练习了有向图的强连通分量,tarjan缩点;
  • 复习了tarjan求割点;
  • 学习并练习了无向图的点双联通分量,割顶与桥,学习了边双联通分量,在理论上复习了有关欧拉回路的知识;
  • 学习并整理了2-SAT问题,以及三元约束通过枚举转换成二元约束,noi2017游戏;
  • 学习了通过建立最短路树来减小在图上的枚举规模的技巧;学习了求无向图中的团与最大独立集的方法 ;
  • 复习并练习了差分约束系统,理解与应用超过从前,通过前缀和将和的约束转化成差的约束;
  • 学习并练习了kruskal重构树,noi2018归程;
  • 复习了树链剖分,优化了以前写的模板,顺带复习了最基本的线段树,;
  • 在杂题的练习中复习了状压DP,简单的双向TSP;求无向图的简单环个数(压缩路径上经过的点,通过规定起点以及一个状态中仅在起点处计算环来避免重复计算,上个月的DP练习中有接触过这种思想),练习了较低难度的贪心;
  • 写出来不少写前感到头大棘手的题,调试能力与代码能力应该有进步吧;
  • 本月AC 41题,蓝紫为主;
    在这里插入图片描述

经验方面

  • 处理链表时可以在0和n+1处添加虚拟位置方便处理,但是要注意在调用时“消掉”虚拟位置中的元素;
  • 注意kruskal中并查集的合并操作是a[find(a[u])]=a[find(v)],而不是a[u]=a[v];
  • 拿过一道题一定要先自己思考,哪怕知道这个难度的题目的正解自己一定想不出来,当看到自己的思考能对接紫书上的一些讲解时多少也会有些成就感;
  • 使用位运算时多用括号比较保险,这个优先级哪怕在赋值语句里也真的很迷。。。
  • 多组数据跑图论算法别忘重置cnt;
  • 动态规划中关于状态的思想完全不必拘泥于动态规划!
  • 打破对于传统条件的思维惯性!看清题目对与每个条件的描述!比如“i,j之间”并不意味着i<j;n个点并不意味着点的编号是1~n;
  • 不要忽略静态差错的作用,往往能节省不少时间;
  • 注意建图时的下标不要搞错!!!!!!!!!(半个小时同一个坑掉两次说明已经养成错误使用下标的习惯了),基础的地方不要写错;
  • 学东西别吊死在一篇博客或论文上;
  • 对一个算法的正确性存疑或者认为流程不够清晰时,手动模拟一下是个不错的办法;
  • 差分约束系统:将题目条件转化成等价不等式,利用这些等价不等式和隐含不等式建图;
  • 把初始化写成函数之后不要忘记调用。。。好几次了。。。
  • 字符串的读入问题,最好用10000%正确的写法,比如SDOI2011染色,只用getchar()把回车读掉提交上去会出问题;
  • 注意数组越界问题:在递归函数中越界有时程序不会异常,而是在越界的时候读取其他元素(noi2018归程);

其他

  • 关于线段树:对x的pushdown是针对x的儿子而言的,对x的pushup针对的是x,因此在update先pushdown,再pushup,query时只需要pushdown;查询区间时的方向性,一次query先左后右,在树链上时对于同一边先右后左,染色那个题判断边界颜色更新答案用到了这个性质;
  • 位运算确实很多地方用的不熟练,得抽个时间集中整理一下;
  • 总的来说目标基本完成,拓展部分学习了克鲁斯卡尔重构树,但是树链剖分练习过少,边双联通分量没有去写;下个月目标: 学习(fu xi)网路流,刷完洛谷的网路流24题,另外再练习 几道有关网路流的区域赛原题;
    在这里插入图片描述
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈希表扁豆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值