首页 > 其他分享 >P7909 [CSP-J 2021] 分糖果

P7909 [CSP-J 2021] 分糖果

时间:2024-10-23 12:32:32浏览次数:6  
标签:P7909 lfloor right frac int rfloor 2021 CSP left

结论题

题面概括

请在 $[l,r]$ 中找出一个数 $k$,使得 $n$ % $k$ 的值最大.

思路

当 $n \le 10^9$ 时,说明 $\Theta (n)$ 的算法已经结束了.

所以,接下来是结论推理.

当 $\left \lfloor \frac {l} {n} \right \rfloor = \left \lfloor \frac {r} {n} \right \rfloor$ 时,$r$ % $n$ 的值明显是最大的.

当 $\left \lfloor \frac {l} {n} \right \rfloor < \left \lfloor \frac {r} {n} \right \rfloor$ 时,说明 $[l,r]$ 之间至少有一个 $n$ 的倍数,设这个数为 $x$.显然,当 $k = x$ 时,

不可能时 $n$ % $k$ 的值最大,所以, 当 $k = x-1$,时,$n$ % $k$的值最大.

代码

#include<iostream>
#include<cstdio>
using namespace std;

int n, l, r;

int main() {
	scanf("%d%d%d", &n, &l, &r);
	if (r / n > l / n) printf("%d", n - 1);
	else printf("%d", r % n);
	return 0;
}

标签:P7909,lfloor,right,frac,int,rfloor,2021,CSP,left
From: https://www.cnblogs.com/panda-lyl/p/18496118

相关文章

  • P7910 [CSP-J 2021] 插入排序 题解
    正解首先要注意$2$点:修改数组元素的值会影响接下来的操作.对数组进行排序不会影响接下来的操作.思路直接扫一遍数组.假设排序后$a_x$会在第$p$位上.将$p$初始化为$n$.然后就开始找$x$前后有多少个小于$a_x$的值就行了.时间复杂度:$\Theta(nq)$.注意......
  • P7911 [CSP-J 2021] 网络连接 题解
    模拟代码#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;intn,p=1,ans[1003];//没事干的ans数组structnode{ stringop,ad;}a[1003];intws(intn){//位数 intsum=0; if(n==0)return1; while(n){ n......
  • P8816 [CSP-J 2022] 上升点列 题解
    最长上升子序列根据题目中,每个坐标的横纵坐标均单调递增,所以明显可以使用最长上升子序列.定义状态$f_{i,p}$,表示正在节点$i$时,还剩下$p$次插入机会,所能达到的最大长度.定义变量$dis=|x_i-x_j|+|y_i-y_j|-1.$,表示$i$到$j$节点至少要插$dis$个节点.为什么要$-1$......
  • P8814 [CSP-J 2022] 解密 题解
    解方程$题目中说,n=pq,ed=(p-1)(q-1)+1,m=n-ed+2.$$把ed的式子展开,得到:$$ed=p(q-1)-(q-1)+1$$ed=pq-p-q+2$$再把展开后的式子带入m中,得:$$m=n-(pq-p-q+2)+2.$$m=n-pq+p+q-2+2$$\becausen=pq$$\thereforem=pq-pq+p+q-2+2$$m=p+q.$$如果想要求出p和q的值,那么可以再......
  • P8815 [CSP-J 2022] 逻辑表达式 题解
    短路我们可以使用一个变量来记录当前有没有短路.设变量短路为$dl$.当$dl$为$0$时,说明当前值为$0$,且运算符为&.当$dl$为$1$时,说明当前值为$1$,且运算符为|.代码重点讲完了,细节可以看代码以及注释.#include<iostream>#include<cstdio>#include<cstring>using......
  • Day12 备战CCF-CSP练习
    Day12题目描述西西艾弗岛上共有\(n\)个仓库,依次编号为\(1∼n\)。每个仓库均有一个\(m\)维向量的位置编码,用来表示仓库间的物流运转关系。具体来说,每个仓库\(i\)均可能有一个上级仓库\(j\),满足:仓库\(j\)位置编码的每一维均大于仓库\(i\)位置编码的对应元素。比如......
  • 准备CSP 复赛
    用来方便自己复习版本C++14目录快读和快输注意事项缺省源快读和快输链接:浅谈C++IO优化——读优输优方法集锦最全快读、快写模板「持续更新」-凌云_void-博客园读入、输出优化-OIWiki打的时候一定要注意运算符优先级QWQ(有时候真的很难发现)错误示例:int......
  • P9751 [CSP-J 2023] 旅游巴士 题解
    思路首先,举一个例子,假如说小Z到了入口,但是没到时间,所以没法进去,该怎么办?当然是等$k$个时间单位呀.除此之外,像到了其他景区,但是还没开门怎么办?继续等$k$的非负整数倍时间呀.知道这个后,我们先定义状态$f_{i,j}$,表示到达点$i$时,路径长度(即时间)$mod$$k$的最早时......
  • P9749 [CSP-J 2023] 公路 题解
    此题贪心食用更佳在输入油价的时候,我们边计算油价的最小值和路程和.当路程之和$>0$时,计算油价并且减去对应路程即可.注意事项要开$long$$long$!!!.代码#include<iostream>#include<cstdio>#include<cmath>#include<cstring>usingnamespacestd;typedeflonglo......
  • P9750 [CSP-J 2023] 一元二次方程 题解
    大模拟此题大模拟即可,只需注意几点:分母$>0$.要给根式化简.分数要约分.求较大根,那就$b^2$加$\bigtriangleup$即可.分母>0因为求根公式中,分母中只有$a$一个未知数,所以我们只需保证$a>0$即可.所以,当$a<0$时,我们把$a,b,c$全部取相反值.但这也是......