摘要: "Round Number "被称为其二进制形式中0的个数比1的个数多。求[x,y]区间内“Round Number”的个数。 解1: dp[pos][num],到当前数位pos,0的数量减去1的数量为num的方案数,一个简单的问题,中间某个pos位上num可能为负数(这不一定是非法的,因为我还没枚 阅读全文
posted @ 2017-09-21 22:32 Aragaki 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 给一颗n个点的有点权的树,有m个询问,对于每个询问u,v,k,首先将点u到点v的最短路径上的所有点按顺序编号,u的编号为1,求树链上所有点的新编号cnt满足cnt%k==0的点的权值的最大值。n,m,k<=10^5 根据k的大小分成两部分处理。原问题可转化为 deep[i] % k = a / b 阅读全文
posted @ 2017-09-21 14:48 Aragaki 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 给你一个有向图,然后问你,加入多少条边,能使这个图构成成一个强连通分量 首先,把强连通分量缩成一个点,然后现在就成了一个dag,这个dag中 看只有入度 和只有出度的点 取max就好了 #include <cstdio>#include <cstdlib>#include <cmath>#inclu 阅读全文
posted @ 2017-09-21 14:39 Aragaki 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 给出一个连通图,并给每个点赋一个d值0或1或-1,要求选出一个边的集合,使得所有的点i要么d[i] == -1,要么 dgree[i] % 2 == d[i],dgree[i]代表i结点的度数。 考虑一条边都不选的情况,此时所有d[i] == 0的i都满足了题目要求, 此时如果有d[i] == 1的 阅读全文
posted @ 2017-09-21 14:21 Aragaki 阅读(212) 评论(0) 推荐(0) 编辑