首页 > 其他分享 >Hack 说明

Hack 说明

时间:2024-11-21 19:57:32浏览次数:1  
标签:分子 frac 1000000007 1000000006 说明 Hack 分母

在今天的模拟赛中,部分同学由于对出现某个数在模 \(1000000007\) 意义下为 \(0\) 的情况不规范被 Hack。
Hack 原理:开始时有 \(2\) 个 \(1\),先都加到 \(1000000001\),然后一个一个加 \(8\) 次虽然加 \(7\) 次足以 Hack,这个时候如果对 \(1000000007\) 处理不好,可能后面都变成 \(0\)。
我的方案:考虑两个性质(按照题解):

  1. \(2\) 操作到 \(1000000007\) 的倍数(分子为 \(0\))只可能是 \(1000000007\),也就是说每个位置至多出现一次分子或分母为 \(0\)。
  2. 分母为 \(0\) 的上一步同样位置的 \(2\) 操作中一定分子为 \(0\),因为分母为 \(0\) 时必定出过 \(a_i=1000000007\)。(我可能给之前的同学解释错了,因为可能出现 \(3\) 操作使得分子分母为 \(0\) 的 \(2\) 操作之间夹着几个,但也无伤大雅,这里致以诚挚歉意)。

综上所述,考虑记录每个位置上一次的分子为 \(0\) 位置,维护一个指针指向当前更新到的点。遇到分子为 \(0\) 的值,停止维护,输出答案一定为 \(0\)。遇到分母为 \(0\),找到对应分子为 \(0\) 的位置,合并两个分数:将后者的分子赋给前者,后者置为 \(1\),这样保证后面的值都是对的。指针继续往下跳转,直到遇到下一个分子为 \(0\) 的数。
以 Hack 数据为例,最后几个数为 \(\frac{0}{1000000006},\frac{0}{1000000006},\frac{1}{0},\frac{1}{0}\cdots\),位置分别在 \(1,2,1,2\cdots\),扫到第一、二个数停止更新,输出 \(0\)。扫到第三个数,将第一个数变成 \(\frac{1}{1000000006}\),第三个数变为 \(1\),往下更新到第二个数处。扫到第四个数,同理更新,此时可以更新到第四个数。
附:数据,我的代码

标签:分子,frac,1000000007,1000000006,说明,Hack,分母
From: https://www.cnblogs.com/blog21012004/p/18561428

相关文章

  • 6. Spring Cloud Gateway网关超详细内容配置解析说明
    6.SpringCloudGateway网关超详细内容配置解析说明文章目录6.SpringCloudGateway网关超详细内容配置解析说明前言1SpringCloudGateway概述1.1SpringCloudGateway网关的核心功能1.2SpringCloudGatewayVSZuul的区别1.3SpringCloudGateway的基本原......
  • label都有哪些作用?并举相应的例子说明
    在前端开发中,<label>元素有很多作用,主要围绕着提升用户体验和表单的可访问性:1.关联表单控件:这是label最主要的功能。它将文本标签与对应的表单控件(例如输入框、单选按钮、复选框等)关联起来。这样,点击标签文本时,浏览器会自动将焦点设置到关联的控件上,方便用户操作,特别是......
  • 简述下html5的离线存储原理,同时说明如何使用?
    HTML5离线存储的核心原理是利用浏览器缓存机制,允许Web应用程序在用户离线时仍然可以访问和使用本地缓存的资源,从而提供更好的用户体验。主要涉及以下几个关键技术:1.Manifest文件:这是离线应用的核心,一个简单的文本文件,列出了需要缓存的资源。浏览器会根据manifest文件的内......
  • sqlserver显示说明字段
    1.先关闭SQLServer2.运行(Ctrl+R),输入regedit,打开注册表会弹出一下界面 3.直接Ctrl+F搜索DataProject过程会有点慢……4.找到SSVPropViewColumnsSQL70和SSVPropViewColumnsSQL80数字代表的列如下:(1)ColumnName(2)DataType(3)Length(4)Precision(5)Scale(6)AllowNulls(7)Default......
  • C 语言变量说明符
    目录1.const2.static3.auto4.extern5.register6.volatile7.restrictC语言允许声明变量的时候,加上一些特定的说明符(specifier),为编译器提供变量行为的额外信息。它的主要作用是帮助编译器优化代码,有时会对程序行为产生影响。1.constconst说明符表示变量是只读的,不得......
  • 建筑设备一体化系统配置说明-产业园、医院、数据中心案例分析
    建筑设备一体化系统配置说明建筑设备一体化监控系统构成1、为了全面实现智慧,建筑的各项技术指标和使用功能要求,本项目设置建筑设备一依化监控系统,实现建筑的设备监控、电力监控、四明控制、剩余电流检测,用能计量、建筑环境检测、能效管理的功能。系统架构应以集中管理、分......
  • SQLServer数据库里的递归CTE详细说明
     SQLServer数据库里的递归CTE详细说明  用实例来说明:样例: --解释CTE递归的运算逻辑(代码不一定可用,但逻辑准确)WITHBOM_CTEAS(--基础层(B段):选择特定BOM物料编码的所有BOM条目,并设置层级为1SELECTBOMNOAS'TopBOM',COMPID,REQQTY,1AS......
  • CH592工具更新说明
    ①首先拔除电脑上的所有串口工具,再插入我们需要烧录程序的串口,确保能找到我们要下载固件的COM口,一般同一个串口工具在同一台电脑上所分配的COM号是唯一的②打开工具,点击SearchDevice,会跳出对应的COM号③搜索到COM号后可以拔掉串口,开始硬件接线,VCC接串口3V3,GND接串口GND,PA8接串......
  • 【openwrt-21.02】openwrt-21.02 T750增加phytool软件包操作说明
    phytool    Linux下MDIO寄存器操作指令phytool指令phytoolreadIFACE/ADDR/REGphytoolwriteIFACE/ADDR/REG<0-0xffff>phytoolprintIFACE/ADDR[/REG]Clause22:ADDR:=<0-0x1f>REG:=<0-0x1f>Clause45(notsupportedbyallMDIOdrivers)......
  • LaTeX教材排版-04:Geometry.tex文件说明
    LaTeX教材排版-04:Geometry.tex文件说明Latex教材这个文件用于设置版面,里面有一些很别扭的设置,目的是为了模拟出word的排版效果。在word中,预期的效果是:16开的纸,纸张宽为18.4cm,高为26cm;页面上、下、左、右边距分别为28mm、15mm、20mm、20mm,页眉顶端到页面顶端18mm,页脚底端到页面......