ABC340
我们可以知道每一个点在每一轮加多少,具体如下:
假如现在操作的点的为 \(k\)。那么所有的数都至少会加 \(\dfrac{A_k}{n}\)。但是肯定有剩的,剩了 \(A_k \mod n\)。
很明显,\(A_k \mod n\) 会分给接下来的 \(A_k \mod n\) 个数。
这样我们就可以知道每个点每轮加多少了。然后用线段树维护即可。
三角形的面积为 \(1\) 就等价于 \(|ay - bx| = 2\)。
我们定义 \(g = \gcd(x,y)\)。假如 \(g \ge 3\) 那么没有答案,因为 \(g\) 必须是 \(2\) 的因数。
然后我们就要的到一对 \((c,d)\) 使得 \(cy - dx = \pm \gcd(x,y)\)。然后用扩欧就可以求出 \((c,d)\) 啦。
然后我们最开始要求的是一对 \((a,b)\) 即 \(ay-bx = \pm 2\)。于是我们把答案乘上 \(\dfrac{2}{g}\) 即可。
随机推荐
- 【Oracle】在PL/SQL中使用sql实现选择排序
[Oracle]在PL/SQL中使用sql实现选择排序 一般来说,SQL要排序的话直接使用order by即可 不一般来说,就是瞎搞,正好也可以巩固自己的数据结构基础 使用SQL实现排序系列: 使用S ...
- 第 4章 用 CSV 和 Excel 存储数据
第4章 用 CSV 和 Excel 存储数据 4.1 用 CSV 文件存储数据 CSV(Comma-Separated Values)其实就是纯文本,用逗号分隔值,可以分隔成多个单元格.CSV 文件除 ...
- 科学地花钱:基于端智能的在线红包分配方案 (CIKM2020)
简介: 红包是电商平台重要的用户运营手段,本文将介绍1688基于端智能技术开发的two-stage红包分发方案.这一方案持续在线上生效,相较于原有算法有明显提升. 一.前言 本文是作者在1688进行新 ...
- 使用Databricks+Mlflow进行机器学习模型的训练和部署【Databricks 数据洞察公开课】
简介: 介绍如何使用Databricks和MLflow搭建机器学习生命周期管理平台,实现从数据准备.模型训练.参数和性能指标追踪.以及模型部署的全流程. 作者:李锦桂 阿里云开源大数据平台开发工程 ...
- 详解 Flink 容器化环境下的 OOM Killed
简介: 本文将解析 JVM 和 Flink 的内存模型,并总结在工作中遇到和在社区交流中了解到的造成 Flink 内存使用超出容器限制的常见原因.由于 Flink 内存使用与用户代码.部署环境.各种依 ...
- Serverless Devs 2.0 全新发布,让 Serverless 应用开发更简单
简介: 2020 年 10 月 23日,阿里巴巴正式宣布开源其首个 Serverless 开发者平台 Serverless Devs.历经近一年精心打磨,今天 Serverless Devs 2.0 ...
- 实用的 Bash 快捷键
前端也有需要运维的时候,这时我们不可避免需要登录 Linux 服务器,并在 Bash 终端输入一些命令,当需要对输入的命令进行一些操作时,比如快速移动光标位置或快速删除字符,如果只会用方向键和退格键, ...
- python+requests爬取B站视频保存到本地
import os import datetime from django.test import TestCase # Create your tests here. import requests ...
- 一篇教程搞定Windows系统中的Docker应用安装
目录 1. 引言 2. "Docker -> WSL -> Windows"的依赖逻辑 3. 安装方法 3.1 安装WSL 3.2 安装Docker Desktop 4 ...
- ansible(13)--ansible的lineinfile模块
1. lineinfile模块 功能:修改或删除文件内容,与系统中的 sed 命令类似: 主要参数如下: 参数 说明 path 指定要操作的文件 regexp 使用正则表达式匹配对应的行 line 修 ...