上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 68 下一页
摘要: DP的设计最重要的是找到合理的方案,如果求的是方案,那就要要求不重不漏。 一般这种都跟组合数结合,一定要给组合数公式想到一个实际的物理意义,这样理解起来比较方便 这题我确实不会,但是看题解觉得很牛逼,也很有道理,关键就是找到一个点能使得所有状态不重不漏 一般都是考虑题目给的信息,很多情况下都是考虑集 阅读全文
posted @ 2020-09-03 16:56 朝暮不思 阅读(251) 评论(0) 推荐(0)
摘要: 这题比较容易看出来是dp,但是不容易看出来的一点是,如果当前点我们能够选,那么只要在这个范围内的可行答案我们都可以挑选,这是因为 s<t<d,如果当前点可以选,那么不会存在之前选过这些点,因为一旦选过,当前点就不能选。所以我们用优先队列预处理一下当前点选啥 之后dp求取即可 #include<bit 阅读全文
posted @ 2020-09-02 20:32 朝暮不思 阅读(176) 评论(0) 推荐(0)
摘要: 队长:zwz 队内大佬:cyj 饮水机管理员:cty 获奖记录: 2021ICPC济南:Ag 2021CCPC桂林:Cu 2021CCPC湘潭邀请赛: Ag 2021浙江省赛:Ag 2020浙江省赛:Cu 2020CCPC绵阳:Cu 2020团体设计天梯赛:Ag 2020ICPC上海:Fe(无Fuc 阅读全文
posted @ 2020-09-02 16:45 朝暮不思 阅读(383) 评论(0) 推荐(1)
摘要: A 模拟大数取模 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int maxn = 10000000 + 1; const int mod = 10001; char s[maxn 阅读全文
posted @ 2020-09-02 16:43 朝暮不思 阅读(174) 评论(0) 推荐(0)
摘要: 这题首先理解题意想暴力,在一个子树中,A想要两点异或值最大,B想要异或最小,A先选 这其实就是告诉我们,A要选择一个点,使得他和其他点的异或值的最小值最大。 对于异或贪心取值,一般来说,很容易想到使用01Trie上贪心。但是我们要求每个子树上的情况,暴力显然是平方级别。 这个时候,我们遇到的问题是, 阅读全文
posted @ 2020-09-02 16:34 朝暮不思 阅读(216) 评论(0) 推荐(0)
摘要: 启发式合并是自底向上的,将小的集合合并到大的集合上的一种方法,从直觉上来说这样比较优,事实上也证明了这一点。 这题的贪心想法是,如果我当前的点是空的,那么我把子树中最深的点移到这,这样是最优的。那么合并子树集合信息来往上做就是采用启发式合并 #include<bits/stdc++.h> using 阅读全文
posted @ 2020-09-02 11:00 朝暮不思 阅读(231) 评论(2) 推荐(0)
摘要: 虽然叫做dsu on tree,但是其实没有用到dsu,只是借鉴了dsu的启发式合并 启发式合并的精髓就是将轻节点的信息合并到重节点上,对轻节点进行暴力维护。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typ 阅读全文
posted @ 2020-09-01 22:42 朝暮不思 阅读(141) 评论(0) 推荐(0)
摘要: 数据这么小,不是暴力就是状压。 考虑状压dp,f[i][j]表示前i大的数填完后,状态集合为j的情况。 这样我们可以从小到大填数。对于状态更新。 首先如果当前i我们填在一个谷底那么就是状态直接相加。 比较复杂的情况是我们填在非谷地,因为我们要知道还可以填哪些位置,而这些位置是随便填的,只要根据乘法原 阅读全文
posted @ 2020-09-01 16:49 朝暮不思 阅读(199) 评论(0) 推荐(0)
摘要: 虽然是块,但是其实可以看作是除了两边的两块外,中间做一下kmp算法 但是有几个坑点: 1.相同的数字要合并,因为相同的数字代表的其实是同一种,如果不合并,在匹配的时候看上去是不一样的 2.对于块数为1和2的直接特判一下就好 3.对于中间匹配的,也不要忘记判断一下两边的块是否合理 #include<b 阅读全文
posted @ 2020-08-31 22:28 朝暮不思 阅读(218) 评论(0) 推荐(0)
摘要: 这道题算法很好想,为了不枚举每一个点做一遍,因此考虑换根dp,也就是先正的做一遍,之后从上面来更新下面的节点,难点在于细节非常复杂。 首先我们可以想到维护的是f[i][],g[i][],表示子树和上方的信息 分为f[i][0],和f[i][1]表示取完后回到i以及在i的某个子树中停留。 剩下的更新方 阅读全文
posted @ 2020-08-31 20:53 朝暮不思 阅读(195) 评论(0) 推荐(0)
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 68 下一页