题目链接
题意:
一年有m个月,每月有d天,每周有w天,每年的第一天都是周一,问有多少对x,y(x<y),在x月的y天和y月的x天是一周中的同一天。
思路
xy的关系公式:
(x−1)∗d+y≡(y−1)∗d+x(modw)(x-1)*d+y\equiv(y-1)*d+x\ (mod\ w)(x−1)∗d+y≡(y−1)∗d+x (mod w)
(y−x)∗(d−1)≡0(modw)(y-x)*(d-1)\equiv0\ (mod\ w)(y−x)∗(d−1)≡0 (mod w)

等式左边需同时为 d−1d-1d−1 和 www 的倍数,即为LCM(d−1,w)LCM(d-1,w)LCM(d−1,w)的倍数,范围在(1,min(m,d))(1,min(m,d))(1,min(m,d))内。
则 y−xy-xy−x 为 w/gcd(w,d−1)w/gcd(w,d-1)w/gcd(w,d−1) 的倍数,设g=w/gcd(w,d−1)g=w/gcd(w,d-1)g=w/gcd(w,d−1) ,y−x=k∗g(k∈(1,⌊min(m,d)/g)⌋))y-x=k*g\ \ (k\in(1,\lfloor min(m,d)/g) \rfloor))y−x=k∗g  (k∈(1,⌊min(m,d)/g)⌋))。等差数列求和即可。

#include<bits/stdc++.h>
#define ll long long
#define LL long long
#define PB push_back
#define MP make_pair
using namespace std;
const int maxn=2e5+100;
const ll inf=1e18+10;
int main(){int t;cin>>t;while(t--){ll m,w,d;cin>>m>>d>>w;m=min(m,d);ll g=w/__gcd(w,(d-1));ll num=m/g;ll ans=num*m-num*(g+num*g)/2;cout<<ans<<endl; }return 0;
}

Codeforces1389E Calendar Ambiguity(数学)相关推荐

  1. E. Calendar Ambiguity(思维数论)

    E. Calendar Ambiguity(思维&数论) 思路:思维&数论. 考虑 i i i月 j j j日 = j =j =j月 i i i日. 即: { [ ( i − 1 ) ...

  2. 【CF1389】E. Calendar Ambiguity(数论)

    题目链接:https://codeforces.com/problemset/problem/1389/E 分析 根据所给条件,可以写出: ( x − 1 ) d + y ≡ ( y − 1 ) d ...

  3. 2022.08.12 第三组 高小涵

    目录 1.异常 1.1运行器异常 1.2编译器异常 1.3处理异常 try...catch throws throw 1.4自定义异常 2.枚举 3.泛型 3.1泛型类 3.2泛型方法 4.常用API ...

  4. windows消息和消息队列详解

     windows消息和消息队列 与基于MS - DOS的应用程序不同,Windows的应用程序是事件(消息)驱动的.它们不会显式地调用函数(如C运行时库调用)来获取输入,而是等待windows向它们传 ...

  5. JavaSE核心之一:Date类、Calendar类、Math类、枚举;

    1.Date类 1) java.util.Date类用于封装日期及时间信息,一般仅用它显示某个日期,不对他作任何操作处理,作处理用Calendar类,计算方便. 2) Date 类本质上拥有一个lon ...

  6. Java中实用类:Date、Calendar、Math、Random、String、StringBuffer的用法

    枚举 枚举类是一种特殊的类,里面的值全部都是静态常量,每一个枚举值都相当于一个本类对象, 只不过,调用对象的toString方法打印的是对象名.如: enum Color{BLUE,RED,YELLO ...

  7. java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID

    Java开发中经常用到的类和方法,以下主要就日期是时间处理.金融数字处理.数学计算.随机数.MD5加密等. java.util.Date类 java.util 包提供了 Date 类来封装当前的日期和 ...

  8. Date DateFormat SimpleDateFormat Calendar Joda-Time

    Date类的概述   1.JDK提供date类表示特定的瞬间,精确到毫秒. 继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象 ...

  9. Math类,随机数Random类,System类,BigInteger类,BigDecimal类,Date类,Calendar类

    Math类概述:Math 类涵盖了很多执行基本数学运算的方法, 是一个工具类. package com.sxt.mathdemo;/** Math类概述:Math 类涵盖了很多执行基本数学运算的方法, ...

  10. stream流、数学类、String类的常用方法、date、密码等

    一.API 1.基本概念 英文全称Application Programming Interface,翻译为"应用程序编程接口". 是一些预先定义的函数,目的是提供应用程序与开发人 ...

最新文章

  1. Ascend Pytorch算子适配层开发
  2. mybatis-plus 多列映射成数组_JavaScript 为什么需要类数组
  3. 算法------数组---------存在重复元素
  4. PIL image.fromarray()函数
  5. 键盘定位板图纸_聊聊机械键盘的结构
  6. oidc auth2.0_将Auth0 OIDC(OAUTH 2)与授权(组和角色)集成
  7. 如何在React Native和Firebase中设置Google登录
  8. (JAVA)IO流之读写单个字节和复制文本文件
  9. PL/SQL编程(1) - 存储过程,函数以及参数
  10. 【博客1】缤果Qt串口网络蓝牙调试助手V3.1.0.9(高级篇)
  11. Android使用蓝牙录音和播放
  12. asp excel导入mysql_asp excel导入数据库
  13. 柳传志二十年驭人成就柳氏联想
  14. 人体红外传感模块原理分析
  15. 【单例】JAVA中的单例
  16. 华为WATCH GT3正式开售,健康监测和运动管理我全都要
  17. OpenStack R版的原理、部署与使用
  18. 光纤通信系统根据传输距离不同的分类
  19. 读书笔记——《我们时代的神经症人格》
  20. steam你画我猜中文版

热门文章

  1. 基于ArcGIS的城市住房选址分析(以郑州市为例)
  2. 平凡之路_2022年
  3. windows10下安装choco
  4. blob/text column 'content' used in key specification without a key length
  5. 流程图绘制工具 yEd
  6. React-router - 如何在url中带参数?在url中带参数的几种方法
  7. 游戏王gx决斗学院android,游戏王gx学院决斗
  8. TCP三次握手、四次握手过程,以及原因分析
  9. 华为发放20亿元奖金,抗击美国断供,奖励员工加班奋斗,网友:他们应得的...
  10. Win10提示“无法使用内置管理员账户打开计算器”解决方案