期望得分: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的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  3. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  4. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  5. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  6. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  7. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  8. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

  9. CH Round #52 - Thinking Bear #1 (NOIP模拟赛)

    A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...

  10. CH Round #49 - Streaming #4 (NOIP模拟赛Day2)

    A.二叉树的的根 题目:http://www.contesthunter.org/contest/CH%20Round%20%2349%20-%20Streaming%20%234%20(NOIP 模 ...

随机推荐

  1. Android开发第二阶段(5)

    今天:对图片的替换修改,使整个app的图案化更美观. 明天:对Android的对sdcard的操作学习

  2. Improving the Safety, Scalability, and Efficiency of Network Function State Transfers

    Improving the Safety, Scalability, and Efficiency of Network Function State Transfers 来源:ACM SIGCOMM ...

  3. Python学习 - 入门篇2(更新中)

    前言 学习渠道:慕课网:Python进阶 记录原因:我只是想边上课边做笔记而已,呵呵哒 食用提示:教程环境基于Python 2.x,有些内容在Python 3.x中已经改变 函数式编程 定义:一种抽象 ...

  4. 栈和队列在python中的实现

    栈和队列是两种基本的数据结构,同为容器类型.两者根本的区别在于: stack:后进先出 queue:先进先出 PS:stack和queue是不能通过查询具体某一个位置的元素而进行操作的.但是他们的排列 ...

  5. 第三章 ServerSpcket用法详解

    构造ServerSocket ServerSocket的构造方法如下: ServerSocket() //Creates an unbound server socket. ServerSocket( ...

  6. vim 末行模式简单练习

    练习 1 . 复制/etc/grub2.cfg文件至/tmp目录中,用查找替换命令删除/tmp/grub2.cfg文件中以空白字符开头的行的行首的空白字符 :%s#^[[:space:]]\+##g ...

  7. script 执行的三种方式

    <script>: 脚本的获取和执行是同步的.此过程中页面被阻塞,停止解析. <script defer = "defer">:脚本的获取是异步的,执行是同 ...

  8. Ubuntu的IP地址配置

    概况和需求: 我的主机上有两块网卡,识别后分别是eth0和eth1.eth0配置需要为静态ip,eth1配置为使用动态主机协议获取ip地址. 步骤: 首先碰到的一个问题就是不知道eth0和eth1对应 ...

  9. 【前端】JS截取字符串常用方法详细整理

    函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组 例子: str=”jpg|bmp|gif|ico|png”; arr=theString.split(”|”); //arr ...

  10. 2月4日 考试——迟到的 ACX

    迟到的 ACX 时限:1s 内存限制:128MB题目描述: 今天长沙下雪了,小 ACX 在上学路上欣赏雪景,导致上学迟到,愤怒的佘总给 ACX 巨佬出了一个题目想考考他,现在他找到你,希望你能帮帮他. ...