A Theatre Square(数学)

算出每行能装多少乘以每列能装多少就行

公式

ans=ceil(n/a)+ceil(m/a)

代码

#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long n,m,a;
cin>>n>>m>>a;
cout<<(n/a+(n%a!=0))*(m/a+(m%a!=0));
}

B Spreadsheets(字符串模拟)

先得看出这是一个26进制的转换然后会发现一个问题,这个26进制从1开始到26跟一般的从0-25是有区别的

解决的办法是转换的时候统一用m-1替换m但是条件还是判断m是不是等于0

sscanf真心好用啊

代码

#include <bits/stdc++.h>
char s[666666],ss[666666];
void print(int x)
{
if(!x)
return;
print((x-1)/26);
putchar('A'+(x-1)%26);
}
int main()
{
int t,n,m;
scanf("%d",&t);
while(t--)
{
double sum=0;
scanf("%s",s);
if(sscanf(s,"R%dC%d",&n,&m)==2)
print(m),printf("%d\n",n);
else
{
sscanf(s,"%[A-Z]%d",ss,&n);
int len=strlen(ss);
for(int i=0;i<len;i++)
sum+=(ss[i]-'A'+1)*pow(26,len-i-1);
printf("R%dC%.0f\n",n,sum);
}
}
}

C Ancient Berland Circus(数学)

完全的高考题,可以出在高考第一个数学大题,三角函数上

给定平面内的三个点,计算由这三个点构成的正多边形的面积

首先计算出外接圆

外接圆的公式是abc/4s

abc是三个点组成的三条线段的长度

s是三角形的面积

s可以用海伦公式求

s=sqrt(p(p-a)(p-b)(p-c))

其中p=(a+b+c)/2

然后计算多边形的边数

先求出三角形的三个内角用余弦定理

例如角A=acos((bb+cc-aa)/(2b*c))

其他的一样

然后找出三个角的最大公因数ang=gcd(A,B,C)=gcd(gcd(A,B),C)

边数n=pi/ang

这里因为圆周角是圆心角的一半所以原本的公式是2pi/2ang化简得到n=pi/ang

然后正多边形的面积就是n个等腰三角形的面积也就是

S=n1/2rrsin(2*pi/n)

代码

#include <bits/stdc++.h>
using namespace std;
double gcd(double a,double b)
{
return a<0.01?b:gcd(fmod(b,a),a);
}
double pi=acos(-1);
int main()
{
/*ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);*/
double x1,y1,x2,y2,x3,y3;
cin>>x1>>y1>>x2>>y2>>x3>>y3;
double a=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
double b=sqrt((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3));
double c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
double p=(a+b+c)/2;
double s=sqrt(p*(p-a)*(p-b)*(p-c));
double r=(a*b*c)/(4*s);
double A=acos((b*b+c*c-a*a)/(2*b*c));
double B=acos((a*a+c*c-b*b)/(2*a*c));
double C=acos((a*a+b*b-c*c)/(2*b*a));
double ang=gcd(gcd(A,B),C);
double n=pi/ang;
printf("%.6f",n/2.0*r*r*sin(2*pi/n));
}

Codeforces Beta Round #1 补题题解的更多相关文章

  1. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  2. Codeforces Beta Round #5 B. Center Alignment 模拟题

    B. Center Alignment 题目连接: http://www.codeforces.com/contest/5/problem/B Description Almost every tex ...

  3. Codeforces Beta Round #62 题解【ABCD】

    Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...

  4. 水题 Codeforces Beta Round #70 (Div. 2) A. Haiku

    题目传送门 /* 水题:三个字符串判断每个是否有相应的元音字母,YES/NO 下午网速巨慢:( */ #include <cstdio> #include <cstring> ...

  5. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  6. Codeforces Beta Round #17 D. Notepad (数论 + 广义欧拉定理降幂)

    Codeforces Beta Round #17 题目链接:点击我打开题目链接 大概题意: 给你 \(b\),\(n\),\(c\). 让你求:\((b)^{n-1}*(b-1)\%c\). \(2 ...

  7. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  8. Codeforces Beta Round #70 (Div. 2)

    Codeforces Beta Round #70 (Div. 2) http://codeforces.com/contest/78 A #include<bits/stdc++.h> ...

  9. Codeforces Beta Round #63 (Div. 2)

    Codeforces Beta Round #63 (Div. 2) http://codeforces.com/contest/69 A #include<bits/stdc++.h> ...

随机推荐

  1. Mysql数据库的触发器、存储引擎和存储过程

    数据库的触发器 1.触发器 触发器是MySQL响应以下任意语句而自动执行的一条MySQL语句(或位于BEGIN和END语句之间的一组语句): DELETE,INSERT,UPDATE 我们可以监视某表 ...

  2. Gym 100531J Joy of Flight (几何)

    题意:你从开始坐标到末尾坐标,要经过 k 秒,然后给你每秒的风向,和飞机的最大速度,问能不能从开始到末尾. 析:首先这个风向是不确定的,所以我们先排除风向的影响,然后算出,静风是的最小速度,如果这都大 ...

  3. Android Debuggerd 简要介绍和源码分析(转载)

    转载: http://dylangao.com/2014/05/16/android-debuggerd-%E7%AE%80%E8%A6%81%E4%BB%8B%E7%BB%8D%E5%92%8C%E ...

  4. E20170519-ts

    numeric adj. 数字的; 数值的; nibble   vt. 啃,一点一点地咬(吃); rational adj. 理性的; 合理的; n. 合理的事物; [数] 有理数; numerato ...

  5. json知识笔记

    1.全称:JavaScript  Object Notation 2.数据格式 3. 数据结构-object String+基本类型(或者数据结构) 数据结构-Array [基本类型] 4.一个样例a ...

  6. bzoj 1600: [Usaco2008 Oct]建造栅栏【dp】

    要求三边和大于第四边,所以任意一条边的长度都是小于n/2 设f[i][j]为前i条长为j,转移的时候用n/2限制 #include<iostream> #include<cstdio ...

  7. 徐州联赛选拔赛 - 计算IP地址值

    题目链接 思路:这是一道非常简单的题目,直接用公式计算就好了.对于IP地址a.b.c.d,转换为十进制数就是(a<<24)|(b<<16)|(c<<8)|d.唯一要 ...

  8. P4148 简单题(KDTree)

    传送门 KDTree 修改权值当做插入节点,不平衡就暴力重构,询问的时候判断当前节点代表的矩形是否在询问的矩形的,是的话返回答案,相离返回0,否则的话判断当前点是否在矩形内,然后继续递归下去 //mi ...

  9. Web Scraping with R: How to Fill Missing Value (爬虫:如何处理缺失值)

    网络上有大量的信息与数据.我们可以利用爬虫技术来获取这些巨大的数据资源. 这次用 IMDb 网站的2018年100部最欢迎的电影 来练练手,顺便总结一下 R 爬虫的方法. >> Prepa ...

  10. (DP ST表 线段树)51NOD 1174 区间中最大的数

    给出一个有N个数的序列,编号0 - N - 1.进行Q次查询,查询编号i至j的所有数中,最大的数是多少.   例如: 1 7 6 3 1.i = 1, j = 3,对应的数为7 6 3,最大的数为7. ...