转跳到内容

数学算法挑战 [构造] 斯芬克斯之谜


只显示该作者

只有该作者的内容显示中。 返回到主题

推荐贴

才看到题,第一反应是想到一个简单的思路

基础思路是通过哈希把三个值编码到三个不同的维度,那么每次询问相当于同时校验三个值

但是存在一个可能的问题就是因为不知道值域,因此无法确定出无冲突的哈希,那么可以先通过询问确定值域

如先询问两次a+b+c(由题意三者均非负)

那么单独的a+b+c必然不会超过这个范围

接下来,把之前得到的a+b+c较大者+1作为进制p(当然取更大的素数p 或者直接取位数h 进制取 10^h也是一样的道理)

再次询问 a+b*p+c*p^2 三次(如果前两次不同的话甚至询问两次就够了)

再根据p解码出abc后,取重复出现的即可

---

去看了眼原题,果然是ICPC啊()

题目限定了系数只能取 [0, 10] 那就肯定没法编码到三维了,那还是线代吧

应该是只要满足任选三个向量均线性无关即可

这样任意三个都能解出一组解,并且错误的解的组数小于正确的组数

,由Muriya Tensei修改
链接到点评
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款