摘要: 【BZOJ2137】submultiple(数论) 题面 "BZOJ" 题解 首先不难发现答案就是:$\displaystyle\prod_{i=1}^n (\sum_{j=1}^{p_i+1}j^k)$。 数据范围给定了。 发现对于$p_i$很小的时候,可以直接用快速幂预处理出来,这样子可以做到$ 阅读全文
posted @ 2019-03-21 23:06 小蒟蒻yyb 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 【CF734F】Anton and School(构造) 题面 "Codeforces" "洛谷" 题解 算是一道$easy$? 发现$(a\&b)+(a|b)=a+b$。 那么根据给定条件我们就能确定唯一的$a$数列,最后再带回去$check$一下就做完了??? cpp include inclu 阅读全文
posted @ 2019-03-21 22:33 小蒟蒻yyb 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 【CF618F】Double Knapsack(构造) 题面 "洛谷" "Codeforces" 题解 很妙的一道题。 发现找两个数集很不爽,我们强制加强限制,我们来找两个区间,使得他们的区间和相等。 把区间和转为前缀和的形式,现在问题变成了,给定两个单增的数列$A,B$,不妨令$A_n inclu 阅读全文
posted @ 2019-03-21 22:20 小蒟蒻yyb 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ2034】最大收益(贪心) 题面 "BZOJ" 题解 首先显然让价值越大的占用一个时刻一定更优。 所以把所有东西按照价值排序之后来处理,那么显然就是把前面的全部放好之后,考虑来放当前这个东西,如果能够放下那么就放,否则直接丢掉。 考虑如何检查是否能下放。 首先缩小区间的规模,对于每个位置, 阅读全文
posted @ 2019-03-21 21:59 小蒟蒻yyb 阅读(468) 评论(1) 推荐(0) 编辑
摘要: 【CF981D】Bookshelves(贪心,动态规划) 题面 "洛谷" "Codeforces" 给定一个长度为$n$的数列,把他们划分成$k$段,使得每段的和的结构按位与起来最大。 题解 从高位往低位贪心,然后暴力$dp$就行了吧。。。 cpp include include using nam 阅读全文
posted @ 2019-03-21 20:32 小蒟蒻yyb 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 【CF865D】Buy Low Sell High(贪心) 题面 "洛谷" "CF" 题解 首先有一个$O(n^2)$的$dp$很显然,设$f[i][j]$表示前$i$天手中还有$j$股股票的最大收益。转移显然。 然而这样子似乎并没有什么优化的余地。 考虑这样子一个贪心,假设我们已经知道了前面$n 阅读全文
posted @ 2019-03-21 19:53 小蒟蒻yyb 阅读(392) 评论(0) 推荐(1) 编辑
摘要: 【BZOJ3716】[PA2014]Muzeum(贪心,网络流) 题面 "BZOJ" 题解 很明显可以写最大权闭合子图,然后会$TLE$成傻逼。 为了方便,就把一个警卫能够看到的范围处理一下(把坐标系处理一下),强制让他看到一个$90°$的夹角,再旋转一下就可以变成强制看到右下角的范围。 我们知道最 阅读全文
posted @ 2019-03-21 17:50 小蒟蒻yyb 阅读(340) 评论(0) 推荐(1) 编辑
摘要: 【BZOJ3874】[AHOI&JSOI2014]宅男计划(贪心,三分) 题面 "BZOJ" "洛谷" 题解 大力猜想一最长的天数和购买外卖的总次数是单峰的。感性理解一下就是买$0$次是$0$,买$inf$次也是$0$,在中间某次可能取到最优值。然而这样子可能是多峰的,所以也可以退火处理。 现在假装 阅读全文
posted @ 2019-03-21 17:01 小蒟蒻yyb 阅读(395) 评论(2) 推荐(0) 编辑
摘要: 【BZOJ5321】[JXOI2017]加法(贪心) 题面 "BZOJ" "洛谷" 题解 显然二分答案,算一下每个点至少要覆盖的次数。从左往右考虑如果这个点覆盖次数不够,就会选择覆盖这个点的、右端点最大的线段,拿个堆维护一下就好了。 阅读全文
posted @ 2019-03-21 16:28 小蒟蒻yyb 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ3174】[TJOI2013]拯救小矮人(贪心,动态规划) 题面 "BZOJ" "洛谷" 题解 我们定义一个小矮人的$A_i+B_i$为它的逃跑能力。 我们发现,如果有两个小矮人$x,y$,逃跑能力$x include include include using namespace std 阅读全文
posted @ 2019-03-21 15:08 小蒟蒻yyb 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 【BZOJ3613】[HEOI2014]南园满地堆轻絮(贪心) 题面 "BZOJ" "洛谷" 题解 考虑二分的做法,每次二分一个答案,那么就会让所有的值尽可能的减少,那么$O(n)$扫一遍就好了。 考虑如何做到线性,那么发现二分完了之后每个值都对应着一段区间,现在问题就是从左往右有一堆区间,你要在区 阅读全文
posted @ 2019-03-21 14:52 小蒟蒻yyb 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 【Luogu3602】Koishi Loves Segments(贪心) 题面 "洛谷" 题解 离散区间之后把所有的线段挂在左端点上,从左往右扫一遍。 对于当前点的限制如果不满足显然会删掉右端点最靠右的那根,拿一个堆维护一下就好了。 阅读全文
posted @ 2019-03-21 14:13 小蒟蒻yyb 阅读(167) 评论(0) 推荐(0) 编辑
摘要: [复习]动态dp 你还是可以认为我原来写的动态dp就是在扯蛋。 "[Luogu4719]【模板】动态dp" 首先作为一个$dp$题,我们显然可以每次修改之后都进行暴力$dp$,设$f[i][0/1]$表示当前考虑$i$及其子树内的点,当前这个点是选还是不选时能够得到的最大权值,那么我们可以得到转移: 阅读全文
posted @ 2019-03-21 13:31 小蒟蒻yyb 阅读(748) 评论(1) 推荐(2) 编辑
摘要: 【BZOJ4911】[SDOI2017]切树游戏(动态dp,FWT) 题面 "BZOJ" "洛谷" "LOJ" 题解 首先考虑如何暴力$dp$,设$f[i][S]$表示当前以$i$节点为根节点,联通子树权值和为$S$的方案数,转移就是$FWT$的卷积,最后只需要把所有的$f[i][k]$全部加起来就 阅读全文
posted @ 2019-03-21 11:48 小蒟蒻yyb 阅读(721) 评论(0) 推荐(0) 编辑