摘要: 题目分析 推推式子就好了 首先把题目要求的式子写出来: 把里面的p除掉: 把枚举j的上界改为i,因为(i,j),(j,i)我们一次就可以算出,而-1是因为i=j时多算了一次。 把里面的项改写为φ(i),得: 所以只需要线性筛时求出φ(i),然后再求个前缀和就行。 阅读全文
posted @ 2019-07-28 23:51 LI_dox 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目分析 (看到这种打怪的题,一般不是贪心就是DP...) 我们发现对于此题,状态太多以至于无法贪心,所以我们只好DP。 因为 魔法攻击 与 普通攻击和特技攻击 是相对独立的,所以可以分开来考虑。 令fm[i],fs[i]分别为 只使用魔法攻击 与 只是用普通攻击和特技攻击 到第i回合(结束)所能造 阅读全文
posted @ 2019-07-28 23:31 LI_dox 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目分析 简单地说,题目就是让我们找出前k大的大小在l~r之间的区间。 因为每段和弦都是连续的,而区间美妙度为所包括的音符的美妙度之和,所以可以使用前缀和来优化。 有个最朴素的想法就是,我们把所有大小在l~r之间的区间全部抽出来排序。但这样复杂度太大了,明显无法通过,所以考虑如何优化。 既然我们要找 阅读全文
posted @ 2019-07-28 23:07 LI_dox 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 待填坑 阅读全文
posted @ 2019-07-28 22:34 LI_dox 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 题目分析 显然,一行上如果在第j列为‘1’,那么这一行就可以被换到第j行。换一个说法,题目就是让我们判断是否有一个方案,使得每一行i都有列上满足i位置是1行来跟他匹配。 显然这是个二分图匹配(列->行),直接建图跑Dinic即可。 阅读全文
posted @ 2019-07-28 07:13 LI_dox 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 题目分析 观察题目,我们要实现一段区间的查找并且这个查找很容易用数组来维护,所以自然有一种很暴力的莫队做法。 但数据量最大为2e6,明显以 O(N*N1/2)是不够的。 继续思考,我们发现一种颜色的花若有贡献,可以仅仅把这个贡献算在区间的最后一朵花上。所以,我们把询问离线下来,按l为第一关键字,r为 阅读全文
posted @ 2019-07-28 06:50 LI_dox 阅读(195) 评论(0) 推荐(0) 编辑