前言:

数学题,对于我这种菜B还是需要多磨啊

Simple

首先它问不是好数的数量,可以转化为用总数量减去是好数的数量。

求“好数”的数量:

由裴蜀定理得,如果某个数\(i\)不能整除\(gcd(n,m)\),那么一定不是好数。

所以,我们把\(n,m,q\)分别除以\(gcd(n,m)\),是不影响得出的“好数”数量的。

好,那么现在\(n,m\)就互质了。

现在,就把问题转化为了(用比较形象化的语言来说,就是)有\(n,m\)互质,求\([1,q]\)中有多少个数能被若干个\(n,m\)相加之后拼起来。

这个东西简单枚举两维的话,复杂度显然无法接受。我们可以考虑只枚举一维。

设\(n\)的系数是\(x\),\(m\)的系数是\(y\),且\(n\)小于\(m\)。

即\(n*x+m*y=c\);

那么就可以枚举\(y\),求\(x\)的数量即可。

边界问题很重要。

我们考虑y的边界,因为要算\((c-m*y)/n\),所以\(m*y<=c\);

然后会发现一个问题,如下图。

上面的长线段代表某个能被拼成的数,我们可以发现,如果枚举\(m\)的个数等于\(4\)时,这个数会被计算到。枚举\(m\)的个数等于\(0\),即\(n\)的个数等于\(5\)时,这个数又会被计算到,就会算重。

那么怎么去重呢?

我们会发现,因为\(n,m\)互质,上面的情况发生且只会发生在枚举的\(y\)大于等于\(n\)时才会出现。

所以就有了y的第二个边界,\(y<n\);

代码如下:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,m,q;
ll gcd(ll x,ll y){
return y==0 ? x : gcd(y,x%y) ;
}
void Solve(){
int T;scanf("%d",&T);
while(T--){
scanf("%lld%lld%lld",&n,&m,&q);
ll ans=q;
if(n>m) swap(n,m);
ll ss=gcd(n,m);
n/=ss;
m/=ss;
q/=ss;
for(register int i=0;i*m<=q&&i<n;++i) ans-=(q-1ll*i*m)/n+1;
printf("%lld\n",ans+1);//ans+1的原因?
}
}
int main(){
freopen("simple.in","r",stdin);
freopen("simple.out","w",stdout);
Solve();
return 0;
}

这里还要注意一个点,最后\(ans\)要加一,原因是\(x=0,y=0\)的情况,这是不在\([1,q]\)区间中的,相当于多减去一个,然后就要加回来。

2.luogu P3951 小凯的疑惑 / [蓝桥杯2013省]买不到的数目

链接

这个题放在D1T1是来恶心人的吗。。。找到规律就秒切,找不到规律就心态炸裂?

希望今年别出这种题。

某工具人学长 所言,这玩意叫赛瓦维斯特定理。

emmm。。。动动的证明看懂了一部分

后来又看了这个链接疑似挂掉的博客

发现竟然折磨简单。

然后。。。我自己写的证明就先咕了吧

联赛膜你测试20 T1 Simple 题解 && NOIP2017 小凯的疑惑 题解(赛瓦维斯特定理)的更多相关文章

  1. 题解 P3951 小凯的疑惑

    P3951 小凯的疑惑 数论极菜的小萌新我刚看这题时看不懂exgcd做法的题解,后来在网上找到了一篇博客,感觉代码和推导都更加清新易懂,于是在它的基础上写了题解qwq 分析 两数互质,且有无限个,想到 ...

  2. 题解【洛谷P3951】[NOIP2017]小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  3. [CSP-S模拟测试]:小奇挖矿2(DP+赛瓦维斯特定理)

    题目背景 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿石交易市场,以便为飞船升级无限非概率引擎. 题目描述 现在有$m+1$个星球,从左到右标号为$0$到$n$,小奇最初 ...

  4. 2021.07.20 P3951 小凯的疑惑(最大公因数,未证)

    2021.07.20 P3951 小凯的疑惑(最大公因数,未证) 重点: 1.最大公因数 题意: 求ax+by最大的表示不了的数(a,b给定 x,y非负). 分析: 不会.--2021.07.20 代 ...

  5. 【NOIP2017 D1 T1 小凯的疑惑】

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小 凯想知道在无法准确支付的物品中,最贵的 ...

  6. [暴力题解&&考试反思] 双十一欢乐赛(联赛膜你测试32)

    前言: 今天考试很迷糊.从7点考到11点半,我大概从7点睡到9点.隐隐约约看到旁边的狗哥敲了好几个题,我才开始写代码.然后因为还是很困,而且T1迷迷糊糊调了好长时间,T3T4的暴力就懒的写了... 估 ...

  7. 题解P3951【小凯的疑惑】

    相信参加OI的oiers都是数学高手吧 我好像不是 (滑稽 那应该大家都接触过邮资问题吧! 所谓邮资问题,就类似于这一题,给定a和b两种邮资数,求最大的不能凑出的邮资 数.这里给出公式:最大的不能集出 ...

  8. NOIP2017 Day1 T1 小凯的疑惑

    题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的.现在小凯想知道在无法准确支付的物品中,最贵的价 ...

  9. 7.20试机测 T3 阶乘之和 暴力AC题解

    7.20试机测  T3 阶乘之和 暴力AC题解 题外话:此乃本蒟蒻发表的第一篇题解,大家多多关照,支持一下,谢谢 题面 3.阶乘之和(sum.pas/in/out) 问题描述: 给定一个非负整数 n, ...

随机推荐

  1. 使用python实现xls批量转为xlsx

    利用win32库来实现 # -*- coding:utf-8 -*- import os import win32com.client as win32 #需要转换的数据目录 inputdir = u ...

  2. undefined和null

    undefined和null undefined的情景: 声明变量为赋值 var name; console.og(name); //undefined 访问对象上不存在的属性 var obj={} ...

  3. PHP中使用PDO操作事务的一些小测试

    关于事务的问题,我们就不多解释了,以后在学习 MySQL 的相关内容时再深入的了解.今天我们主要是对 PDO 中操作事务的一些小测试,或许能发现一些比较好玩的内容. 在 MyISAM 上使用事务会怎么 ...

  4. Python编码规范(养成好的编码习惯很重要)

    学习过程养成良好的编码习惯 1. 类名采用驼峰命名法,即类名的每个首字母都大写,如:class HelloWord,类名不使用下划线 2. 函数名只使用小写字母和下划线 3.定义类后面包含一个文档字符 ...

  5. selenium--常用的获取元素属性

    当我们要设计功能测试用例时,一般会有预期结果,有些预期结果测试人员无法通过肉眼进行判断的.因为自动化测试运行过程是无人值守,一般情况下,脚本运行成功,没有异样信息就标识用户执行成功.那怎么才能知道我打 ...

  6. FastAPI小项目实战:电影列表(Vue3 + FastAPI)

    假期过半, FastAPI + Vue3项目实战 视频也算录完了,尽管项目简单(2张表 共7个接口 4个页面) 起因 在6月底的时候开始录制了FastAPI官方文档中的新手教程部分(实际还没有官网文档 ...

  7. 第十二章 Net 5.0 快速开发框架 YC.Boilerplate --千万级数据处理解决方案

    在线文档:http://doc.yc-l.com/#/README 在线演示地址:http://yc.yc-l.com/#/login 源码github:https://github.com/linb ...

  8. VulnHub 实战靶场Breach-1.0

    相比于CTF题目,Vulnhub的靶场更贴近于实际一些,而且更加综合考察了知识.在这里记录以下打这个靶场的过程和心得. 测试环境 Kali linux IP:192.168.110.128 Breac ...

  9. C 字符串相关的库函数

    字符串操作函数 size_t strlen( char *string ); 返回字符串长度 char* strcpy( char *dst, char const *src ); 将src复制到ds ...

  10. Java(25)常见异常整理

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228418.html 博客主页:https://www.cnblogs.com/testero ...