摘要: (ans & arr[j]) == ans 保证高位已有值不失效. ((ans[j] >> (i - 1)) & 1) == 1 当前位为1,cnt++, cnt >= 2 两把剑在这一位上相与为1 阅读全文
posted @ 2019-04-19 20:37 域Anton 阅读(235) 评论(0) 推荐(0)
摘要: 数据范围是18位,把每一位加起来的和最多9*18 = 162 所以只需考虑n-162 ~ n的数即可,暴力解决 阅读全文
posted @ 2019-04-19 19:34 域Anton 阅读(173) 评论(0) 推荐(0)
摘要: 任意一堆移动过后的石子都是整数x的倍数, 那么石子总数显然也应该是x的倍数, 换句话说,x必为石子数总和的一个质因子. 题目要求移动次数尽量小,那么x也应该尽量小. 所以选择石子数总和的最小质因子. 对每堆石子数进行取模运算即可知道每堆石子需要移走或增加多少石子. 然后就可以开始模拟了. 把取模后的 阅读全文
posted @ 2019-04-19 18:12 域Anton 阅读(199) 评论(0) 推荐(0)
摘要: 打表找规律 打表发现第五项205开始,后一项减前一项的差值(第二排),再与之后的差值做差值,值都是28. 最终结果: 阅读全文
posted @ 2019-04-19 15:25 域Anton 阅读(143) 评论(0) 推荐(0)
摘要: 1 #include <iostream> 2 using namespace std; 3 4 int n, m, q; 5 struct node { 6 int v; // 节点权值 7 int r; // 右侧节点在arr[]中的位置 8 int d; // 下侧节点在arr[]中的位置 9 阅读全文
posted @ 2019-04-19 11:46 域Anton 阅读(187) 评论(0) 推荐(0)