上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 65 下一页
摘要: A:签到 B:考虑模意义下每个数的贡献即可。 C:如果上一轮对方选择了某一组英雄中的一个,而另一个还没被选,显然只能选择他。否则显然应该先把每一组英雄中价值较大的选中,这样对方必须选择另一个,最后再将剩余英雄从大到小选取即可。 D:大胆猜想答案等于子树内叶子数量。 E:暴力枚举0串的长度,显然1串的 阅读全文
posted @ 2019-02-16 18:34 Gloid 阅读(320) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/HocRiser/p/8207295.html 安利! 阅读全文
posted @ 2019-02-16 00:51 Gloid 阅读(186) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/HocRiser/p/8207295.html 安利! 阅读全文
posted @ 2019-02-16 00:16 Gloid 阅读(150) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/HocRiser/p/8207295.html 安利! 写NTT把i<<=1写成了i<<=2,又调了一年。发现我的日常就是数组开小调调调,变量名写错调调调,反向判if调调调,退役吧。 阅读全文
posted @ 2019-02-15 23:32 Gloid 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 考虑第一问的部分分。显然设f[i]为i子树从根开始扩展的所需步数,考虑根节点的扩展顺序,显然应该按儿子子树所需步数从大到小进行扩展,将其排序即可。 要做到n=3e5,考虑换根dp。计算某点答案时先将其在父亲中的贡献去掉,然后用和之前同样的方法做即可。冷静一下也没什么复杂的。 第二问注意到两个点扩展出 阅读全文
posted @ 2019-02-14 22:59 Gloid 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 考虑按顺序暴搜子序列。如果序列中的数两两不同,显然每次给上一个找到的子序列添上后缀最小值,即为下一个要找的子序列。如果不能再加了就回溯继续考虑后缀次小、第三小……值,直到找到k个子序列。 有重复的数后,考虑后缀k小值只取第一次出现的位置,并在每找到一个子序列后就统计其出现次数。显然这样就能找到所有要 阅读全文
posted @ 2019-02-14 19:09 Gloid 阅读(282) 评论(1) 推荐(0) 编辑
摘要: 假设已经求出了i个点j个桥的连通图数量f[i][j],容易由此推出最终答案,套路地枚举1号点所在连通块大小即可。 假设已经求出了i个点的边双连通图数量h[i],考虑由此推出f[i][j]。可以枚举其中一座桥将图划分成两个部分,固定1号点在其中一端,将桥两端的部分方案数相乘即可。这样每种方案被考虑的次 阅读全文
posted @ 2019-02-13 21:13 Gloid 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 容易想到固定第一个排列为1~n,算出答案后乘上n!即可,但这样就离正解走远了。 考虑排列dp的一般套路,将数从大到小加入排列,这样每个位置第一次填数时(不管是第一个还是第二个排列)其贡献就确定了。 显然当前两个排列有用的信息仅仅是两个排列都填了、仅第一个排列填了、仅第二个排列填了、两个排列都没填的位 阅读全文
posted @ 2019-02-12 18:17 Gloid 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 首先只有一份图时显然可以状压dp,即f[S][i]表示S子集的哈密顿路以i为终点的方案数,枚举下个点转移。 考虑容斥,我们枚举至少有多少条原图中存在的边(即不合法边)被选进了哈密顿路,统计出这个情况下的哈密顿路数量就可以容斥了。 考虑暴力,显然是枚举在每张图中选择了哪些不合法边。注意到当固定了某些边 阅读全文
posted @ 2019-02-11 22:23 Gloid 阅读(244) 评论(0) 推荐(0) 编辑
摘要: A:阅读理解。 B:即维护一个01序列有多少段1,瞎算算即可。 C:任取两人各一段连续+区间,容易发现起始位置之差在模gcd(ta,tb)意义下总是相同的。 D:一个比较坑的题。容易想到随便找一个需要改的字符串,对其最短修改串(即去掉前后缀极长不需修改的部分)进行修改,判一下是否对其它串也合法就做完 阅读全文
posted @ 2019-02-10 17:51 Gloid 阅读(373) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 65 下一页