上一页 1 2 3 4 5 6 7 ··· 30 下一页
摘要: 分析:首先定义状态dp[i][j][s1][s2]代表前i个物品中,选若干个物品,总价值为j 其中s1个物品时必选,s2物品必不选的方案数 那么转移的时候可以考虑,第i个物品是可选可可不选的 dp[i][j][s1][s2]+=dp[i-1][j][s1][s2]+dp[i-1][j-a[i]][s 阅读全文
posted @ 2016-08-05 14:26 shuguangzw 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 分析:转自http://blog.csdn.net/mengzhengnan/article/details/47031777 一点感想:其实这个题应该是可以想到的,但是赛场上并不会 dp[i]的定义很巧妙,容斥的思路也非常清晰 然后就是讨论lucas的用法,首先成立的条件是mod是素数 但是如果这 阅读全文
posted @ 2016-08-05 12:51 shuguangzw 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 分析:这个题和spoj的d_query是一个题,那个是求一段区间里有多少个不同的数字,这里是统计有多少个不同的前缀 用字典树进行判重,(和查询不同的数字一样)对于每个不同的前缀,只保留它最后一次出现的序号 然后强制在线,用主席树就好了 #include <cstdio> #include <cstr 阅读全文
posted @ 2016-08-04 11:05 shuguangzw 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 分析:赛场上也知道是裸的数位dp,但是无奈刷数位dp题刷的太少了,并不能写出来 一点感想:赛后补题,看了题解的map记录状态,一脸蒙逼,也是非常的不爽,然后想看别人写的,不是递归就是写的比较乱 而且我只刷过最入门的数位dp,例如不要62之类,伤不起啊 然后无奈之下,开了仿照别人题解开了dp[20][ 阅读全文
posted @ 2016-08-03 13:49 shuguangzw 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 我是参考这一篇写的:http://blog.csdn.net/fsss_7/article/details/52049474 一点感想:dp[i][0]代表以这个点为根的且总叶子数为偶数个叶子的答案 考虑每条树边的贡献,贪心的想,肯定是每条树边出现的次数越少越好 由于树链肯定从一个叶子到另外一个叶子 阅读全文
posted @ 2016-08-02 10:50 shuguangzw 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 分析(官方题解): 假设根已确定,可以发现新树若合法,需满足以下性质:根节点是n;儿子的值不大于父亲;具有相同值的节点形成一条链,并且链不会发生“分叉”(即有多个最低点)。所以对于新树中有出现的值x,原树在新树x链的最低点应为x,而其他新值为x的点,原值应小于x。那么我们先将所有链的最低点放上对应值 阅读全文
posted @ 2016-07-31 17:41 shuguangzw 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 分析(官方题解): 一点感想: 首先上面那个等式成立,然后就是求枚举gcd算贡献就好了,枚举gcd当时赛场上写了一发O(nlogn)的反演,写完过了样例,想交发现结束了 吐槽自己手速慢,但是发了题解后发现,这题连O(n)欧拉函数前缀和的都卡了,幸亏没交,还是太年轻 对于官方题解说sqrt(n)优化( 阅读全文
posted @ 2016-07-31 14:26 shuguangzw 阅读(567) 评论(1) 推荐(0) 编辑
摘要: 分析(官方题解): 一点感想:(这个题是看题解并不是特别会转移,当然写完之后看起来题解说得很清晰,主要是人太弱 这个题是参考faebdc神的代码写的,说句题外话,很荣幸高中和faebdc巨一个省,虽然本弱渣高中都没搞过oi) 最短路不等于k,所以根本不存在最短路>=k的,因为存在的话,由最短路知识可 阅读全文
posted @ 2016-07-31 14:12 shuguangzw 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 分析:y是一个无平方因子数的平方,所以可以从sqrt(x)向上向下枚举找到第一个无平方因子比较大小 大家可能觉得这样找过去暴力,但实际上无平方因子的分布式非常密集的,相关题目,可以参考 CDOJ:无平方因子数 http://acm.uestc.edu.cn/#/problem/show/618 这个 阅读全文
posted @ 2016-07-31 13:54 shuguangzw 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 分析:最终的结果肯定会分成若干个区间独立,这些若干个区间肯定是独立的(而且肯定是一边倒,左右都一样) 这样想的话,就是如何把这n-1个值分成 k份,使得和最小,那么就是简单的排序,去掉前k大的(注意longlong) #include <cstdio> #include <cstdlib> #inc 阅读全文
posted @ 2016-07-31 13:45 shuguangzw 阅读(185) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 30 下一页