首页 > 其他分享 >[POI2014] PAN-Solar Panels

[POI2014] PAN-Solar Panels

时间:2023-08-15 19:15:13浏览次数:40  
标签:lfloor right last int POI2014 rfloor Solar PAN left

区间 \(\left( l,r \right]\) 中存在 \(n\) 的倍数的充要条件是 \(\left\lfloor \frac{r}{n}\right\rfloor > \left\lfloor \frac{l}{n}\right\rfloor\)。

证明:记有整数 \(k\) 满足 \(k \times n \in \left( l,r \right]\)。

那么有

\[\displaystyle l < k \times n \leqslant r \Longleftrightarrow \dfrac{l}{n} < k \leqslant \dfrac{r}{n} \Longleftrightarrow \left\lfloor \frac{l}{n}\right\rfloor < \left\lfloor \frac{r}{n}\right\rfloor \]

证毕。

记 \(\gcd(x,y)=k\),我们可以枚举 \(k\),因为 \(a \leqslant x \leqslant b\),所以我们可以枚举 \(k\)。

但暴力枚举 \(k\) 肯定是会超时,那我们就用整除分块优化。

没学过整除分块可以看这个

Code

#include <bits/stdc++.h>

using namespace std;

int n;
int a,b,c,d;
int last,ans;

int main() {
#ifdef ONLINE_JUDGE == 1
    freopen("melina.in","r",stdin);
    freopen("melina.out","w",stdout);
#endif
    cin >> n;
    for(int t = 1;t <= n; t++) {
        cin >> a >> b >> c >> d;

        for(int i = 1;i <= b && i <= d; i = last + 1) {
            last = min(d / (d / i),b / (b / i));
            // 整除分块的右端点,实际是范围内的最大值 
            if(b / last > (a - 1) / last && d / last > (c - 1) / last)
                ans = last;// 利用性质 
        }

        cout << ans << "\n";
    }
#ifdef ONLINE_JUDGE == 1
    fclose(stdin);
    fclose(stdout);
#endif
    return 0;
}

标签:lfloor,right,last,int,POI2014,rfloor,Solar,PAN,left
From: https://www.cnblogs.com/baijian0212/p/solution-p3579.html

相关文章

  • 使用Pandas进行数据清理的入门示例
    数据清理是数据分析过程中的关键步骤,它涉及识别缺失值、重复行、异常值和不正确的数据类型。获得干净可靠的数据对于准确的分析和建模非常重要。本文将介绍以下6个经常使用的数据清理操作:检查缺失值、检查重复行、处理离群值、检查所有列的数据类型、删除不必要的列、数据不一......
  • 【pandas小技巧】--日期相关处理
    日期处理相关内容之前pandas基础系列中有一篇专门介绍过,本篇补充两个常用的技巧。1.多列合并为日期当收集来的数据中,年月日等信息分散在多个列时,往往需要先合并成日期类型,然后才能做分析处理。合并多列转换为日期类型,可以直接用to_datetime函数来处理:importpandasaspddf......
  • python - 将数据附加到 Pandas 全局数据框变量不会持久
    https://www.coder.work/article/5047954我正在尝试使用pandasdataframe全局变量。但是,当我尝试将数据框重新分配或附加到全局变量时,数据框是空的。任何帮助表示赞赏。importpandasaspddf=pd.DataFrame()defmy_func():globaldfd=pd.DataFrame()fo......
  • Japanese-computer1
    目录null1.設定\せってい\setting2.検索\けんさく\search3.言語\ごんご\speech4.優先する言語\ゆうせんするごんご\preferredlanguage5.言語の追加\ごんご、ついか\Addlanguage6.MicrosoftEdgeについて\AboutMicrosoftEdge7.バージョン\バージョン\version8......
  • pandas-基础数据结构
    pandas-基础数据结构目录pandas-基础数据结构数据结构Series创建Series常用操作索引缺失数据添加和修改删除DataFrame创建DataFrame常用操作索引和切片添加和修改索引后修改删除参考资料数据结构Pandas的主要数据结构是Series(一维数据)与DataFrame(二维数据)⽆论是numpy中的NAN......
  • # yyds干货盘点 #通过pandas读取列的数据怎么把一列中的负数全部转为正数?
    大家好,我是皮皮。一、前言前几天在Python最强王者群【wen】问了一个pandas数据处理的问题,一起来看看吧。二、实现过程这里【隔壁......
  • c、Pandas
    Pandas官网:http://pandas.pydata.org/文档:中文文档:https://www.pypandas.cn/docs/Pandas是一个高性能的数据操作和分析工具。它在Numpy的基础上,提供了一种高效的DataFrame数据结构,使得在Python中进行数据清洗和分析非常快捷。Pandas采用了很多Numpy的代码风格,但最大的不同在......
  • MySQL全文搜索的高级特性:查询扩展(Query Expansion)
    查询扩展(QueryExpansion)是全文搜索的一个高级特性,尤其对于某些搜索需求来说非常有用。它是基于原始查询返回的结果来进一步扩展并改进搜索结果的过程。当用户执行全文搜索查询时,可能会遇到以下情况:查询结果太少或没有。由于用户不熟悉正确的术语或关键字,查询不准确。在这些......
  • [数据分析与可视化] Python绘制数据地图5-MovingPandas绘图实例
    MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据。关于MovingPandas的使用见文章:MovingPandas入门指北,本文主要介绍三个MovingPandas的绘图实例。MovingPandas官方仓库地址为:movingpandas。MovingPandas官方示例代码仓库地址为:movin......
  • Japanese
    学习计划:目标N3。参考链接:https://www.mojidict.com/searchhttps://www.bilibili.com/video/BV1es41127PE/?spm_id_from=333.337.search-card.all.click&vd_source=4a4ba6a9f77a47baa2fb5b4fbc472c15报名链接:https://jlpt.neea.cn/faq.html日语能力报名时间:注册个人信息......