摘要: 题目链接:http://poj.org/problem?id=2342 dp[i][0/1]表示以i为根的子树,选或不选根,所能得到的最大rating和。 显然 dp[i][0]=∑max(dp[son][0],dp[son][1]) dp[i][1]=val[i]+∑dp[son][0] 阅读全文
posted @ 2017-08-28 22:57 ACMsong 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2818 枚举最大公约数,对于每一个质数p,只需要求出1<=x,y<=(n/p)范围内gcd(x,y)=1的对数,而这个对数就是类似欧拉函数的一个前缀和。 阅读全文
posted @ 2017-08-17 21:55 ACMsong 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 阅读全文
posted @ 2017-08-16 17:07 ACMsong 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2104 主席树入门题目,主席树其实就是可持久化权值线段树,rt[i]维护了前i个数中第i大(小)的数出现次数的信息,通过查询两棵树的差即可得到第k大(小)元素。 阅读全文
posted @ 2017-08-16 15:54 ACMsong 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4825 字典树入门题 阅读全文
posted @ 2017-08-16 15:20 ACMsong 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4348 一开始把lazy标记给push_down了,后来发现这样会让持久化变乱,然后想到不用push_down也可以统计和,改写之后就过了。 阅读全文
posted @ 2017-08-16 14:55 ACMsong 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2796 单调栈可以O(n)得到以每个位置为最小值,向左右最多扩展到哪里。 阅读全文
posted @ 2017-08-11 00:41 ACMsong 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2774 后缀数组真的太强大了,原本dp是O(nm)的复杂度,在这里只需要O(n+m)。 做法:将两个串中间夹一个未出现过的字符接起来,然后做一次后缀数组,得到的height相邻两个排名的后缀,在串中的位置如果满足在分界符左右两侧,就更新 阅读全文
posted @ 2017-08-10 10:54 ACMsong 阅读(736) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3693 枚举长度L,看长度为L的子串最多能重复出现几次,首先,能出现1次是肯定的,然后看是否能出现两次及以上。由抽屉原理,这个子串出现次数>=2,那么必定会覆盖s[0],s[L],s[2L],...中相邻的两个,枚举是哪两个。对于覆盖了 阅读全文
posted @ 2017-08-07 23:44 ACMsong 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 给[L,R]区间的每一个数都质因数分解的复杂度可以达到(R-L)logR,真的涨姿势…… 另外,质因数分解有很重要的一点,就是只需要打sqrt(R)以内的素数表就够了……因为超过sqrt(R)的至多只有一个,分解其他的那些剩下的就是了。 果然学习的过程中要精益求精,把时间和空间都尽量降到最低。 此外 阅读全文
posted @ 2017-08-03 22:02 ACMsong 阅读(470) 评论(0) 推荐(0) 编辑