2017北京网络赛 Bounce GCD加找规律
题目链接:http://hihocoder.com/problemset/problem/1584
题意:就是求一个小球从矩阵的左上角,跑到矩形的右下角不能重复经过的格子,小球碰到墙壁就反射。
解法:规律题。先算出来小球一共会经过多少网格(包括重复的在内),再算出来有多少个网格过不止一次,两者相减就可以了。对于n*m的矩形,经过观察可以得到,小球弹跳中经过的网格总数是(n-1)*(m-1)/gcd(n-1,m-1)+1,对于9*15的矩形来说就是57。然后来考虑答案39和57的差值,18。对于18有3*6的组合方式,那么对于3可以(9-1)/gcd(9-1,16-1)-1,对于6可以(15-1)/gcd(9-1,15-1)-1.难道是这样凑出来的???套上去发现恰好可以过样例。。然后就没有然后了。
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(){
LL n,m;
while(~scanf("%lld%lld",&n,&m)){
LL ans = (n-1)/__gcd(n-1,m-1)*(m-1)-((n-1)/__gcd(n-1,m-1)-1)*((m-1)/__gcd(n-1,m-1)-1)+1;
printf("%lld\n", ans);
}
return 0;
}
对于(n−1)×(m−1)gcd((n−1),(m−1))+1
2017北京网络赛 Bounce GCD加找规律的更多相关文章
- 2015北京网络赛 H题 Fractal 找规律
Fractal Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingo ...
- 2017年icpc西安网络赛 Maximum Flow (找规律+数位dp)
题目 https://nanti.jisuanke.com/t/17118 题意 有n个点0,1,2...n-1,对于一个点对(i,j)满足i<j,那么连一条边,边权为i xor j,求0到n- ...
- 2018 北京区域赛 I - Palindromes (找规律)
题目 HihoCoder - 1878 题目大意 给出k,让求出第k个回文数(k的“长度”不超过1e5) 题解 之前做过类似的题,是统计各阶段的数找到第K个回文数,但这里K太大,需要寻找新的方法. 打 ...
- hihocode 1584 : Bounce (找规律)(2017 北京网络赛G)
题目链接 比赛时随便找了个规律,然后队友过了.不过那个规律具体细节还挺烦的.刚刚偶然看到Q巨在群里提到的他的一个思路,妙啊,很好理解,而且公式写起来也容易.OrzQ巨 #include<bits ...
- 2017北京网络赛 F Secret Poems 蛇形回路输出
#1632 : Secret Poems 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The Yongzheng Emperor (13 December 1678 – ...
- hihocoder 1582 : Territorial Dispute (计算几何)(2017 北京网络赛E)
题目链接 题意:给出n个点.用两种颜色来给每个点染色.问能否存在一种染色方式,使不同颜色的点不能被划分到一条直线的两侧. 题解:求个凸包(其实只考虑四个点就行.但因为有板子,所以感觉这样写更休闲一些. ...
- 2017北京网络赛 J Pangu and Stones 区间DP(石子归并)
#1636 : Pangu and Stones 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 In Chinese mythology, Pangu is the fi ...
- 2017 北京网络赛 E Cats and Fish
Cats and Fish 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 There are many homeless cats in PKU campus. They ...
- hihocoder1236(北京网络赛J):scores 分块+bitset
北京网络赛的题- -.当时没思路,听大神们说是分块+bitset,想了一下发现确实可做,就试了一下,T了好多次终于过了 题意: 初始有n个人,每个人有五种能力值,现在有q个查询,每次查询给五个数代表查 ...
随机推荐
- The Bells are Ringing UVALive - 4060(枚举求解)
输出整数N,使得 t1 <= N 统计有多少组t1,t2,t3,满足:1<t1<t2<t3<=1000000,t3-t1<=25,且t1,t2,t3的最小公倍数 ...
- CSU1911 Card Game 【FWT】
题目链接 CSU1911 题解 FWT模板题 #include<algorithm> #include<iostream> #include<cstdlib> #i ...
- 设置debian6源
debian6真的太老了,个人喜欢追新,因为新版本用起来少很多乱七八糟的问题,不过线上有机器跑的这个版本,SO... 1.修改源文件,注释掉不可用的源,添加可用的源 # vim /etc/apt/so ...
- php高效遍历文件夹、高效读取文件
/** * PHP高效遍历文件夹(大量文件不会卡死) * @param string $path 目录路径 * @param integer $level 目录深度 */ function fn_sc ...
- 21天实战caffe笔记_第一天
1 深度学习术语 深度学习常用名词:有监督学习.无监督学习.训练数据集.测试数据集.过拟合.泛化.惩罚值(损失loss); 机器自动学习所需三份数据:训练集(机器学习的样例),验证集(机器学习阶段,用 ...
- linux命令总结之route命令
route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...
- Ansible7:Playbook常用模块
目录 template set_fact pause wait_for assemble add_host group_by debug fail playbook的模块与在ansible命令行下使用 ...
- NATS_06:NATS队列验证与监控
1. NATS 之 Queueing(队列)模式验证 主要以下讲的都是基于 NATS 服务已经开启了(没有开启的请运行:gnatsd 启动):还有请注意所有运行的 go 文件都是在 $GOPATH/s ...
- IIS Media Service: Channel 小结
IIS Media Service 对Channel的Schema可以在浏览器中输入http://{0}:{1}/services/smoothstreaming/publishingpoints.i ...
- java反射动态加载类Class.forName();
1,所有的new出来的对象都是静态加载的,在程序编译的时候就会进行加载.而使用反射机制Class.forName是动态加载的,在运行时刻进行加载. 例子:直接上两个例子 public class Ca ...