【JZOJ 4330】【清华集训模拟】几何题

工业互联网工控安全与工业质检AI大模型建设方案.pptx 立即下载

Description

这里写图片描述

Solution

这题的复杂度是O(106log(106))的FFT(害怕.jpg)
预处理cnt[i][j][k]表示x,y,z的差为i,j,k的有多少对,
首先,xi−xj可以变成xi+(mx−xj),(mx为最大xi)
那么每位都是非负数了,
现在要做3维的多项式乘法,
考虑用2mx进制存储这三个数,压在一起变一个数,这样就把3维变成1维了,直接用FFT
剩下的就是卡常了,看我的代码吧,

复杂度:O((77∗2)3∗log((77∗2)3))

Code

#include <cstdio>
#include <algorithm>
#include <cmath>
#define fo(i,a,b) for(register int i=a;i<=b;++i)
#define min(q,w) ((q)>(w)?(w):(q))
#define max(q,w) ((q)<(w)?(w):(q))
#define pre(q) ((q)*(q))
#define JS(q,w,e) ((q)*pre(mx+1)*4+(w)*(mx+1)*2+(e))
using namespace std;
typedef double db;
typedef long long LL;
const int M=(1<<22)+5;
const db PI=acos(-1);
int read(int &n)
{
    char ch=' ';int q=0,w=1;
    for(;(ch!='-')&&((ch<'0')||(ch>'9'));ch=getchar());
    if(ch=='-')w=-1,ch=getchar();
    for(;ch>='0' && ch<='9';ch=getchar())q=q*10+ch-48;n=q*w;return n;
}
int m1,n,mx;
db ans;
struct Z
{
    db x,y;
    Z(db _x=0,db _y=0){x=_x;y=_y;}
    friend Z operator +(Z q,Z w){return Z(q.x+w.x,q.y+w.y);}
    friend Z operator -(Z q,Z w){return Z(q.x-w.x,q.y-w.y);}
    friend Z operator *(Z q,Z w){return Z(q.x*w.x-q.y*w.y,q.x*w.y+q.y*w.x);}
}c1[M],c[M],ansf[M];
int b1[M],b2[M];
db Ans[M];
void DFT(Z *a,int n,int K)
{
    fo(i,0,n-1)
    {
        int q=0;
        for(int j=i,k=n-1;k;k>>=1,j>>=1)q=(q<<1)+(j&1);
        c[q]=a[i];
    }
    for(int I=2;I<=n;I<<=1)
    {
        register int mid=I>>1;
        Z W(cos(K*PI/mid),sin(K*PI/mid));
        for(int j=0;j<n;j+=I)
        {
            Z w(1.0,0);
            fo(i,j,j+mid-1)
            {
                Z t=c[i+mid]*w;
                c[i+mid]=c[i]-t;
                c[i]=c[i]+t;
                w=w*W;
            }
        }
    }
    if(K<0)fo(i,0,n-1)c[i].x=c[i].x/n;
}
void FFT()
{
    int m=(1<<22);
    fo(i,0,m)c1[i]=Z(b1[i],b2[i]);
    DFT(c1,m,1);
    db ax,ay,bx,by;
    fo(i,0,m-1)
    {
        int j=(m-i)&(m-1);
        ax=(c[i].x+c[j].x)/2,ay=(c[i].y-c[j].y)/2;
        bx=(c[i].y+c[j].y)/2,by=(c[j].x-c[i].x)/2;
        c1[i].x=ax*bx-ay*by;
        c1[i].y=ax*by+ay*bx;
    }
    DFT(c1,m,-1);
}
int main()
{
    freopen("geometry.in","r",stdin);
    freopen("geometry.out","w",stdout);
    int q,w,e;
    read(n),read(m1);
    mx=77;
    fo(i,1,n)
    {
        read(q),read(w),read(e);
        ++b1[JS(q,w,e)];
        ++b2[JS(mx-q,mx-w,mx-e)];
    }
    FFT();
    fo(i,0,2*mx)
    {
        register int x=i-mx;
        fo(j,0,2*mx)
        {
            register int y=j-mx;
            fo(k,0,mx*2)
            {
                if(pre(x)+pre(y)+pre(k-mx)!=0)
        Ans[JS(i,j,k)]=(1.0/sqrt(pre(pre(x))+pre(pre(y))+pre(pre(k-mx))))*((LL)(c[JS(i,j,k)].x+0.4));
            }
        }
    }
    fo(I,1,m1)
    {
        register int t1,t2,t3,t4;
        t1=read(q),t2=read(q),t3=read(q),t4=read(q);
        ans=0;
        fo(i,0,2*mx)
        {
            register int x=i-mx;
            fo(j,0,2*mx)
            {
                register int y=j-mx;
                fo(k,0,mx*2)
                {
                    ans+=abs(t1*x+t2*y+t3*(k-mx)+t4)*Ans[JS(i,j,k)];
                }
            }
        }
        printf("%.10lf\n",ans/(n-1.0)/n);
    }
    return 0;
} 
2024 《计算机网络》实验教学指导书.doc 立即下载

相关推荐

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

[JZOJ4330] 【清华集训模拟】几何题

题目 题目大意 也懒得解释题目大意了…… 正解 正解居然是\(FFT\)? 不要看题目的那个式子这么长,也不要在那个式子上下手。 其实我们会发现,不同的\((x_i-x_j,y_i-y_j,z_i-z_j)\)并不多。 如果我们求出每个三元组的出现次数,后面的就好做了。 那怎么求呢? 祭出我们的大杀器——\(FFT\)。 考虑只有一个维怎么做。设两个多项式分别为\(A\)和\(B\)。...

weixin_30855099的博客 123

在Ubuntu 22.04 LTS上搞定Intel Quartus Prime 22.1和QuestaSim:一份保姆级的安装与License配置指南

本文提供在Ubuntu 22.04 LTS上安装和配置Intel Quartus Prime 22.1与QuestaSim的详细指南。涵盖依赖安装、环境变量设置、License配置及常见问题解决,帮助FPGA开发者快速搭建稳定的开发环境。特别针对Ubuntu系统优化,确保工具链高效运行。

weixin_29208077的博客 318

【AtCoder】【AGC011f】Train Service Planning

Description有一条地铁线路,n段路,n+1个站,每段路可以同时交汇走两辆车或只能走一辆车, 每个站可以停车,停车不占用线路, 现在每隔Kmin发一次车,分别从起点/终点开向终点/起点,

2502

Python+Seaborn可视化:双因素方差分析结果这样呈现更专业

本文详细介绍了如何利用Python中的Seaborn和statsmodels库,专业地执行并可视化双因素方差分析结果。通过模拟实验数据,演示了从模型构建、统计检验(包括交互作用分析)到诊断验证的全流程。重点展示了如何使用Seaborn绘制交互效应图、组合分布图及热图,将复杂的统计结果转化为直观、富有洞察力的可视化图表,助力科研论文与商业报告的专业呈现。

weixin_29274969的博客 136

使用JAVA代码转word文档之动态生成数据填充(图文详解)

今天跟公司对接了业务,根据业务需求,乙方需求文档是word格式的,而我们的数据是动态数据,每生成一份数据,就要以word的形式给乙方一份邮件!这就给了我们的工作一定的难度和挑战! 通过阅读资料,团队的帮助以及自我测试,终于实现了这个功能!因为在搜索资料方面,发现各位博主讲的比较模糊,自己碰到了很多bug,浪费了很多宝贵的时间,所以今天写了这篇文章,希望对自己以后或者他人有所帮助! 操作第一步:先准...

huaiyan 7719

【JZOJ 6080】【GDOI2019模拟2019.3.23】IOer

Description m种物品,第i种物品的权值为(ui+v)(ui+v)(ui+v),每种物品有无数个,一种取法的代价为所取物品权值乘积, 问取n个物品的所有不同取法的代价和, 两个取法不同当且仅当存在一种物品在两个方案中取得数量不同, n≤1018,m≤2∗105,mo=109+7n\leq10^{18},m\leq 2*10^5,mo=10^9+7n≤1018,m≤2∗105,mo=109...

1485

《AFSim 2.9中文参考手册》

本栏目将对《AFSim 2.9中文参考手册》进行持续更新,欢迎关注交流!对本文或者AFSIM相关内容感兴趣的朋友,可私心联系作者。《AFSim 2.9中文参考手册》内容概览。

henggesim的博客 1万+

【JZOJ 5241】【GDOI2018模拟8.8】苹果和雪梨

Description作为新开的水果连锁店店员,你需要把总部发给你的苹果和雪梨分组出售,从而获得最 大利润。 总部发给你的水果包括: n 个苹果,质量分别为a1,a2…an n 个雪梨,质量分别为b1,b2…bn。 你卖的是盒装水果,一盒水果包括一个苹果和一个雪梨,苹果的质量乘上雪梨的质量就 是这盒水果的价钱。把苹果雪梨配对分成总共n 盒水果后,你要把价格最高的一盒返还给 水果店总部,

1124

Visual C++与WPF混合开发:C++/CLI桥接技术实现现代化桌面应用

在桌面应用开发领域,混合编程技术是连接不同技术栈、复用核心资产的关键手段。其核心原理在于通过特定的桥接层,实现托管代码与非托管代码之间的互操作,从而打破语言和运行时环境的壁垒。这项技术的核心价值在于,它允许开发者将高性能、高稳定性的原生C++业务逻辑库,与现代化、高表现力的WPF用户界面无缝结合,避免了重写核心代码的巨大成本和风险。在工业控制、数据可视化、上位机软件等对性能和界面均有高要求的应用场景中,这种架构尤为适用。本文以C++/CLI作为桥接技术,详细演示了如何构建一个包含原生C++核心层、C++/C

weixin_33146151的博客 275

基于Mind+、MOTT实现人工智能

@基于Mind+、MOTT实现人工智能 人工智能实验 一、实验目的及要求 【一】实现人脸识别 【二】实现云数据库应用 【三】实现测温数据mqtt上传至物联网云平台 二、实验原理与内容 基于二哈实现多人人脸学习和识别 基于TinywebDB实现云数据库应用 基于EasyIoT实现mqtt数据上传。 三、实验软硬件环境 硬件:掌控板 软件:Mind+ 四、实验过程(实验步骤、记录、数据、分析) 1.基于二哈实现多人人脸学习和识别 ①在Mind+扩展上的传感器选项选择HUSKYLENS AI 摄像头 ②配置哈士

weixin_44606930的博客 2370

【JZOJ 5887】【NOIP2018模拟9.27】作业

Description 小L在完成他的集合论作业时遇到了这样一题:一颗n个节点的树,定义F(u,d)为到u距离不超过d的点组成的集合,求不同的F(u,d)的数量。 Solution 先抛出结论:Ans=∑min(fx+2,gx)Ans=\sum min(f_x+2,g_x)Ans=∑min(fx​+2,gx​) fxf_xfx​表示当然点子树中,距离最远的点的距离(经过边数) gxg_xgx​表示...

784

忆阻器(二)——忆阻模拟器

除了真实的器件,我们也可以用运放和乘法器来搭忆阻模拟器。这节将介绍数学模型、matlab仿真及multisim仿真。 一、数学模型 忆阻分为磁控和荷控两种,这里介绍三次非线性磁控忆阻模型: {I=W(φ)VW(φ)=a+3bφ2dφdt=V \begin{cases} I=W(\varphi)V \\ W(\varphi)=a+3b \varphi ^2\\ \frac{d \varphi }{dt}=V \end{cases} ⎩⎪⎨⎪⎧​I=W(φ)VW(φ)=a+3bφ2dtdφ​=V​ 这里的WWW

http://www.icfgblog.com/ 1万+

【AtCoder】【AGC009E】Eternal Average

Description 有n个0,m个1,每次你从这里面取出K个数,取平均值后再把平均值放回去,求最后的答案有多少种取值。 保证(n+m-1)|k Solution 把最后的答案放在K进制下考虑, 如果一个1在第x层,对答案的贡献就是在K进制下的第-x位+1, 那我们可以考虑每次把K进制数的一位+1,操作m次 如果全部为1,答案显然为1, 也就是说,如果随便操作m次,最后出来的K进...

784

【使用DeepSeek辅助Python接口性能自动化测试教程-实战教程】

访问DeepSeek官方网站,注册账号并获取API Key。此Key是调用DeepSeek API的必要凭证,务必妥善保管。安装时,注意勾选“Add Python to PATH”选项,以便系统能识别Python命令。确保你已安装Python 3.8或更高版本。会自动发现并执行所有以。

Dreams°的博客 2465

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【JZOJ 5411】【NOIP2017提高A组集训10.22】友谊

DescriptionFlowey 是一朵能够通过友谊颗粒传播LOVE 的小花.它的友谊颗粒分为两种, 圆粒的和皱粒的,它们依次排列组成了一个长度为2m 的序列.对于一个友谊颗 粒的序列,如果存在1<=i<j<=2m1<=i<j<=2m,满足以下条件: 1)i 为偶数,j 为奇数 2)第i 颗友谊颗粒和第j 颗友谊颗粒同为圆粒或同为皱粒 3)第i 颗友谊颗粒和第j 颗友谊颗粒都还没有被使用

781

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【AtCoder】【AGC013D】Piling Up

Description 你有一堆黑白球和一个盒子, 一开始,盒子里有n个不知道颜色的球, 接下来,你要对盒子进行m次操作: 1. 随机从盒子里取出一个球; 2. 往盒子里放一黑一白俩球; 3. 再随机从盒子里取出一个球; 这样你总共会拿出2m个球, 求拿出的这些球有多少总可能(有序), Solution 首先,盒子里总会有n个球, 设DP:f[i][j]表示,做了i次操作...

766

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【JZOJ 5683】【GDSOI2018模拟4.22】Prime

Description 求 ∑xk∑xk\sum x^k 其中,x为n以内的质数,答案对1e9+7取模 n≤1012n≤1012n\leq 10^{12} Solution 用Min_25筛,拉格朗日差值算自然数幂和, 当然这是不够的,还要加上数据结构的优化, Code #include &amp;amp;amp;lt;cstdio&amp;amp;amp;gt; #include &amp;amp;amp;lt;algorithm&amp;amp;am

765

【JZOJ 5557】写诗

Description 给出一个长度为n的排列aaa,求是否存在一个三元组(i,j,k)满足:i&lt;j&lt;ki&lt;j&lt;kiai&lt;aj&lt;akai&lt;aj&lt;aka_iaj&lt;ai&lt;akaj&lt;ai&lt;aka_jax&lt;aiax&lt;aia_x< a_i时,如果ai−ax)≤min(ai,n−ai)ai−ax)≤min(ai,n−a

748

【2021 HDU多校集训第一场】03. Puzzle loop

Description 给你一个n*m的网格图,你需要在这个网格图上选择若干条边,需要满足以下条件: 所有选出来的边需要构成若干个环,每条被选中的边必须在至少一个环内; 环与环只能存在交点,不能存在交边; 同时网格图上每个格子还有一个权值a[i][j]=0/1/−1a[i][j]=0/1/-1a[i][j]=0/1/−1,表示与这个格子相邻的4条边中,必须要有偶数个或者奇数个的边被选中,-1表示无限制。 求所有选边的方案数,mod 998244353, 2<=n,m<=172<=n,m

728

【JZOJ 6079】【GDOI2019模拟2019.3.23】染色问题

Description m≤n+5,k,n≤105m\leq n+5,k,n\leq10^5m≤n+5,k,n≤105 Solution 1 这个图只有5条返祖边所以才能做, 先把所有有返祖边的点拿出来,(姑且叫做返祖点) 自然地,考虑容斥,枚举一条返祖边的两个点是否同色,以及返祖边点之间的染色情况, 枚举后DP计算,设fx,if_{x,i}fx,i​表示点x染颜色i时的方案数,注意颜色0表示其...

670

【AtCoder】【ARC072F】Dam

Description 有一坐体积为m的水库,每天早上会有水流进来,晚上会放水, 每天流进来的水的温度和体积都可能不同,俩温度不同的水混合后的温度为:t1∗v1+t2∗v2v1+v2t1∗v1+t2∗v2v1+v2\frac{t1*v1+t2*v2}{v1+v2}, 假设水的温度不受其他因数影响,求第x天(x=1~n)中午水的温度最高多少(水库第x天的水必须是满的)。 当然要保证水库不会水...

654

【JZOJ 5405】【NOIP2017提高A组模拟10.10】Permutation

Description你有一个长度为n 的排列P 与一个正整数K 你可以进行如下操作若干次使得排列的字典序尽量小 对于两个满足|i-j|>=K 且|Pi-Pj| = 1 的下标i 与j,交换Pi 与PjSolution看到这种有绝对值的题,看那个绝对值不爽,想办法去掉, 设a[pi]=ia[p_i]=i,那么现在的问题就是相邻的数,如果差值大于等于k就可以交换, 那么,如果有两个位置i,j,

650

【AtCoder】【AGC017F】Zigzag

Description 给出一个类似杨辉三角的三角形,要求在上边选出m条走n步的路径,并满足: 1. 每条路径只能往左下/右下走,; 2. 第i+1条路径必须在第i条路径的右侧(可以重合); 在给出一些要求,规定第x条路径的第y步一定往左下/右下走。 求方案数mod109+7mod109+7\mod10^9+7 Solution 题意转化:构造m个n位二进制数,设si,xsi,xs_...

648

【UOJ 351】新年的叶子

Description 对于一棵树,每次随机染黑一个叶子(可能会重复染黑),期望多少次后直径变小?. Solution 其实这题正确的题意应该是:对于每种直径与原图不同的染色方案,在第多少步时直径变小,求期望吗, 也就是:我们会不停的染色下去,每种方案的权值为它直径第一次变小的时候。 先考虑直径R为偶数的情况: 这种情况下,显然可以找到一个点root,使得所有的直径都经过它,以这个...

634
上一篇: 【JZOJ 3976】【NOI2015模拟1.17】⑨
下一篇: 【容斥妙用】快速求积的和
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值