摘要: 正难则反的思想还是不能灵活应用啊 题意:给你n个点,每个点有一个权值,接着是n-1有向条边形成一颗有根树,问你有多少对点的权值乘积小于等于给定的值k,其中这对点必须是孩子节点与祖先的关系 我们反向思考,可以知道任一点都只对其每个祖先有贡献。所以我们可以转化为求每个点与其每个祖先的乘积小于等于给定的值 阅读全文
posted @ 2016-09-13 22:29 专注如一 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n个点m条边形成一个无向图,问你求出给定点在此图的补图上到每个点距离的最小值,每条边距离为1 补图:完全图减去原图 完全图:每两个点都相连的图 其实就是一个有技巧的bfs,我们可以看到虽然点很多但边很少,就使用vector存下每个点在原图中可以到达其他的哪些点,再使用bfs寻找此时起点可以 阅读全文
posted @ 2016-09-13 22:04 专注如一 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 还是想不到,真的觉得难,思路太巧妙 题意:给你一串数和一些区间,对于每个区间求出区间内每段连续值的不同gcd个数(该区间任一点可做起点,此点及之后的点都可做终点) 首先我们可以知道每次添加一个值时gcd要么不变要么减小,并且减小的幅度很大,就是说固定右端点时最多只能有(log2 a)个不同的gcd, 阅读全文
posted @ 2016-09-13 21:34 专注如一 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 很简单的一个题的,结果后台数据有误,自己又太傻卡了3个小时。。。 题意:给你一串数a再给你一些区间(lef,rig),求出a[lef]%a[lef+1]...%a[rig] 题解:我们可以发现数字a对数字b取模时:如果a<b,则等于原数,否则a会变小至少一半。就是说a最多成功取模(log2 a)次, 阅读全文
posted @ 2016-09-13 21:08 专注如一 阅读(579) 评论(0) 推荐(0) 编辑