11.12模拟考T2(GCD)
2.梅花桩
(blossom.pas/c/cpp)
【问题描述】
小x在练习一门轻功,这门轻功是在梅花桩上跳来跳去,这门轻功是严格按照直线从一个梅花桩直接跳到另外一个梅花桩上。因为小x有恐高症,所以除了开始和结束的两个梅花桩,这条直线上不能有其他梅花桩,否则小x会真气中断,直接掉下来。
小x的梅花桩有W+1行,H+1列,每个梅花桩之间距离都是1米,严格按照上下左右排列,小x的轻功最少能跳L1米,最多能跳L2米。
作为一位爱思考的数学青年,小x想到了一个问题:有多少对梅花桩对小x来说是安全的,或者说有多少对梅花桩能保证小x练习这门轻功。
例如如下的地图:
W = 2 H = 1
**
**
**
而小x跳跃的长度为2和3之间。
这个梅花桩共有 (2+1) * (1+1) = 6个点以及有15 种配对方法
(0,0)-(0,1) (0,0)-(2,1) (0,1)-(2,1) (1,1)-(2,0)
(0,0)-(1,0) (0,1)-(1,0) (1,0)-(1,1) (1,1)-(2,1)
(0,0)-(1,1) (0,1)-(1,1) (1,0)-(2,0) (2,0)-(2,1)
(0,0)-(2,0) (0,1)-(2,0) (1,0)-(2,1)
在这之中,只有四种是可以满足小x跳跃长度的
始位 末位 长度 始位 末位 长度
(0,0)-(2,0) 2.00 (0,1)-(2,0) 2.24
(0,0)-(2,1) 2.24 (0,1)-(2,1) 2.00
但在这四种之中,(0,0)-(2,0)和(0,1)-(2,1)都不符合直线上没有其他梅花桩的要求,所以这个样例中只有2种结果。
【输入】
一行,4个整数W, H, L1, 和 L2
【输出】
一行。可能的方案数。
【输入输出样例】
|
blossom.in |
blossom.out |
|
2 1 2 3 |
2 |
【数据范围】
50%数据 0<w,h,L1,L2<=100
100% 数据 1 <= L1 <= L2 <= 1,500 1 <= W <= 1,000; 1 <= H <= 1,000
思路:
50%的分很好拿(四重循环)。
但是如何拿满分?(这个问题好)HOW
首先,如果L1<=1时,所有相邻为一的点都满足要求。
if(l1<=)
ans=ans+w*(h+)+h*(w+);

显然,当w=3,h=3时有(w+1)*h+h*(w+1);
然后,就枚举(x,y)到(0,0)的距离。如果小于L2,大于L1则算出有多少那样的矩形*2.
ans+=(w+1-x)*(h+1-y)
cpp:
#include<iostream>
#include<string>
#include<ctime>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<queue>
#include<iomanip>
using namespace std;
const int maxn=;
int w,h,l1,l2;
long long ans=;
int gcd(int a,int b)
{
return b==?a:gcd(b,a%b);
} int main()
{
freopen("blossom.in","r",stdin);
freopen("blossom.out","w",stdout);
ios::sync_with_stdio(false);
cin>>w>>h>>l1>>l2;
if(l1<=)
ans=ans+w*(h+)+h*(w+);
for(int i=;i<=w;i++)
{
for(int j=;j<=h;j++)
{
int x=i*i+j*j;
if(x>=l1*l1&&x<=l2*l2)
{
x=gcd(i,j);
if(x==)
{
ans=ans+(w-i+)*(h-j+)*;
}
}
}
}
cout<<ans<<endl;
return ;
}
11.12模拟考T2(GCD)的更多相关文章
- 11.12模拟考T1(可持续优化)PS:神奇的东西
1.数列操作 (array.pas/c/cpp) [问题描述] 现在有一个数列,最初包含0个数.现在要对数列操作n次,操作有3类. 1) a k,在数列的最后插入一个整数k 2) s 将最近插入的 ...
- 2014.11.12模拟赛【最小公倍数】| vijos1047最小公倍数
最小公倍数(lcm.c/.cpp/.pas) 题目描述 给定两个正整数,求他们的最小公倍数. 样例输入 28 12 样例输出 84 数据范围 对于40%数据:1<=a,b<=10^9 对于 ...
- 2014.11.12模拟赛【美妙的数字】| vijos1904学姐的幸运数字
美妙的数字(number.c/.cpp/.pas) 题目描述 黄巨大认为非负整数是美妙的,并且它的数值越小就越美妙.当然0是最美妙的啦. 现在他得到一串非负整数,对于每个数都可以选择先对它做二进制非运 ...
- NOIp 11.11/12
最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...
- 【2018.06.26NOIP模拟】T2号码bachelor 【数位DP】*
[2018.06.26NOIP模拟]T2号码bachelor 题目描述 Mike 正在在忙碌地发着各种各样的的短信.旁边的同学 Tom 注意到,Mike 发出短信的接收方手机号码似乎都满足着特别的性质 ...
- [第一波模拟\day1\T2]{分班}(divide.cpp)
[题目描述] 小N,小A,小T又大了一岁了. 现在,他们已经是高二年级的学生了.众所周知,高二的小朋友是要进行文理科分班考试的,这样子的话,三个好朋友说不定就会不分在一个班. 于是三个人决定,都考平均 ...
- 18/9/22NOIP模拟考
18/9/22NOIP模拟考 其实本来是有多组数据的,出题人忘记在题面上加了 斜眼笑 期望得分:100:实际得分:100 由于种种原因,拿到题的时候已经过去了0.5h+... 然后因为这道题数据范 ...
- 9.11 myl模拟赛
9.11 myl 模拟赛 100 + 100 + 0 第一题耗费了太多的时间,导致最后一题没有时间想,直接去写了暴力,而且出题人没有给暴力分.... Problem 1. superman [题目描述 ...
- JZOJ2020年8月11日提高组T2 宝石
JZOJ2020年8月11日提高组T2 宝石 题目 Description 见上帝动了恻隐之心,天后也想显示一下慈悲之怀,随即从口袋中取出一块魔术方巾,让身边的美神维纳斯拿到后堂的屏风上去试试,屏风是 ...
随机推荐
- Dojo的Gridx使用jsonrest需要注意的地方
在使用gridx时,如果要使用jsonrest,主要的工作主要是在服务端,服务端在返回数据时,必须在返回头里添加Content-Range: 0-9/73 属性和值,其中0表示从第0条记录开始,9表示 ...
- CSS布局学习笔记之position
CSS知识点 之 position布局 前段时间被同学怂恿,参加了百度前端技术学院的一个小培训,第一个阶段下来学到不少东西.课程的第一个阶段主要是HTML5 和 CSS 基础知识的一个小培训,给出的一 ...
- people have been arrested under other offences instead.
Homosexuality is not explicitly banned in Egypt but gay people have been arrested under other offenc ...
- 学习Find函数和select
Find函数其实就类似于在excel按下Ctrl+F出现的查找功能:在某个区域中查找你要找的字符,一旦找到就定位到第一个对应的单元格.所以Find函数的返回值是个单元格,也就是个range值.举例,s ...
- centos 6 SSH配置Google Authentication 验证
创建工作目录: mkdir google-authentication 1. 安装二维码生成依赖 #wget http://fukuchi.org/works/qrencode/qrencode-3. ...
- C++ 四种类型转换
在写代码中经常会有很多的隐式类型转换或显式类型转换. 对于隐式的类型转换主要是放生在赋值的时候,讲变量赋值给不同类型的变量的时候就会发生类型转换,如果是宽化转换(即从占字节少的类型向占字节多的类型转换 ...
- HTTP2试用小记
原文:https://www.clarencep.com/2016/11/17/upgrade-nginx-to-support-http2/ 这两天把公司的网站升级到了全站https. 顺便瞄到了H ...
- hdu 2088
ps: 超级超级水的一道题....就是格式问题要注意... 除了第一个数据,其他的每个数据都要有个空行比如: 4 1 2 3 4 3 4 //这是空行 1 2 3 4 3 4 //这是空行 代码: ...
- Struts2 配置文件result的name属性和type属性
Struts2 配置文件result的name属性和type属性:Name属性SUCCESS:Action正确的执行完成,返回相应的视图,success是 name属性的默认值: NONE:表示Act ...
- PAT题库-1064. Complete Binary Search Tree (30)
1064. Complete Binary Search Tree (30) 时间限制 100 ms 内存限制 32000 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHE ...