首页 > 其他分享 >洛谷 P1749 [入门赛 #19] 分饼干 II 题解

洛谷 P1749 [入门赛 #19] 分饼干 II 题解

时间:2024-01-27 14:22:39浏览次数:18  
标签:dots P1749 19 题解 ll long ge 饼干

题目传送门

先给结论:记 \(S=1+2+\dots+k\),则当 \(N\ge S\) 时为 YES,当 \(N<S\) 时为 NO

严谨一点,证明如下:

若能成功分配饼干,记 \(k\) 名小朋友拿到的饼干数量分别为 \(a_1,a_2,\dots,a_k\)。由于饼干数量各不相同且均为整数,不妨设 \(a_1<a_2<\dots<a_k\),则 \(a_2\ge a_1+1,a_3\ge a_2+1,\dots,a_k\ge a_{k-1}+1\)。由饼干数量至少为 \(1\) 得 \(a_1\ge 1\),所以 \(a_2\ge a_1+1\ge 2,a_3\ge 3.\dots,a_k\ge k\),不等式相加即得 \(a_1+a_2+\dots+a_k=N\ge 1+2+\dots+k=S\)。充分性得证。

若 \(a_1+a_2+\dots+a_k=N\ge 1+2+\dots+k=S\),则一定存在这样一组解:

\[a_i=\begin{cases}k+N-S&&i=k\\k&&0<i<k\end{cases} \]

该解满足题目要求。必要性得证。

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll T, N, k, S;
int main(void) {
  cin >> T;
  while (T--) {
    cin >> N >> k;
    S = (1+k) * k / 2; // 等差数列求和公式
    if (N >= S) cout << "Yes\n";
    else cout << "No\n";
  }
  return 0;
}

标签:dots,P1749,19,题解,ll,long,ge,饼干
From: https://www.cnblogs.com/uxod/p/17991383/p1749-solution

相关文章

  • P4342 [IOI1998] Polygon
    原题链接题解最近做的题目有点多,感觉没什么好讲的,某个最大值一定是由连续区间上的节点操作后得来的\(Code\)#include<bits/stdc++.h>usingnamespacestd;intf[105][105][2];intmain(){memset(f,-0x3f3f3f,sizeoff);intn;cin>>n;charop[105];......
  • 题解 NOIP2014 提高组-联合权值
    题解NOIP2014提高组-联合权值基本思路:以每个点为中转点,则与之相邻的点组成的点对都可产生联合权值,并且全覆盖。主要总结一下两种求权值和的思路:思路1(容斥):记与\(u\)相邻的点的集合为\(A\),则点\(u\)产生的贡献为\[ans_u=(\sum_{v\inA}w_i)^2-\sum_{v\inA}w_v\times......
  • P9550 「PHOI-1」晚宴筵题解
    题解简化一下题意,已知从\((p,q)\)直接到达\((x,y)\)的费用函数如下:\[\text{cost}(p,q,x,y)=\begin{cases}w_p+w_q+w_x+w_y-p-q-x-y,&l1_x\lep\ler1_x,l2_y\leq\ler2_y\\\text{inf},&\text{otherwise}\\\end{cases}\]问从\((1,1)\)到各位置的最小费用......
  • P2602 数字计数 题解
    QuestionP2602数字计数求\([a,b]\)中的所有整数中,每个数出现的次数Solution数位DP板子题定义\(dp[i]\)表示\(i\)位数的每种数字有多少个,我们把\(0\)和\(00\)看成两种不同的数,并且\(00\)中算\(0\)出现过两次显然,\(0\sim9\)在\(i\)位数中出现的次数是一样......
  • 洛谷题解-P2712 摄像头
    https://www.luogu.com.cn/problem/P2712可以看出是拓扑排序,因为是有前后关系的,但是坑点在于点并不连续,值得记录一下(刚开始70分,后来才AC)注意坑点:拓扑排序,遍历的点不连续 #include<bits/stdc++.h>usingnamespacestd;constintN=1e5+5;intn,x,m,y,d[N],cnt=0,v......
  • markdown图床问题解决
    写博客不仅要以文字形式记录,更重要的是把自己曾经的截图记录下来,更方便下次使用。所以有必要搞一个稳定的图床生成图片链接。一开始我是用的Github,新建一个仓库上传图片,优点是方便,缺点是网络不用魔法图片经常加载不出来。后来看到网上一些博主推荐使用七牛云图片存储,为此我购买......
  • 19素数
    19素数题目描述素数,也称质数,是指大于等于2且只能被1和它本身整除的正整数。输出100->200之间的素数的个数,以及所有的素数。输入格式无输出格式输出包含两行:第一行输出的素数的个数第二行输出100->200之间所有的素数,每个素数间用一个空格隔开,最后一个素数后无空格。样例输......
  • CF1654G Snowy Mountain 题解
    题目链接点击打开链接题目解法很牛的题显然可以\(O(n)\)多源\(bfs\)求出\(h_i\)考虑从\(st\)开始最优的操作是什么?先延最短路径到\(p\),然后找到\(p\)的相邻点\(q\),满足\(h_p=h_q\),在\(p,q\)之间横跳,耗完所有动能,然后直接滑下去(不经过高度相同的点)为什么到\(p......
  • [西湖论剑 2022]web部分题解(更新中ing
    [西湖论剑2022]NodeMagicalLogin环境!启动!(ノへ ̄、)这么一看好像弱口令啊,(不过西湖论剑题目怎么会这么简单,当时真的傻),那就bp抓包试一下(这里就不展示了,因为是展示自己思路,这里就写了一下当时的NC思路,其实是不对的┭┮﹏┭┮)不是BP弱口令?那好吧,我们先看一下源码,比赛的时候是给了源......
  • Altair SimSolid常见问题解答 衡祖仿真
    Q:SimSolid究竟有什么特别之处?A:AltairSimSolid是专为设计工程师开发的结构分析软件且非常有创新性。它消除了传统FEA中特别耗时和非常专业的两项庞大任务——几何结构简化和网格划分,是一场仿真变革。简而言之,就是不用做几何简化,不用画网格,复杂装配体数量没有上限,真实三维模型直......