文章总结: 文档展示两个算法竞赛题解代码:NOIP2025的candy问题使用排序和前缀和优化组合选择,NOI2026的binary问题通过奇偶判断和除法操作计算两数相等的最小操作步数。核心思路涉及贪心算法和数学优化。 综合评分: 65 文章分类: CTF,代码审计,安全开发
noip2025 candy和noi 2026 binary
原创
Uysieot Uysieot
简单读写
2026年3月28日 12:33 四川
在小说阅读器读本章
去阅读
def solve(inp): data = inp.split()
it = iter(data) n = int(next(it)) m = int(next(it))
x_list = [] min_pair = 10**18
for _ in range(n): x = int(next(it)) y = int(next(it)) x_list.append(x) min_pair = min(min_pair, x + y)
x_list.sort() prefix = [0] for x in x_list: prefix.append(prefix[-1] + x)
res = 0 for t in range(n + 1): if prefix[t] > m: break rem = m - prefix[t] pairs = rem // min_pair res = max(res, t + 2 * pairs)
return str(res)
def min_ops_binary(x, y): ops = 0 while x != y: if x > y: if x % 2 == 0 and x // 2 >= y: x //= 2 else: y += 1 ops += 1 elif y > x: if y % 2 == 0 and y // 2 >= x: y //= 2 else: x += 1 ops += 1 else: break return ops
def main(): input = sys.stdin.read data = input().split()
index = 0 c = int(data[index]) index += 1 t = int(data[index]) index += 1
results = [] for _ in range(t): x = int(data[index]) index += 1 y = int(data[index]) index += 1 results.append(min_ops_binary(x, y))
for res in results: print(res)
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:简单读写 Uysieot Uysieot《noip2025 candy和noi 2026 binary》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论