Codeforces Round #198 (Div. 2)A,B题解
Codeforces Round #198 (Div. 2)
昨天看到奋斗群的群赛,好奇的去做了一下,
大概花了3个小时Ak,我大概可以退役了吧
那下面来稍微总结一下
A. The Wall
Iahub and his friend Floyd have started painting a wall. Iahub is painting the wall red and Floyd is painting it pink. You can consider the wall being made of a very large number of bricks, numbered 1, 2, 3 and so on.
Iahub has the following scheme of painting: he skips x - 1 consecutive bricks, then he paints the x-th one. That is, he'll paint bricks x, 2·x, 3·x and so on red. Similarly, Floyd skips y - 1 consecutive bricks, then he paints the y-th one. Hence he'll paint bricks y, 2·y, 3·y and so on pink.
After painting the wall all day, the boys observed that some bricks are painted both red and pink. Iahub has a lucky number a and Floyd has a lucky number b. Boys wonder how many bricks numbered no less than a and no greater than b are painted both red and pink. This is exactly your task: compute and print the answer to the question.
2 3 6 18
3
Let's look at the bricks from a to b (a = 6, b = 18). The bricks colored in red are numbered 6, 8, 10, 12, 14, 16, 18. The bricks colored in pink are numbered 6, 9, 12, 15, 18. The bricks colored in both red and pink are numbered with 6, 12 and 18.
一句话题意:给你a,b,n,m,求在[n,m](闭区间)内有多少个数可以同时整除a和b
很显然非常清真的一道A题,题意很明晰,
求出a,b的最小公倍数,然后求出n以内和m以内各有几个,
最后相减,注意因为是闭区间,所以要特判n是否符合
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,n,m;
scanf("%d%d%d%d",&a,&b,&n,&m);
int lcs=a/__gcd(a,b)*b,ans1=n/lcs,ans2=m/lcs;
if (n%lcs==) ans1--;
printf("%d",ans2-ans1);
}
B. Maximal Area Quadrilateral
Iahub has drawn a set of n points in the cartesian plane which he calls "special points". A quadrilateral is a simple polygon without self-intersections with four sides (also called edges) and four vertices (also called corners). Please note that a quadrilateral doesn't have to be convex. A special quadrilateral is one which has all four vertices in the set of special points. Given the set of special points, please calculate the maximal area of a special quadrilateral.
5
0 0
0 4
4 0
4 4
2 3
16.000000
In the test example we can choose first 4 points to be the vertices of the quadrilateral. They form a square by side 4, so the area is 4·4 = 16.
一句话题意:给你n个点,让你选出四个点,使得这四个点组成的四边形面积最大
感觉这道题其实有D题的难度,可参见考试时A掉人数:A>D>C>B>E
首先我们可以把一个四边形分成两个三角形来求
这样那我们可以O(n^2)枚举对角线,然后就可以求出上三角形的最大值和下三角形的最大值
我们就可以得出最大的四边形的面积,
求三角形面积可以用叉积,这样,就可以得到了O(n^3)的了
***如果不会叉积的,极力推荐去学习一下计算几何初步
#include <cstdio>
#include <complex>
#include <algorithm>
using namespace std;
typedef complex<int> xint;
const int inf=;
xint point[];
int crs(xint a,xint b){
return (a.real()*b.imag()-a.imag()*b.real());
} int main(){
int n,s=; scanf("%d",&n);
for (int i=,x,y;i<n&&==scanf("%d %d",&x,&y);++i)
point[i]=xint(x,y);
for (int i=;i<n;++i)
for (int j=i+;j<n;++j){
int a=inf,b=-inf;
for (int k=;k<n;++k){
int c=crs(point[k]-point[i],point[j]-point[i]);
if(c<) a=min(a,c); else if(c>) b=max(b,c);
if(a<&&b>) s=max(s,b-a);
}
}
printf("%.8lf\n",s/2.0);
}
Codeforces Round #198 (Div. 2)A,B题解的更多相关文章
- Codeforces Round #198 (Div. 2)C,D题解
接着是C,D的题解 C. Tourist Problem Iahub is a big fan of tourists. He wants to become a tourist himself, s ...
- Codeforces Round #612 (Div. 2) 前四题题解
这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...
- Codeforces Round #672 (Div. 2) A - C1题解
[Codeforces Round #672 (Div. 2) A - C1 ] 题目链接# A. Cubes Sorting 思路: " If Wheatley needs more th ...
- Codeforces Round #198 (Div. 2)E题解
E. Iahub and Permutations Iahub is so happy about inventing bubble sort graphs that he's staying all ...
- Codeforces Round #198 (Div. 2) E. Iahub and Permutations —— 容斥原理
题目链接:http://codeforces.com/contest/340/problem/E E. Iahub and Permutations time limit per test 1 sec ...
- Codeforces Round #614 (Div. 2) A-E简要题解
链接:https://codeforces.com/contest/1293 A. ConneR and the A.R.C. Markland-N 题意:略 思路:上下枚举1000次扫一遍,比较一下 ...
- Codeforces Round #610 (Div. 2) A-E简要题解
contest链接: https://codeforces.com/contest/1282 A. Temporarily unavailable 题意: 给一个区间L,R通有网络,有个点x,在x+r ...
- Codeforces Round #611 (Div. 3) A-F简要题解
contest链接:https://codeforces.com/contest/1283 A. Minutes Before the New Year 题意:给一个当前时间,输出离第二天差多少分钟 ...
- Codeforces Round #198 (Div. 1) D. Iahub and Xors 二维树状数组*
D. Iahub and Xors Iahub does not like background stories, so he'll tell you exactly what this prob ...
随机推荐
- CNN结构:SPP-Net为CNNs添加空间尺度卷积-神经元层
前几个CNN检测的框架要求网络的图像输入为固定长宽,而SPP-Net在CNN结构中添加了一个实现图像金字塔功能的卷积层SPP层,用于在网络中实现多尺度卷积,由此对应多尺度输入,以此应对图像的缩放变换和 ...
- [Intermediate Algorithm] - Binary Agents
题目 传入二进制字符串,翻译成英语句子并返回. 二进制字符串是以空格分隔的. 提示 String.charCodeAt() String.fromCharCode() 测试用例 binaryAgent ...
- 11.02 跳过表中n行
select x.enamefrom (select a.ename,(select count(*)from emp bwhere b.ename <=a.ename) as rnfrom e ...
- js-构造数组
js中,字符串的特性跟数组非常类似.数组是一种很重要的数据结构.在java中,数组声明的时候就要为其指定类型,数组中只能放同一种类型的数据.Js中的数组可以放不同的类型,但是是有序的,类似于java中 ...
- 移动端APP UI规范
- jQuery默认select选择第一个元素
$("#id option:first").prop("selected", 'selected');
- 洛谷 P1068 分数线划定【排序+模拟】
世博会志愿者的选拔工作正在 A 市如火如荼的进行.为了选拔最合适的人才,AA市对 所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试.面试分数线根 据计划录取人数的150\%150%划 ...
- CodeVS 1013&1029
若干二叉树遍历的数据结构题. Problem 1013 传送门:http://codevs.cn/problem/1013/ 本题是一个数据结构——二叉树遍历问题. 对二叉树,给定中序遍历序列(In- ...
- android debug签名文件
现象 可以运行程序,但不能启动安装成功的软件 并且run application的时候也不弹出界面. 路径: C:\Users\sunfb\.android 下替换debug.keystore 就OK
- Fleury算法 求欧拉回路
Fleury算法 #include <iostream> #include <cstdio> #include <cstring> #include <cma ...