上一页 1 2 3 4 5 6 7 ··· 12 下一页
摘要: T1 啊这。 显然,每一次最多能删掉n-1条边,实际上就是跑剩余边的最大生成树。 所以暴力就是模拟删边过程,得到每条边在第几次求最大生成树的时候被选中。 然而我们可以对每一条边进行考虑。当从大到小排序后,对于某一条边来说,一定是先判断能不能在第一次删,如果不能再判断能不能在第二次删,依次类推。可以发 阅读全文
posted @ 2021-10-14 15:25 lei_yu 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 好题。 我的思考方向:一段不能翻的区间,一定是烤同一方向。可以把原来的那个东西变成一堆类似 1 1 1 1 1 20 1 1 1 1 15 1 11 ... 的区间,求在其中取尽量少的区间个数,使得其和为n 。。然而个数依然是$10^5$个,没有实质性的突破。 然后就不会了 考虑朴素算法。可以想到f 阅读全文
posted @ 2021-10-13 21:55 lei_yu 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 妙啊。 首先想了一种离谱的方法。 设$f(i,j)$为$i$和$j$已经匹配时的最大收益。 那么就要知道上一个哪两个匹配,然后它们中间就一定是空格。然而这个时间复杂度为$O(n^4)$而且还不知道怎么分配空格。 我们考虑把分配空格交给dp来做。 设$f(i,j,0/1/2)$表示前i位和前j位已经使 阅读全文
posted @ 2021-10-13 11:02 lei_yu 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 2021.10.10 T1 其实很简单,没有必要用题解方法。我们只需要先计算出每一个位置在吃多少次之后就吃不到了。(一开始就吃不到的可以先删掉) 之后按照这个次数从小到大枚举,维护当前在剩下的序列中的位置即可。 每一次删除一个点需要判断当前位置是否需要减1。用树状数组判断即可。 剩下的位置的序号可能 阅读全文
posted @ 2021-10-11 20:44 lei_yu 阅读(47) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-10-08 18:51 lei_yu 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-10-07 15:39 lei_yu 阅读(1) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-10-04 21:19 lei_yu 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 发现树形背包又忘掉了。。。所以来复习一下顺便写博客。 朴素的树形背包是定义$f(i,j)$表示以i为子树用j重量时的最大价值。 那么我们再枚举给每一颗子树分配多少重量,这就是和背包类似的方法了。 #include <cstdio> #include <algorithm> using std::ma 阅读全文
posted @ 2021-10-03 21:59 lei_yu 阅读(27) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2021-10-03 13:14 lei_yu 阅读(5) 评论(1) 推荐(0) 编辑
摘要: #1、线段树分治 P5787 二分图 /【模板】线段树分治 首先考虑所有区间全部相离的情况。 这个时候可以直接用可撤销的并查集维护图中是否有奇环来解决。 再考虑有相离和互相包含两种情况。 其实和上面是差不多的,直接插入撤销判断奇环即可。 所以并没有什么好说的。 但是如果有相交? 我们的撤销只能按插入 阅读全文
posted @ 2021-09-29 22:03 lei_yu 阅读(35) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 12 下一页