摘要: 最小生成树[P3366] 5min并查集[P3367] 4min单源最短路[P3371] 6min线性筛[P3383]快速幂[P1226] 3min堆[P3378]字符串哈希[P3370]线段树[3372] 10min树状数组[3374]网络流[3376]KMP[3375]LCA[3379]gcd(阅读全文
posted @ 2018-06-01 18:08 刘文尧 阅读(34) 评论(1) 编辑
摘要: "题目" 一道考验递归的题目,在面对这种字符串处理的题时,还是应该用递归这种比较好看懂而且比较简单写的算法。 $code$ c++ // luogu judger enable o2 include include include include include define int long lo阅读全文
posted @ 2019-03-17 15:03 刘文尧 阅读(1) 评论(0) 编辑
摘要: "题目" 很好想的一道二分题,首先,二分一定满足单调性,而题目中非常明显的就是用的车越多,所用时间越少,所以可以枚举时间,判断是否可以比$m$少。 然后在二分时,更是要注意下标的一些问题,也要注意车和$m$作比较的顺序。 $Code$阅读全文
posted @ 2019-03-15 21:00 刘文尧 阅读(1) 评论(0) 编辑
摘要: "题目" 一道比较好想的树形$DP$ 完全可以用树形DP的基本思路,递归,然后取最优的方法。 $Code$ c++ include include include include using namespace std; int n, a, b, cnt, maxn, data[100100], d阅读全文
posted @ 2019-03-15 19:36 刘文尧 阅读(0) 评论(0) 编辑
摘要: "题目" 一道十分经典的数论题,在考场上也可以用暴力的算法来解决,从而得到$50pts$的较为可观的分数,而如果想要AC的话,我们观察原题给的数据范围$a,b,c,d$(为了好表示,分别代表a1,a2,b1,b2)。 这样我们可以根据比较容易推出的定理来优化 $$gcd(a,b)==c~= ~gcd阅读全文
posted @ 2019-03-14 17:15 刘文尧 阅读(1) 评论(0) 编辑
摘要: "题目" 此题是一个状态转移方程还算比较多的一个区间DP,这个题也能启示我们如果某个状态不能够很好地解决问题,那么不妨试试再加一维,而且如果转移顺序不确定的话,可以试试记忆化搜索,说不定就可以比较容易的写出状态转移方程和状态转移。 状态 如果我们要关掉$i$到$j$的灯,则最后一个关掉的灯就是$i$阅读全文
posted @ 2019-03-14 17:01 刘文尧 阅读(0) 评论(0) 编辑
摘要: "题目" 这个题主要是一个考分类讨论的模拟题,做这个提的时候首先要脑子清醒,才可以清楚地写出怎么模拟来。 $Code$ c++ include include include include include define N 100100 using namespace std; int n, k,阅读全文
posted @ 2019-03-10 16:42 刘文尧 阅读(1) 评论(0) 编辑
摘要: "题目" 负载平衡问题是一个比较经典的网络流问题,但是该问题还有一个数学贪心法。 所以做这个题前,其实可以做一下均分纸牌问题。 均分纸牌问题 均分纸牌问题可以说是作为贪心的入门题。 做法 首先我们应当把原先的数都减上所有数的平均值,这样原数组就转化为了原数组和平均数的差。 这个题的思想也很简单,转化阅读全文
posted @ 2019-03-04 17:33 刘文尧 阅读(4) 评论(0) 编辑
摘要: "题目" 作为$NOIp2017D1T3$ 这个题还是很良心的,至少相对于$NOIp2018$来说,希望$NOIp2019$不会这么坑吧。 这个题可以作为记忆化搜索的进阶题了,做这个题的方法也是多种多样。 $30pts$ 30分可以直接套用最短路计数的模板直接套上就可以了。 $100pts$ 100阅读全文
posted @ 2019-02-24 20:16 刘文尧 阅读(4) 评论(0) 编辑
摘要: "题目" 这个提示一个简单的最短路计数,除了用数组存上最短路的个数的做法以外,还有可以在得出最短路之后,搜索加剪枝的方法来通过该题。 可以反向搜索用A 的方法来通过,但是这个题的去重十分的恶心,需要一些玄学操作。 $Code$ c++ // luogu judger enable o2 includ阅读全文
posted @ 2019-02-22 21:09 刘文尧 阅读(3) 评论(0) 编辑
摘要: "题目" 我们首先考虑该题没有环应该怎么做,因为没有环所以是一个DAG,因此直接加上入度为0的罪犯,而有环则可以缩点,之后就成为了DAG,然后用一方法做就好了。 $Code$ c++ include include include include include using namespace st阅读全文
posted @ 2019-02-01 20:19 刘文尧 阅读(12) 评论(0) 编辑