其他题目题解:

2017 Multi-University Training Contest - Team 7:1005. Euler theorem

2017 Multi-University Training Contest - Team 7:1011. Kolakoski

2017 Multi-University Training Contest - Team 7:1008. Hard challenge

2017 Multi-University Training Contest - Team 7:1003. Color the chessboard

2017 Multi-University Training Contest - Team 7:1010. Just do it

题意:有一棵n个点的有根数,根编号为0,i号节点的父亲是(i-1)/k号节点

求出所有子树大小的异或和

性质:对于一颗满k叉树而言,如果k是偶数,那么它的异或和就是树的大小

如果k是奇数,那么它的异或和就是任意一棵子树大小的异或和再异或树的大小

而这题的树也有几个性质:

①假设n足够大,那么根有k个儿子(废话)

②这k棵子树最多只有一棵不是满二叉树

那么假设k不等于1,二叉树的深度不会超过63

所以只要找到是哪棵子树不是满二叉树,以那棵子树作为整棵树求它的异或和,很显然子树也具有一样的性质,这样就可以递归求解,求出来之后直接异或其它所有满二叉树的大小就是答案,注意别忘记异或上n

还有k=1要特判

#include<stdio.h>
#define LL long long
LL tre[125] = {1};
int main(void)
{LL T, n, k, ans, now, last, x, l, r, full;scanf("%lld", &T);while(T--){scanf("%lld%lld", &n, &k);if(k==1){switch(n%4){case 1:  printf("1\n");  break;case 2:  printf("%lld\n", n+1);  break;case 3:  printf("0\n");  break;case 0:  printf("%lld\n", n);  break;}}else{ans = n;while(1){if(n-1<=k){if(n%2==0)ans ^= 1;printf("%lld\n", ans);break;}now = x = full = 1;while(0<=now+x*k && now+x*k<n){x = x*k;now += x;full ^= now;}last = n-now;l = (last-1)/x;r = k-l-1;if(k%2==0){if(l%2==1)  ans ^= now;if(r%2==1)  ans ^= (now-x);}else{if(l%2==1)  ans ^= full;if(r%2==1)  ans ^= full^now;}n -= l*now+r*(now-x)+1;ans ^= n;}}}return 0;
}

2017 Multi-University Training Contest - Team 7:1002. Build a tree(递归)相关推荐

  1. 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard(...)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  2. 2017 Multi-University Training Contest - Team 7:1010. Just do it(组合数?)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  3. 2017 Multi-University Training Contest - Team 7:1008. Hard challenge(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  4. 2017 Multi-University Training Contest - Team 7:1011. Kolakoski(模拟)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1005. Euler theorem 2017 Multi-University Tr ...

  5. 2017 Multi-University Training Contest - Team 7:1005. Euler theorem(答案是(n+3)/2)

    其他题目题解: 2017 Multi-University Training Contest - Team 7:1003. Color the chessboard 2017 Multi-Univer ...

  6. 2017 Multi-University Training Contest - Team 3 Kanade's sum hd6058

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=6058 题目: Kanade's sum Time Limit: 4000/2000 MS (J ...

  7. 2017 Multi-University Training Contest - Team 1

    2017 Multi-University Training Contest - Team 1 01     签到的 #include<bits/stdc++.h> using names ...

  8. 2018 Multi-University Training Contest 3 Problem F. Grab The Tree 【YY+BFS】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6324 Problem F. Grab The Tree Time Limit: 2000/1000 MS ...

  9. 2017 Multi-University Training Contest - Team 4:1002. Classic Quotation(KMP+DP)

    题意:给你两个字符串S和T,每次询问(L, R)求出所有满足x<=L, y>=R的(x, y),S串的前x个字符和后y个字符接在一起后包含字符串T的个数之和 说实话..这题会做题解也还是看 ...

最新文章

  1. 我们对时间的理解错了吗?
  2. Hadoop源代码分析 - MapReduce(转载)
  3. 计算机网络按功能自底而上划分,大连理工大学2011计算机期末模拟题3
  4. Python编程基础:第六节 math包的基础使用Math Functions
  5. ABAP--Smart Forms多语言翻译
  6. 2016全球数据新闻奖(DJA)颁布, 12个获奖作品全剖析
  7. 【Python CheckiO 题解】Second Index
  8. MiniProfiler 兼容 Entity Framework 6
  9. 【Java】synchronized与lock的区别
  10. perl和python的相互调用
  11. oracle存储过程(PL/SQL)
  12. php图像生成和处理,PHP的gd库(图像生成和处理)的应用
  13. sun存储的串口连接管理_修改SUN设备管理IP的步骤
  14. 移动端实现同时移动摇杆和摄像机旋转(双/多指触控)
  15. 跟着我干你技术入股,当面临这样的诱惑,我们该怎么办?
  16. ngx_http_core_module模块提供的变量
  17. iPhoneX设计稿适配Android,三分钟弄懂iPhoneX设计尺寸和适配(二)
  18. 【黑苹果装机实践】从硬件选择到系统安装
  19. python基础(一)完结
  20. layui tree 对节点进行搜索

热门文章

  1. python里怎么读取文件-python之文件读写
  2. python中文版电脑下载-Python IDLE下载
  3. python代码翻译器-python写的翻译代码
  4. python零基础能学吗-零基础小白多久能学会python
  5. Hbuilder 屏幕放大缩小
  6. 12v电源正负极区分_UPS不间断电源的安装、配电计算及相关故障处理方法!
  7. c语言char a[10]; sprintf(a,%d,n);,c语言输入输出的一些细节
  8. 能源36号文解读_电机暴露细节!春风发布新能源品牌:ZEEHO极核
  9. 【w3cschool】C语言复习
  10. mysql协议分析1,MySQL协议分析(1)