noip2025candy和noi2026binary

admin 2026-03-31 11:31:43 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文档提供了NOIP2025与NOI2026算法竞赛题的Python代码。第一段通过排序与前缀和结合贪心策略,在预算限制下求最大购买数。第二段通过模拟整数相等调整过程,利用偶数除二或奇数加一规则计算最少操作次数。内容纯属算法竞赛范畴,无任何网络安全、漏洞分析或技术实践建议。 综合评分: 0 文章分类: 其他


cover_image

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》

评论:0   参与:  0