triples(牛客多校) (贪心,位运算,构造体)

题目大意: 

给定一个a,要求构造最少个数的3的倍数使得这些数的按位或和为a.

 思路 :

  • 3的倍数, 就要利用3的性质
  • 所以在绝大数的情况下, 只需要2个数即可

  • 考虑如何构造, 他给的是 | , 就牢牢利用|的性质, 2个数可以有重复位上的 1, 就先让2个数都等于 a ,然后在去删除对应多的位数

  • 然后对于 a%3=1和 a%3=2 分类讨论 ,在

 

posted @ 2023-04-17 17:52  VxiaohuanV  阅读(40)  评论(0编辑  收藏  举报