题意:一个商店,第一天早上有$A$罐苹果汁,一个人每天上午都会来买$B$罐,每天晚上如果剩余罐数$\leq C$那么会增加$D$罐,问能否无限买

收集一个套路...?

首先如果$B\gt A$或者$B\gt D$那肯定不行了,以下假设$B\leq A,B\leq D$

然后考虑每天下午的罐数$x$:第一天下午$x=A-B$,每天下午如果$x\gt C$那么第二天下午将变为$x-B$,否则变为$x-B+D$

那么第$i$天下午就满足$x\equiv A-iB(\bmod D)$,同时有$x\in[C+1-B,C-B+D]$

同余式即是$x=A-iB+kD$,也就是说$x\equiv A\left(\bmod(B,D)\right)$

现在我们要找满足$x\geq C+1-B,x\equiv A\left(\bmod(B,D)\right)$的$x$的最小值,这个就好做多了

#include<stdio.h>
typedef long long ll;
ll gcd(ll a,ll b){return a%b==0?b:gcd(b,a%b);}
ll adj(ll a,ll b,ll m){
	if((a%m+m)%m>b)b+=m;
	return a+b-(a%m+m)%m;
}
bool work(){
	ll a,b,c,d,g;
	scanf("%lld%lld%lld%lld",&a,&b,&c,&d);
	if(b>a||b>d)return 0;
	g=gcd(b,d);
	return adj(c-b+1,a%g,g)>=0;
}
int main(){
	int T;
	scanf("%d",&T);
	while(T--)puts(work()?"Yes":"No");
}

[AGC026B]rng_10s的更多相关文章

  1. AtCoder Grand Contest #026 B - rng_10s

    Time Limit: 2 sec / Memory Limit: 1024 MB Score : 600600 points Problem Statement Ringo Mart, a conv ...

  2. 【AtCoder】AGC026 题解

    A - Colorful Slimes 2 找相同颜色的一段,然后答案加上段长除2下取整 代码 #include <iostream> #include <cstdio> us ...

  3. AtCoder练习

    1. 3721 Smuggling Marbles 大意: 给定$n+1$节点树, $0$为根节点, 初始在一些节点放一个石子, 然后按顺序进行如下操作. 若$0$节点有石子, 则移入盒子 所有石子移 ...

随机推荐

  1. [bzoj1005][HNOI2008]明明的烦恼-Prufer编码+高精度

    Brief Description 给出标号为1到N的点,以及某些点最终的度数,允许在 任意两点间连线,可产生多少棵度数满足要求的树? Algorithm Design 结论题. 首先可以参考这篇文章 ...

  2. 1.0 docker介绍

    简介: 一种虚拟化的方案 将应用程序自动部署到容器   特点: 轻量 环境的一直性 提高开发生命周期 使用面向服务的架构   场景: 开发.测试.部署 创建隔离的运行环境 集群测试环境 云计算应用   ...

  3. MS16-032提权正确方法

    原版MS16-032提权会Spawn一个System Shell出来,只能通过Remote Desktop获取.这里修改exploit,直接反弹Shell.注意MS16-032依赖 thread ha ...

  4. java===java基础学习(9)---方法参数

    方法参数注意三要点: 一个方法不能修改一个基本数据类型的参数(数值型或者布尔型). 一个方法可以改变一个对象参数的状态. 一个方法不能让对象参数引用一个新的对象. package testbotoo; ...

  5. python实战===用python识别图片中的中文

    需要安装的模块 PIL pytesseract 需要下载的工具: http://download.csdn.net/download/bo_mask/10196285 因为之前百度云的链接总失效,所以 ...

  6. Open Compute Project

    Open Compute Project https://github.com/opencomputeproject https://github.com/floodlight/floodlight ...

  7. HTML 知识点总结

    HTML基本语法 HTML标签 单标签 <标签名>或<标签名 /> 双标签 <标签名>内容</标签名> 跟标签也叫元素(根元素) 属性 属性属于标签 一 ...

  8. 无缝滚动Js

    <html> <body> <div style="width: 190px; height: 127px; overflow: hidden; font-si ...

  9. leetcode 之Single Number(14)

    这题并不难,但需要注意细节. ListNode* addTwo(ListNode *l1, ListNode *l2) { ListNode dummy(-); ; ListNode *prev = ...

  10. linux命令(13):kill/killall命令

    停止指定的进程名:kill 进程ID号 把所有httpd进程杀掉:killall httpd 强制停止进程mysqld:killall -9 mysqld