NOIP模拟4
期望得分:20+100+100=220
实际得分:20+100+100=220
特判相离、内含
对于两圆相交的情况,一直在考虑求交点
实际上相交的面积可以用两个扇形减去两个三角形
正弦定理、余弦定理来搞搞
#include<cmath>
#include<cstdio>
#include<algorithm>
using namespace std;
const double pi=acos(-1.0);
const double eps=1e-;
double Two_point_dis(double x1,double yy1,double x2,double yy2)
{
return sqrt((x1-x2)*(x1-x2)+(yy1-yy2)*(yy1-yy2));
}
double circle_S(double r)
{
return pi*r*r;
}
int main()
{
freopen("standing.in","r",stdin);
freopen("standing.ans","w",stdout);
int T;
scanf("%d",&T);
double x1,yy1,r1,x2,yy2,r2;
while(T--)
{
scanf("%lf%lf%lf%lf%lf%lf",&x1,&yy1,&r1,&x2,&yy2,&r2);
double dis=Two_point_dis(x1,yy1,x2,yy2);
if(dis>=r1+r2)
{
printf("%.3lf\n",circle_S(r1)+circle_S(r2));
continue;
}
if(dis<=fabs(r1-r2))
{
printf("%.3lf\n",max(circle_S(r1),circle_S(r2)));
continue;
}
else
{
double ans=circle_S(r1)+circle_S(r2);
double j1=acos((r1*r1+dis*dis-r2*r2)/(*r1*dis));
double l1=j1**r1;
double j2=acos((r2*r2+dis*dis-r1*r1)/(*r2*dis));
double l2=j2**r2;
double s1=l1*r1*0.5;
double s2=l2*r2*0.5;
double s=r1*dis*sin(j1);
ans-=(s1+s2-s);
printf("%.3lf\n",ans);
}
}
}
约瑟夫环问题
公式推导:http://blog.csdn.net/u011500062/article/details/72855826?locationNum=6&fps=1
#include<cstdio>
using namespace std;
int main()
{
freopen("resist.in","r",stdin);
freopen("resist.out","w",stdout);
int n,k,ans=;
scanf("%d%d",&n,&k);
for(int i=;i<=n;i++)
ans=(ans+k)%i;
printf("%d",ans+);
}
贪心
最大值:
什么视图要求为x,就把对应的位置全弄成x
所以最后每个位置的高度为min(left[j],front[i])
最小值:
先看主视图
如果主视图i=左视图j,且之前第j列没有高度能满足左视图j,那么(i,j)的高度就是主视图i
否则,任选一个左视图j>=主视图i的j,(i,j)的高度为主视图i
再看左视图
j已经被满足,忽略
否则,任选一个主视图i<=左视图j的i,(i,j)的高度为左视图j
#include<cstdio>
#include<iostream>
#define N 1011
using namespace std;
int n,m;
int front[N],leftt[N];
int maxn[N][N],minn[N][N];
int sumd,sumx;
bool have[N];
void read(int &x)
{
x=; char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) { x=x*+c-''; c=getchar();}
}
int main()
{
freopen("neighbor.in","r",stdin);
freopen("neighbor.out","w",stdout);
read(n); read(m);
for(int i=;i<=n;i++) read(front[i]);
for(int i=m;i;i--) read(leftt[i]);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
maxn[i][j]=front[i];
for(int j=;j<=m;j++)
for(int i=;i<=n;i++)
maxn[i][j]=min(maxn[i][j],leftt[j]);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
sumd+=maxn[i][j]; bool ok;
for(int i=;i<=n;i++)
{
ok=false;
for(int j=;j<=m;j++)
{
if(have[j]) continue;
if(leftt[j]==front[i]) { minn[i][j]=front[i]; have[j]=ok=true; break; }
}
if(ok) continue;
for(int j=;j<=m;j++)
if(leftt[j]>=front[i]) { minn[i][j]=front[i]; break; }
}
for(int j=;j<=m;j++)
{
ok=false;
for(int i=;i<=n;i++)
if(minn[i][j]==leftt[j]) { ok=true; break; }
if(ok) continue;
for(int i=;i<=n;i++)
if(minn[i-][j]==leftt[j]) { minn[i-][j]=; minn[i][j]=leftt[j]; ok=true; break; }
if(ok) continue;
for(int i=;i<=n;i++)
if(leftt[j]<=front[i]) { minn[i][j]=leftt[j]; break; }
}
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
sumx+=minn[i][j];
printf("%d %d",sumx,sumd);
}
NOIP模拟4的更多相关文章
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
- CH Round #58 - OrzCC杯noip模拟赛day2
A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...
- CH Round #52 - Thinking Bear #1 (NOIP模拟赛)
A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...
- CH Round #49 - Streaming #4 (NOIP模拟赛Day2)
A.二叉树的的根 题目:http://www.contesthunter.org/contest/CH%20Round%20%2349%20-%20Streaming%20%234%20(NOIP 模 ...
随机推荐
- Scrum立会报告+燃尽图(十一月二十一日总第二十九次):β阶段第二周分配任务
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2284 项目地址:https://git.coding.net/zhang ...
- 王者荣耀交流协会final冲刺第五次scrum会议
成员王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐,王磊拍照. master:高远博 2.时间跨度 2017年12月5日 18:00 - 18:31,总计31分钟 3.地点 一食堂二楼沙发座椅 ...
- Spring学习(六)—— Spring注解(二)
核心原理 1. 用户发送请求给服务器.url:user.do 2. 服务器收到请求.发现Dispatchservlet可以处理.于是调用DispatchServlet. 3. ...
- Rsyslog的三种传输协议简要介绍
rsyslog的三种传输协议 rsyslog 可以理解为多线程增强版的syslog. rsyslog提供了三种远程传输协议,分别是: 1. UDP 传输协议 基于传统UDP协议进行远程日志传输,也是传 ...
- Halcon 笔记2 Blob分析
1. 数组操作 2. 可视化-更新窗口 (1)单步模式-总是:则可以自动显示图像: (2)单步模式-从不:需要调用显示函数才能显示图像. (3)单步模式-清空显示:将原图清除,再显示新图 3. 图像处 ...
- ViewPager、Fragment、Matrix综合使用实现Tab滑页效果
原文地址:http://www.cnblogs.com/kross/p/3372987.html 我们实现一个上面是一个可以左右滑动的页面,下面是三个可点击切换的tab按钮,tab按钮上还有一个激活条 ...
- opencv 矩阵类数据的运算
参考:http://blog.sina.com.cn/s/blog_7908e1290101i97z.htmlhttp://blog.sina.com.cn/s/blog_afe2af380101bq ...
- 解决Mac下npm权限问题
前言 在学习Vue-CLI3的时候使用了全局安装,提示安装失败,本以为是npm版本问题,在更新npm的过程中又出现了 npm ERR! code: 'EACCES' ,查了一下发现是权限问题. 看到权 ...
- 【bzoj3992】[SDOI2015]序列统计 原根+NTT
题目描述 求长度为 $n$ 的序列,每个数都是 $|S|$ 中的某一个,所有数的乘积模 $m$ 等于 $x$ 的序列数目模1004535809的值. 输入 一行,四个整数,N.M.x.|S|,其中|S ...
- CGLib动态代理引起的空指针异常
一个同事将公司的开发框架基于最新的Spring.Tomcat.Java版本作了部分修改,拿来开发运行之后,发现一个奇怪的空指针异常. 还原一下当时的场景,代码大概如下,所有的Servlet继承自Bas ...