题意:有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的更多相关文章

  1. CF593C Beautiful Function 构造

    正解:构造 解题报告: 传送门! 我知道我咕了好几篇博客似乎,,,但我不听!我就是要发新博客QAQ!(理不直气也壮 这题,想明白了还是比较简单的QwQ实现起来似乎也没有很复杂QAQ 首先思考一下,显然 ...

随机推荐

  1. Centos7 防火墙简介(一)

    Centos7下的防火墙默认是通过一个守护进程(firewalld)为网络(network) 以及与之相关的连接(connections)和接口(interface)提供一个可信层,同时支持网络空间( ...

  2. OrchardNoCMS vNext如何在VS2015下调试

    由于VS2015还没有出来正式版,ASP.NET 5也是没有出来正式版.所以在你下载了OrchardNoCMS vNext的代码后,需要配置一些东西,才能启动项目,开始调试. 需要注意以下几点: 1. ...

  3. Learning to rank 介绍

    PS:文章主要转载自CSDN大神hguisu的文章"机器学习排序":          http://blog.csdn.net/hguisu/article/details/79 ...

  4. 使用caffe训练自己的CNN

    现在有这样的一个场景:给一张行人的小矩形框图片, 根据该行人的特征识别出性别. 分析: (1),行人的姿态各异,变化多端.很难提取图像的特定特征 (2),正常人肉眼判别行人的根据是身材比例,头发长度等 ...

  5. RPC

    那是N年前的一天,老王在看一本讲java的技术书(可惜忘了叫啥名字了),突然看到有一章讲RMI的,立马就觉得很好奇.于是乎,就按书上所讲,写了demo程序.当时也就只知道怎么用,却不知道什么原理.直到 ...

  6. 【51Nod 1616】【算法马拉松 19B】最小集合

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1616 这道题主要是查询一个数是不是原有集合的一个子集的所有数的gcd. ...

  7. TWRP基于omnirom 6.0.1编译教程

    1.环境搭配 参照CM13.0编译笔记http://www.cnblogs.com/dinphy/p/5670293.html 参照SM 2.0 编译笔记http://www.cnblogs.com/ ...

  8. 解决:/bin/sh: 1: /home/**/custom_app.sh: Permission denied错误

    出现如下错误,一般是执行权限不够. /bin/sh: : /home/custom_app.sh: Permission denied 解决方法是:cd 到此文件目录,对提示的文件赋予可执行权限或读写 ...

  9. bae上传图片失败

    出错原因:bae不支持文件写入.

  10. 回归树|GBDT|Gradient Boosting|Gradient Boosting Classifier

    已经好久没写了,正好最近需要做分享所以上来写两篇,这篇是关于决策树的,下一篇是填之前SVM的坑的. 参考文献: http://stats.stackexchange.com/questions/545 ...