cf593c
题意:有n(n<=50)个圆,给出每个圆的圆心坐标和半径r(r>=2)。
求两个函数f(t),g(t),t的取值为0到50的整数,每次令x=f(t),y=g(t),产生一个51个点的集合。要求这个点集对于每个圆至少有一个点落在圆内或圆周上。
g和f中只能使用常数,加法,乘法,减法,绝对值运算。
输出f和g。
分析:我们设计这样一个多项式,包含n项,当t取值为i的时候,只有第i项的值不为0。其余项均为0。
设计方案是每项都乘以这样一个系数,第i项需要乘以系数1/2×( 1-abs(t-i) + abs( 1 - abs(t-i) ) )。
当只有当i==t的时候该系数才不为0。
原理如下:如果我们设A=1-abs(t-i)的话,那么系数就是(A+abs(A))/2。
当i=1时,A和abs(A)关于未知数t的图像如下图所示。两者相加只有中间的重叠部分不会抵消。
这样我们就让f(t)=sigma(xi/2×( 1-abs(t-i) + abs( 1 - abs(t-i) ) )),由于圆的半径至少为2,所以xi/2取整带来的误差不会产生影响。
g(t)同理。
#include <cstdio>
#include <string>
#include <iostream>
using namespace std; int n; string make(int i, int a)
{
char st[];
sprintf(st, "%d", i);
string num = string(st);
string ret = "((1-abs((t-" + num + ")))+abs((1-abs((t-" + num + ")))))";
sprintf(st, "%d", a/);
num = string(st);
return "(" + num + "*" + ret + ")";
} int main()
{
scanf("%d", &n);
string f = string("");
string g = string("");
for (int i = ; i < n; i++)
{
int x, y, r;
scanf("%d%d%d", &x, &y, &r);
f = "(" + f + "+" + make(i, x) + ")";
g = "(" + g + "+" + make(i, y) + ")"; }
cout << f << endl;
cout << g << endl;
return ;
}
cf593c的更多相关文章
- CF593C Beautiful Function 构造
正解:构造 解题报告: 传送门! 我知道我咕了好几篇博客似乎,,,但我不听!我就是要发新博客QAQ!(理不直气也壮 这题,想明白了还是比较简单的QwQ实现起来似乎也没有很复杂QAQ 首先思考一下,显然 ...
随机推荐
- ASP.NET MVC的运行机制--url的全局分析
全局 首先我们来看一副图片 首先,用户通过Web浏览器向服务器发送一条url请求,这里请求的url不再是xxx.aspx格式,而是http://HostName/ControllerNam ...
- Type.IsContextful 说明
首先看MSDN的说明: 中文:获取一个值,通过该值指示 Type 在上下文中是否可以被承载. 英文:Gets a value indicating whether the Type can be ho ...
- Apache Shiro系列一,概述 —— 初识
一.什么是Shiro Apache Shiro是一个强大.灵活.开源的安全框架,它支持用户认证.权限控制.企业会话管理以及加密等. Apache Shiro的第一个也是最重要的一个目标就是易于使用和理 ...
- LeetCode:3Sum, 3Sum Closest, 4Sum
3Sum Closest Given an array S of n integers, find three integers in S such that the sum is closest t ...
- zabbix 监控web网站性能
一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...
- yii2.0归档安装方法
我前几天用composer安装 一直没成功 我就用归档的方法安装了 所以这篇文字只帮助那些用归档方法安装的朋友 Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架. Yii自带了丰富的功 ...
- bzoj 2527: [Poi2011]Meteors 整体二分
给每个国家建一个链表,这样分治过程中的复杂度就和序列长度线形相关了,无脑套整体二分就可以. (最坑的地方是如果所有位置都是一个国家,那么它的样本个数会爆longlong!!被这个坑了一次,大于p[i] ...
- Python操作RabbitMQ
RabbitMQ介绍 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现的产品,RabbitMQ是一个消息代理,从“生产者”接收消息并传递消 ...
- photoshop拾色器如何恢复默认?
今天在做设计图的时候,遇到一个问题,当时就把我给整蒙了. 问题是这样的,ps的调色器变成了这样,如下: 本来应该是这样: 可能有人已经看出两张图的不同之处了. 但是我当时忙的不得了,恩是不知道哪里除了 ...
- android 性能优化-电量篇
消耗电量的几个主要原因.功能:1.大数据量的网络传输(网络)2.不停的网络切换(网络)3.解析大量的数据(CPU) 关于网络方面的优化: .网络请求之前,检查网络连接.没有网络连接不进行请求 .判断网 ...