上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 66 下一页
摘要: "传送门" 解题思路 比较好想的一道思路题,结果有个地方没开$long$ $long$ $wa$了三次。。其实就是模仿一下树链剖分,重新定义重儿子,一个点的重儿子为所有儿子中到叶节点权值最大的点,然后就和树链剖分一样$dfs$一遍,把那些链的顶端的$sum$值放到一个数组排个序。 代码 cpp in 阅读全文
posted @ 2018-12-17 15:55 Monster_Qi 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 题面 Time Limit: 50 Sec Memory Limit: 128 MB Submit: 3596 Solved: 1070 [Submit][Status][Discuss] Description 神犇SJY虐完HEOI之后给傻×LYD出了一题:SHY是T国的公主,平时的一大爱好是作 阅读全文
posted @ 2018-12-16 19:17 Monster_Qi 阅读(191) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 考虑全集 不能构成三元环的个数。如果三个点不能构成三元环,一定有一个点的入度为$2$,继续扩展,如果一个点的度数为$3$,则会失去3个三元环。对于一个点来说,它所产生的不能构成三元环的贡献为$C (deg[x],2)$,而度数每增加$1$,对于答案的影响就是$C(deg[x]+ 阅读全文
posted @ 2018-12-16 18:30 Monster_Qi 阅读(158) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 最大权闭合子图。但是要注意一些细节,假如有一堆植物形成一个环,那么这些植物都是无敌的,并且他们保护的植物是无敌的,他们保护的保护的植物是无敌 的。所以要缩点,然后拓扑排序一次判无敌,然后剩下的就是一个最大权闭合子图模板了。源点向正权点连流量为正权的边,负权点向汇点连流量为负权绝 阅读全文
posted @ 2018-12-15 11:37 Monster_Qi 阅读(201) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 仿照最小路径覆盖问题,用费用流解决此题。最小路径覆盖问题是拆点连边后用$n $最大匹配,这里的话也是将每个点拆点,源点向入点连流量为$1$,费用为$0$的边,向出点连流量为$1$,费用为$a[i]$的边,出点向汇点连流量为$1$,费用为$0$的边。然后对于每条边,由$x$的入点 阅读全文
posted @ 2018-12-14 10:19 Monster_Qi 阅读(120) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 神仙题。调了一个晚上+半个上午。。这道咋看咋都不像图论的题竟然用费用流做,将行+列为奇数的点和偶数的点分开,也就是匹配问题,然后把一个点复制四份,分别代表这个点的上下左右接头,如果有这个接头就加一个费用为$0$,流量为$1$的边,如果没有要分情况讨论,因为从源点到这个点的流量是 阅读全文
posted @ 2018-12-14 09:48 Monster_Qi 阅读(156) 评论(0) 推荐(0) 编辑
摘要: [传送门[(https://www.lydsy.com/JudgeOnline/problem.php?id=3238) 解题思路 首先原式可以把$len$那部分直接算出来,然后通过后缀数组求$lcp$。算$\sum lcp$的时候,刚开始傻了想要直接算贡献,结果越写越乱,后来想想只需要用单调栈把每 阅读全文
posted @ 2018-12-12 14:24 Monster_Qi 阅读(138) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 $T=0$时就和 "SP7258" 一样,$T=1$时其实也差不多,只不过要把每个点原来是$1$的权值改为$Right$集合的大小。 代码 cpp include include include include using namespace std; const int MA 阅读全文
posted @ 2018-12-12 10:28 Monster_Qi 阅读(100) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先建$sam$,然后在拓扑序上$dp$一下,把每个点的路径数算出来,然后统计答案时就在自动机上$dfs$一下,仿照平衡树那样找第$k$小。 代码 cpp include include include include using namespace std; const in 阅读全文
posted @ 2018-12-11 23:59 Monster_Qi 阅读(149) 评论(0) 推荐(0) 编辑
摘要: "传送门" 解题思路 首先建出$sam$,然后把$siz$集合通过拓扑排序算出来。对于每个点只更新它的$maxlen$,然后再从大到小$dp$一次就行了。因为$f[maxlen 1] =f[maxlen]$这个性质。 代码 cpp include include include include us 阅读全文
posted @ 2018-12-11 23:05 Monster_Qi 阅读(152) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 66 下一页