news 2026/8/7 14:31:26

xtuoj矩形

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
xtuoj矩形

这道题的思路是:

1.将数据排序、去重、统计次数

2.分为正方形和普通矩形处理,其中普通矩形处理运用了二分求解的思想,通过枚举每一条边x,找到其对应的上值maxy与下值miny,则对这一x满足条件的y也就是矩形个数有right-left+1个,要注意正方形只能计一次,1&2和2&1是同一种,所以在找left和right的时候要加一个判断:left=left>i?left:i+1(left=i为正方形,前面已经计算过了,left<i会有1&2和2&1重复请款)

#include<stdio.h> #include<stdlib.h> #define maxn 100005 typedef long long ll; typedef struct { ll b; int count; }node; node nodes[maxn]; ll a[maxn]; int cmp(const void*a,const void*b){ return *(ll*)a-*(ll*)b; } int find(node*nodes,int m,ll target,int flag){ int l=0,r=m-1,re=flag?m:-1; while(l<=r){ int mid=(l+r)/2; if(flag){ if(nodes[mid].b>=target){ re=mid; r=mid-1; } else l=mid+1; } else{ if(nodes[mid].b<=target){ re=mid; l=mid+1; } else r=mid-1; } }return re; } int main(){ int n; ll l,r; scanf("%d %lld %lld",&n,&l,&r); for(int i=0;i<n;i++){ scanf("%lld",&a[i]); } qsort(a,n,sizeof(ll),cmp); int m=0; for(int i=0;i<n;i++){ if(i==0||a[i]!=a[i-1]){ nodes[m].b=a[i]; nodes[m].count=1; m++; } else nodes[m-1].count++; } ll re=0; for(int i=0;i<m;i++){ ll x=nodes[i].b; if(nodes[i].count>=2&&x*x<=r&&x*x>=l)re++; } for(int i=0;i<m;i++){ ll x=nodes[i].b; ll miny=(l+x-1)/x; ll maxy=r/x; if(miny>maxy)continue; int left=find(nodes,m,miny,1); left=left>i?left:i+1; int right=find(nodes,m,maxy,0); if(left<=right)re+=(right-left+1); } printf("%lld\n",re); return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 14:31:19

基于蚁群算法的时延Petri网(ACOTPN)机器人路径规划算法附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/7/14 15:21:03

大模型函数调用(Function Calling)

在大模型应用开发中&#xff0c;函数调用&#xff08;Function Calling&#xff09;是突破纯文本交互、实现模型与外部工具协同的核心能力。它让大模型不再只做 “语言翻译官”&#xff0c;更能成为 “任务指挥官”—— 识别需要调用的工具、传递正确参数、接收执行结果并给出最…

作者头像 李华
网站建设 2026/7/14 15:21:14

AI Agent基础|LangChain框架入门

1. LangChain框架概述 LangChain是一个用于开发由语言模型驱动的应用程序的开源框架。它提供了一套工具和组件&#xff0c;使开发者能够轻松构建复杂的语言模型应用。 LangChain的核心价值在于&#xff1a; 提供了与语言模型交互的标准接口支持多种语言模型提供商&#xff0…

作者头像 李华
网站建设 2026/7/14 15:21:11

腾讯的Qclaw是被调教过的,除了慢点对于小白来说非常简单好用

腾讯的Qclaw是被调教过的&#xff0c;除了慢点对于小白来说非常简单好用让他把文章利用我的MCP服务接口发小红书&#xff1b;他知道检查技能是否存在&#xff0c;不存在知道自己去skillhub上查找了安装进去&#xff0c;这点我是没有想到的。我的CoPaw 会利用网页浏览器的形势去…

作者头像 李华