CF593C Beautiful Function 构造

正解:构造

解题报告:

传送门!

我知道我咕了好几篇博客似乎,,,但我不听!我就是要发新博客QAQ!(理不直气也壮

这题,想明白了还是比较简单的QwQ实现起来似乎也没有很复杂QAQ

首先思考一下,显然不可能构造出一个简单的函数就能通过所有的圆,一定是要一个个对症下药的

那反正我们要让它一一对应干脆就让它都穿过圆心嘛多方便

然后就考虑,怎么做到让它都穿过圆心呢

显然我们最好是能做出一个函数大概长这样:f(t)=h1(t)+h2(t)+h3(t)+...

然后我们通过某种方式使得它刚好取到第一个圆圆心位置x1的时候只有h1有值为y1,其他各项都=0

第二个圆第三个圆同理

那怎么构出来呢?

为什么不问问神奇绝对值呢?

于是考虑到绝对值的美妙性质

然后就做完了

具体怎么利用不难请读者自行课后思考

大概说下怎么构造出来趴,,,QwQ

首先我们要知道我们需要的h1(t)可以满足只有在t=t1时有值其他时候是没有值的

然后我们就可以这样:

令d=|t-t1| 做出(1-d+|1-d|)

当t1!=t时d>0且d为整数,所以d>=1,然后就会变成1-d-(1-d)=0

只有x1=x时d=0就变成1+1=2

欧克理解了绝对值怎么用之后就差不多了鸭

就对圆i,就给f加上⌊xi/2⌋*(1-d+|1-d|)  给g加上⌊yi/2⌋*(1-d+|1-d|)

然后就做完了!

昂对了还有就是,因为这里的/2是直接向下取整了的嘛

所以事实上它有可能不能通过圆心,而是离圆心有1的距离

但是因为它保证了每个圆的r>=1所以没有关系!

最后吐槽一下,,,它的输出极玄学的,,,我jio得你会这题思路并不能说明你能A此题,,,反正我最后依然没有理解到底要怎么个输出法,,,规则极多:D

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define rp(i,x,y) for(register ll i=x;i<=y;++i)

inline ll read()
{
    register char ch=getchar();register ll x=0;register bool y=1;
    while(ch!='-' && (ch>'9' || ch<'0'))ch=getchar();
    if(ch=='-')ch=getchar(),y=0;
    while(ch>='0' && ch<='9')x=(x<<1)+(x<<3)+(ch^'0'),ch=getchar();
    return y?x:-x;
}

int point[51][3],n;

void solve(int l , int r , int dir)
{
    if(l==r)printf("(%01d*abs(((1-abs((t-%d)))+abs((abs((t-%d))-1)))))",point[l][dir]/2,l,l);
    else{printf("(");solve(l,(l+r)>>1,dir);printf("+");solve(((l+r)>>1)+1,r,dir);printf(")");}
}

int main()
{
    n=read();
    rp(i,1,n)point[i][0]=read(),point[i][1]=read(),point[i][2]=read();\
    solve(1,n,0);printf("\n");solve(1,n,1);
    return 0;
}
所以这个是拿的神仙的代码,,,只改了下格式和读入QAQ

 

weixin028基于微信小程序小说阅读器设计+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值